Boot from:
http://www.efense.com/helix
live CD. Run a terminal and do:
fdisk -l
Try to figure out how your partitions got rearranged, and identify the boot partitions for Fedora and XP. You can tell that by the size they are. Edit /etc/fstab file in the helix distro:
vi /etc/fstab
Hit the INSERT key once in vi.
On the disk partition where your fedora root is, take the ro and change it to rw. Hit the ESC key and type :x ENTER to save /etc/fstab. Mount the root partition for linux with:
mount /media/sda1
and substitute the correct partition where sda1 is in that command. Helix will make mount points for all the partitions it finds. Once you mount the proper partition do:
cd /media/sda1/boot/grub
vi menu.lst
Change the entries
root(hd0,0)
or similar looking lines to reflect the proper partition for the operating system that line is specifying to boot. (hd0,0) means, in hurd notation, hard drive 1 partition 1. But, hard drive and partition numbers start at 0 not 1. When you split the partition it changed how many partitions you have, and screwed all the root partition info in grub. So, now grub can't find anything.