Booting grub, but not from root?


I installed OpenSuse 10.3 the other day, and very nice it is too. Especially that boingy cursor.

First of all, Yast made a bit of a mess of the grub config, but I fixed that so now I can boot to Vista and Suse.

BUT, I’ve installed OpenSuse on my external USB drive (G). The problem is, now I need to have my G drive plugged in to boot to Windows from my C drive. Not the end of the world, but pretty inconvenient. I didn’t realise GRUB would install to root, which is obviously on G. So, when I boot with G disconnected it gives an error 12 since it can’t see the drive.

Is there a way I can repair it to boot from C (will I need a ext3 partition for this with root etc. on C?) or is there an alternative way to boot rather than from G: root?


Looks like the solution is here GRUB Boot Multiboot openSUSE Windows (2000, XP, Vista) using the Grub bootloader.

Oops. Will try this tomorrow.


A problem for you is that the Grub code in Master Boot Record of drive 1 instructs to look at Suse’s /boot directory to proceed. And if usb drive isn’t plugged it – /boot’s not there and blam!

One way around this is to move the /boot directory to a very small partition on drive 1 so that it’s always available for booting to windows via Grub, even if usb drive isn’t plugged in. This is the theory, I have never tried it.

Another way around it is to leave the status quo intact, repair and reinstall the original windows bootloader, and insert some code into the windows bootloader partition that includes a pointer to Suse so when usb drive is connected you can use the windows menu. That works fine – less trouble than Grub.

More here: Boot Multiboot openSUSE Windows (2000, XP, Vista - any mix) with Windows bootloader.


Hi Swerdna,

Thanks, yes you are right. I was thinking of this and I could set Grub to use custom boot partition on sda. But your idea sounds a bit neater, I might try that.

Thanks for you help, much appreciated.