a long story here, but basically I had windows xp on sda1 aka (hd0,0) and ubuntu on sdb5 aka (hd1,4) and they were booting fine. Something messed up with ubuntu, I reinstalled, and tried to fix grub.. in the course of it all I believe I accidentally ran 'setup (hd0,0)' instead of 'setup(hd0)' to copy grub over.
I've tried fixing the MBR with ms-sys but to no avail.
At this point the GRUB boot menu lets me boot into linux, but if I try to boot into winXP, it quickly flashes "GRUB loading stage2..." and then puts me right back into the GRUB boot menu again.
Is there anything I can try to fix this or am i screwed?
The winxp grub menu entry is:
title winxp
rootnoverify (hd0,0)
savedefault
chainloader +1
The output of fdisk -l is:
/dev/sda1 * 1 8338 7879403 c W95 FAT32 (LBA)
/dev/sdb1 * 1 2224 17864248+ 83 Linux
/dev/sdb2 2551 3924 11036655 b W95 FAT32
/dev/sdb3 2225 2550 2618595 5 Extended
/dev/sdb5 2225 2528 2441848+ 83 Linux
/dev/sdb6 2529 2550 176683+ 82 Linux swap / Solaris
Thanks!