Triple boot XP, Vista & openSUSE

I want to triple boot Windows Vista, XP and openSUSE. Windows Vista boots correctly as does openSUSE, but I’m having trouble getting XP working correctly.

The partitions are laid out as follows:
/dev/sda1 - NTFS (Vista)
/dev/sda2 - Extended
/dev/sda5 - FAT32 (Windows XP)
/dev/sda6-8 - Linux

The windows XP entry in GRUB is exactly the same as the Windows Vista entry, except that (hd0,0) is changed to (hd0,4). I’ve run bootsect.exe on Windows Vista to change the bootsectors (originally after the XP install Windows XP was booting from the Windows Vista entry; for some reason it has it’s boot files on there). When I used /nt60 on Windows Vista and /nt52 on the Windows XP drive both returned successful.

Here’s the problem though: when I select Windows XP in the bootloader, it starts a command-line version of GRUB. This doesn’t correlate at all with what is setup. Can anyone help?

Partition count starts at 0, so try hd(0,3) and not hd(04).

Also, you can try the repair utility on the installation cd/dvd. It usually finds the other boot options.

You should create a microsoft vista dual boot in sda1 to hand off to sda5 to get xp up. Use the bcdedit tool (or better yet the easybcd tool) to add xp into vista’s bootloader. Don’t try to boot xp on sda5 from a Grub pointer to (hd0,4) – use vista’s bootmgr file instead.

Yes, I would recommend EasyBCD also. I used it to setup a triple boot of Vista, XP, and openSuse and of course, it was easy.