I had a problem with a laptop runnning 2x installs of XP and 1x install of Linux.
I was also using Grub.
I think the problem was more due to having 2 installs of XP on the same
drive along with *nix, as it causes XP to start BSOD'ing (seems XP can't
get on with itself, let alone other OS's), but it's possible the solution I
found may be relevant here to, with a little tweaking?
Basically, instead of using Grub as the boot manager, which in turn
chainloads NTLDR when XP is to be booted, I reversed the chainload method.
I.E. I set up NTLDR as the default boot manager which would then chainload
Grub, when *nix is required.
It's a very simple process.
I assume, as usual, you have XP on the first primary (hda1)?
After installing *nix, make sure that Grub is loaded to the boot sector of
the partition it's installed on - NOT the MBR.
If you aready have Grub installed in the MBR, just boot a Win disc and use
to wipe the MBR and preplace it with Win only.
If you have more than 1 installation of XP, use bootcfg at the recovery
console.
Now you have XP booting again but, just for the moment, no *nix.
Then use the BT cd to mount the *nix partition, chroot into it and re-
install Grub to the Linux partition boot sector from there:
On the box I was working on, *nix was on hda4 - you must edit this
accordingly
Code:
# grub
grub> root (hd0,3)
grub> setup (hd0,3)
grub> quit
Now you have Grub in the boot sector of the *nix partition.
The boot sector is the first 512bytes of a partition.
Now just copy the first 512bytes to something like a usb stick, etc, using
dd:
Code:
# dd if=/dev/hda2 of=grub.mbr bs=512 count=1
Now boot back into XP and simply paste the file you made and copied to the
usb stick (grub.mbr) into the root of the C: drive.
Edit boot.ini to add the option to boot to *nix:
The simplest way to get to boot.ini, in an editable state, is to go to
System Properties ---> Advanced ---> Startup & Recovery ---> Edit.
Add to the end of boot.ini :
Code:
C:\grub.mbr="Backtrack" <------- or whatever label you want
Now when you boot, NTLDR will be used, offering to boot XP or *nix.
When you choose your *nix installaton it will chainload Grub.
Grub will take over from there.