21/03/2008

GRUB - I love you

My machine called Medea is a real bitch. Well, one problem of it is, that it has a SATA and an IDE hard drive, which creates boot problems:
On the SATA drive is Windows installed in the first partition, while my openSUSE 10.3 is installed on the first two partitions (swap / rest) on the IDE drive. GRUB boots from the IDE drive, but the standard entry for booting Windows from the SATA drive fails.
The reason for this is, that if you use GRUB on the IDE drive, the device driver for the SATA harddrive is not yet loaded when the Windows entry shall boot, so you have to fiddle around a bit (found here).

1. Boot your linux
2. Open a root console
3. Install GRUB onto your SATA drive via the command

grub-install /dev/sda

Change the argument of the command appropriate to your harddrive specification

4. Since you want to boot from the SATA drive, now all the mappings of the harddrives to the GRUB notation have to be changed.

vi /boot/grub/device.map

in my case I needed to map hd0 to /dev/sda and hd1 to /dev/hda.

5. Last but not least, you will need to correct your boot menu entries in order to map the new settings accordingly, I don't know the specific case for you, so you will have to try out. Consult the manual of GRUB in case of

cp /boot/grub/menu.lst /boot/grub/menupersonal.bak
vi /boot/grub/menu.lst

For me the entry for Windows XP worked perfectly when using

rootnoverify hd(0,0)
makeactive
chainloader +1


6. Reboot your computer and change the boot sequence appropriately so that your SATA drive is the first bootable harddrive used.

Happy booting all of your OSes

No comments: