LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   Dual boot Machine: Can't boot XP with grub (http://www.linuxquestions.org/questions/linux-software-2/dual-boot-machine-cant-boot-xp-with-grub-519286/)

joao.m.esteves 01-14-2007 06:11 PM

Dual boot Machine: Can't boot XP with grub
 
Hello:

I have a dual boot PC, with XP and Fedora 6. Recently I had to format the Windows partiton and do a XP fresh install. I have 3 disks, 1 sata (sda) where XP is installed, and 2 pata (hdg, which has Fedora, and hdh) and it is possible to boot to Fedora with the hdg drive in the bios, but I can't, at the same time, boot to windows. To go to XP, booting must be made with the sata drive, which doesn't have grub. The error I get when trying to boot to XP with the pata disk is

"NTLDR is missing. Press ctrl+alt+delete to reboot".

I used Fedora to install grub on hdg with

"grub-install /dev/hdg"

It gave an ok message and the listing of device.map generated by anaconda:

sda is hdo
hdg is hd1

Now comes the odd part. In grub boot menu, Fedora appears in (hd0,1) and it boots OK (there is a boot partition) and XP appears in (hd1,0). Changing this by hand to (hd0,0) gives the same error.
I'm quite sure that ntldr and ntdetect.com are on sda C:

I also tried to install grub in the sata driver, but then it gave error 22, and had to fix the master boot record with "fixmbr" of XP cd.

Perhaps I'm missing something obvious here. Some help is highly
appreciated.

Regards.
Joao

bigrigdriver 01-15-2007 05:55 AM

The important thing to note here is that you are causing your owm problems by switching the BIOS back and forth between the two drives. It is impossible to get grub into a consistent, sane state if you keep changing the BIOS.

Edit the BIOS one last time, and never more. Set it up as it was when you installed Fedora (since you have Fedora installed and grub in the MBR of that drive). Fedora will then be consistent with the grub.conf (/boot is in (hd0,0), / [root] is in (hd0,1)), and xp in in (hd1,0).

Do that now, and verify that Fedora will boot.

And, from this point on, LEAVE THE BIOS ALONE. It is not necessary to keep changing drive order, and just confuses matters.

On successful re-boot, edit /boot/grub/grub.conf to make the xp entry look like this:

title Windows XP
root (hd1,0)
map (hd1,0) (hd0,0)
map (hd0,0) hd1,0)
makeactive
chainloader +1

Windows will refuse to boot if it isn't in the first partition of the first drive. So, we tell windows a little white lie to make it think it's there (the map lines above will remap the drive numbers for windows).

Note: in future, when you re-install xp, it will probably break grub. Just boot Fedora from the cd, and run grub-install again to fix grub.

joao.m.esteves 01-15-2007 06:25 AM

Ok I understand, I will do that.

Thanks.

Joao

joao.m.esteves 01-15-2007 07:58 AM

Ok it worked! I can now boot Fedora and XP from hdg with grub.

One last question: the file device.map still says that hd0 is sda and hd1 is hdg. Isn't this going to make some troubles? Should I change it?

Regards.

Joao

bigrigdriver 01-15-2007 11:27 AM

Perhaps this will answer your question:

http://www.gnu.org/software/grub/man...evice-map.html


All times are GMT -5. The time now is 09:28 PM.