On my laptop, I have two hard drives. One is loaded with Windows XP and the other is loaded with Linux Fedora. I use GRUB to select which OS I want to boot into and it has been working for a long time, but suddenly (for reasons beyond my understanding) when I booted up my computer, instead of the boot menu I would get a "Grub Error 17" message (can't remember exactly what it said). GRUB was installed on the hard drive with Fedora on it, so I bypassed this by switching the primary boot disk to be the Windows drive. At this point I could boot straight into Windows, but I couldn't boot into Fedora.
After doing some research on how to fix this, I tried repairing GRUB. Using "rescue mode" from a Fedora 11 Live DVD, I used grub-install. The contents of the generated /boot/grub/device.map look like this (I decided to use CODE boxes in my post to control the formatting):
(hd0) /dev/sda (hd1) /dev/sdb
At this point, I was now able to boot into my Fedora partition just fine, but now I can't boot into my Windows XP partition. D'oh! Whenever I choose to boot Windows via my "repaired" GRUB, I get a black screen for about 2 seconds and then the GRUB boot menu appears again. I can do this over and over with the same result.
Now, after doing some more research, the only thing that everyone keeps suggesting is changing the /boot/grub/menu.lst. Here are those contents, with the lines I added in:
title Windows XP map (hd0) (hd2) <~~~~~~~added this line map (hd2) (hd0) <~~~~~~~added this line rootnoverify (hd0,0) makeactive <~~~~~~~added this line chainloader +1
The changes above were based on suggestions considering a single hard drive and two partitions, and I would like to remind everyone that my setup is two different hard drives with a single partition on each.
Here is the relevant output when I type fdisk -l:
Disk dev/sda: 80.0GB ... ... ... ... Device Boot Start End Blocks Id System /dev/sda1 * ................... HPFS/NTFS Disk dev/sdb: 100.0GB ... ... ... ... Device Boot Start End Blocks Id System /dev/sdb1 ................... Linux swap / Solaris /dev/sdb2 * ................... Linux
The only other suggestion I have heard is to use "fixmbr" on the Windows disk and then reload grub, but I also heard that this should be a last resort. So, I thought I would try my luck on G2G before doing so.
Thanks in advance!