I have a PC with Windows 98 and XP on the first HDD, and I installed openSUSE 11 on the second HDD, and now I can’t boot to Windows. GRUB doesn’t shew the Windows partition as an option. I tried adding it in the Boot section of the YAST but no luck. I tried making a Windows option and used the sd1 first as the boot device and then the sd2, but it didn’t work.
The only way I can access the Windows partition and get the Windows boot menu is by insterting the installation DVD. Of course, if I don’t tend to it immediately it then boots to the SUSE installation program. I’m a total ignoramus when it comes to Linux; how can I get GRUB to give me an option to boot into my Windows OSes?
I think it must have been installed to the partition that contains the Windows mbr.
I was thinking of maybe using FDISK /mbr to restore the Windows mbr and then using the repair installation option in the SUSE DVD to correct this problem, but I’m not sure if this is a good idea. Is there any other way I can get this working without reinstalling any of the three OSes?
you can use your xp disc to restore mbr with the fixmbr
but this will mean you loose suse - at least until you get grub installed correctly
once you have you xp mbr back and you can boot xp fine (you need to set the xp hd first to boot - which it seems it is)
but now change your hd boot to have the suse hd first
use the suse install dvd to boot up and use the repair feature to re-install grub.
You need to be sure you know which hd is which, at least as suse recognises them. If you are unsure. Use the suse installer first to see how it reads the drives. Probably sda, sdb. Then start again with the repair feature and install grub to the mbr of the suse hd. Leave suse hd as first boot device. and we can look again at the booting of windows when you have that sorted
though you can always boot windows even if grub does not work, by temp switching hd back to xp first
I recommend that you do this:
sda contains windows 98 and xp. It’s bootloader codes reside on the first partition, sda1. Those codes display a dual microsoft boot to 98/xp. They should be accessed/activated as an item in the grub menu. Grub should lay its code in the mbr of sda. Here’s the repair steps in brief:
Use “repair” on Suse’s install DVD to generate a new Grub in the mbr of sda. That will get you into Suse from the boot process, but not windows. The Grub menu will be attenuated to boot only to Suse. Not to worry.
Once in Suse, regenerate the full Grub menu that will contain windows entries pointing to sda1 and probably sda2 as well – sda2 is useless ignore it because the bootloader codes for windows 98/xp are on sda1.
Suse gets the grub entry for xp wrong, often portraying it like this:
title windows1
rootnoverify (hd1,x)
chainloader (hd0,0)+1
“x” denotes the partition on drive 2 (sdb) where Suse is. That’s wrong. You have to edit the entry and make it into this:
title Win 98 and XP
rootnoverify (hd0,0)
chainloader (hd0,0)+1
All this is only correct if the first drive is the drive where the bios goes for the boot code in the MBR. If that was the configuration when Suse was installed. On the other hand, if the configuration was as implied by caf4926, that the bios has switched to seek the mbr of drive 2, and then Suse was installed, then you should stay with caf4926’s approach.