Get my dual-boot back
June 9, 2009 5:12 PM Subscribe
DualBootFilter: I've moved a Windows XP hard drive into a new machine, in a physically different configuration, and I think I need to fix boot.ini and maybe the mbr but I'm not sure how.
Difficulty: new location is a secondary drive to a primary Linux drive running GRUB. Help?
posted by jozxyqk to computers & internet (8 answers total)
OK so I've done some googling and even searching of askmefi, but I am feeling dumb about this so I need someone to spell it out for me.
Here's the longer story:
I used to have a dual-boot setup, with Linux as the primary boot device, running GRUB, as Primary IDE disk. Windows was a SATA disk, plugged in as the first SATA drive.
Now, I've got a new Linux installation that's on a SATA drive, and want to be able to boot the old Windows as well.
Linux is now the first SATA drive, and Windows is the second.
Linux is running GRUB, and recognizes the Windows partition as something bootable. From within Linux, I can even mount the NTFS partition and read and write files.
Unfortunately, when I try to boot the Windows partition, I get a blue screen that flashes by too fast (looks more like a chkdsk screen than a BSOD, if I blink), followed by a reboot which brings me back to my GRUB menu.
I've narrowed this down to probably being an issue with boot.ini, but a Windows XP bootable cd doesn't seem to be able to see the partition with the "bootcfg" command at all, so I can't use those tools.
I'd love to be able to use some magic to edit boot.ini in a text editor and at least get that Windows installation booting to Safe Mode.
I've tried a few things, but I get a variety of different errors depending on where I modify the numbers, from "Cannot load hal.dll" to "your boot device is corrupt"
So, hivemind, what can I do to convince the Windows drive that it can boot, without corrupting GRUB? Or is the blue-screen-that-passes-by telling me something worse is wrong?
The (original) contents of the boot.ini in question:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect
and the contents of the "Windows XP" section of my grub/menu.lst:
title Microsoft Windows XP Home Edition
map (hd0) (hd1)
map (hd1) (hd0)