Grub: how to recover Boot Record for (hd0,0)?
I have Gentoo & RedHat Linux running on my laptop which came installed with Win XP. While doing "emerge world", I found myself having to re-setup grub. Now, I can boot my Linuxes but not XP (yes, I know, "So what's the problem? ;)
The scenario: XP is on /dev/hda1 (NTFS), my boot partition is /dev/hda5 and is set up to be used by RedHat and Gentoo (different kernels in different subdirectories).
What I did at first: while running grub, I confused (hd0) with (hd0,0):
> root (hd0,4)
> setup (hd0,0)
When this didn't work, I did what I actually meant to do (write to MBR):
> root (hd0,4)
> setup (hd0)
After this, grub starts fine when booting, all the Linuxes boot, but when I try to chainload Win XP, it keeps returning to grub (since I accidentally installed it on (hd0,0)).
Is there a way to clean up (hd0,0) without erasing partitions? I know that the Windows programs FDISK and FIXMBR can rewrite the MBR, but I really want to avoid screwing up my data.
Thanks in advance for any help.
PS: Here's the grub.conf, but I'm quite sure it's not the problem since it was working previously.
# grub.conf generated by anaconda
title Red Hat 9.0 (2.4.20-8)
kernel /RedHat/vmlinuz-2.4.20-8 ro root=LABEL=/RH9.0 hdc=ide-scsi pci=biosirq
kernel /Gentoo/bzImage-2.4.25 ro root=/dev/hda7 hdc=ide-scsi pci=biosirq
title Windows XP
Not sure, but that's what I would try :
1) Boot on the Win XP CD, it will perform a repair install, repairing the MBR and XP will boot.
2) Then boot on the Linux CD, it will repair the LILO config. I am using LILO (and not Grub) on Mandrake but your Linux should not be so different.
|All times are GMT -5. The time now is 06:55 PM.|