Multibooting

Aleksandar Milivojevic amilivojevic at pbl.ca
Thu Nov 25 15:50:03 UTC 2004


Wilson Woon wrote:
> Hi all....
> 
> I'm trying to install Windows XP, Fedora Core 3 and RedHat Linux 9 all
> in one hard disk. At first I installed Windows XP and then Fedora Core
> 3. I use the Grub loader to load both of them. However, when it comes
> to RedHat 9, I'm not sure how to do? How do I configure the Grub
> loader so that it will detect RedHat 9 as well? Do I need to install
> the Grub loader when installing RedHat 9 since  already have one?
> How do I solve this problem? Please help. I don't mind reformatting
> the whole HDD if necessary...

Simple.  Don't install or configure any boot loader with RedHat9.  Than 
boot into FC3 and edit grub.conf.  Copy the lines you have for FC3 (they 
start with title line, and there's usually three more lines), and edit 
them accordingly.  You'll probably end up with something like this:

title Red Hat Linux 9 (2.4.xx-xx)
         root (hd0,0)
         kernel /boot/vmlinuz-2.4.xx-xx ro root=/dev/hda1
         initrd /boot/initrd-2.4.xx-xx.img

title Fedora Core 3 (2.6.xx-xx)
         root (hd0,1)
         kernel /boot/vmlinuz-2.6.xx-xx ro root=/dev/hda2
         initrd /boot/initrd-2.6.xx-xx.img

Rreplace xx-xx with your kernel version.  Of course, you'll need to 
replace all references to disks and partitions to match your actual 
configuration.

The root line tells wich disk and which partition on it contains file 
system where your kernel is.  Second two lines tell where relative to 
this root your kernel and initrd images are (so really, two kernel lines 
are pointing to two different directories, one is pointing to /boot on 
hda0,0, the other is pointing to /boot on hd0,1).  Root option in kernel 
line isn't for boot loader, it is for kernel.  It is not the same as 
root line in grub.conf.  That option tells kernel which partition to 
mount as root file system during boot.

Grub and kernel are numerating disks differently, so root line and root 
option are likely to be different.  Grub starts counting with 0, kernel 
starts counting with 1 for both partitions and disks.  So "root (hd0,0)" 
and "root=/dev/hda1" from above example are referencing the same disk 
(grub hd0 is kernel hda) and same partition (grub hd0,0 is therefore 
kernel hda1, and grub hd0,1 is what kernel sees as hda2).

If you have /boot as separate file system in your Red Hat 9 install, 
root line in grub.conf should point to that parition!  This is very 
important!  root line should always point to partition where kernel and 
initrd image are stored.  kernel and initrd lines should point to files 
relative to this partition, not relative to your root file system (so 
that would be /vmlinuz-xxx and /initrd-xxx.img in this case)!  Root 
option in kernel line should point to where your root file system is (in 
this case, root line and root kernel option will point to two different 
partitions)!

-- 
Aleksandar Milivojevic <amilivojevic at pbl.ca>    Pollard Banknote Limited
Systems Administrator                           1499 Buffalo Place
Tel: (204) 474-2323 ext 276                     Winnipeg, MB  R3T 1L7




More information about the users mailing list