OK let us finish your problem ASAP so that we could go back to the party.
You have been quite confusing with your information. The Post suggests that you want Fedora and XP on the same drive but your post #1 describing you have installed them in two disks and been swapping the disk order to get both of them to work. That is a serious mistake and should be stopped. Both XP and Linux keeps a record of their connection positions in the motherboard and will not run after an alteration, unless you know how to edit the system files.
Few things you should know.
(1) MBR is the first 512 bytes of the
1st bootable disk. If you installed XP it will always be in the first bootable disk (primary IDE connection) and XP's MBR will be there. Swapping the disks will cause XP losing out the 1st bootable status and that requires the disk order "re-map" on-the-fly using the Grub's "map" statement. If you repair XP's MBR you must also reconnect it back to the first bootable disk position, otherwise it will put MBR on the second disk.
(2) You should freeze the physical disk swap and concentrate on getting both systems configured to work to the setting permanently.
(3) You need tools. A Live CD is only half of it but a Grub bootable floppy is "highly" recommended in your case. Since you have Ubuntu Live CD so make one following the instructions below
boot up Ubuntu Live CD as it has Grub inside
Ask Ubuntu where it stores it Grub's stage1 and stage2 files by instruction
I could have misinterpreted your information as you could have put the two system together in one disk but the above two items of information will enable us to solve the puzzle.
Code:
find / -name stage1
Ubuntu will return with a subdirectory name , say it is /usr/lib/grub/i386-pc (adjust in accordance with you own circumstance) your change directory to this subdirectory by
Code:
cd /usr/lib/grub/i386-pc
You then pop a floppy into the drive and write the stage1 and stage2 onto the floppy by "dd" commands
Code:
dd if=stage1 of=/dev/fd0 bs=512 count=1
dd if=stage2 of=/dev/fd0 bs=512 seek=1
This Grub floppy can boot any PC system manually.
-------------------------------------
Now the cure
-------------------------------------
Perhaps the easiest is to let XP disk as the first bootable but I can offer instructions if you want it anywhere. Lets say your Fedora is in the second disk. Time to try the mighty Grub floppy
Boot up the Grub floppy. As your XP is in the first partition (standard for XP) of the first bootable disk Grub will identify it as (hd0,0) or hda1 in Linux. These 3 lines will boot XP even if its MBR has been completely trashed.
Code:
root (hd0,0)
chainloader +1
boot
If this works pour yourself a drink to celebrate booting your XP first time "WITHOUT" using the MBR!
Now the fixing of the Fedora can be different according how you installed it. To progress with precise instructions can you freeze the disk order from now on. Give up these two items of information
(i) The hard disks partition information - You can boot up a Live CD, click terminal and type
and list it content for us to see. This should be a cut and paste job.
(ii) Fedora's files /boot/grub/menu.lst and /etc/fstab - I am assuming you can't boot to Fedora so use the standard method. Now let's make the Grub floppy earn its keep and ask it to find out which partition has /boot/grub/menu.lst and /etc/fstab by booting the floppy up and type
Code:
find /boot/grub/menu.lst
find /etc/fstab
Grub should return with something like (hd1,2) because Fedora is in the second disk (hd1). I am assuming it is in the 3rd partition here. Grub always counts from 0.
Can you use this information to get Grub list the two files out and the screen and write them dowm for us. No cut and paste convenience here. It isn't long but will be an excellent education for you.
/boot/grub/menu.lst tells us how Grub boots Fedora while /etc/fstab tells us the files Fedora has been instructed to load after installation. We can then amend them to suit your newly frozen disk order.
The content of the files can be listed by Grub using commnads
Code:
cat (hd1,2)/boot/grub/menu.lst
Code:
cat (hd1,4)/etc/fstab
I am using (hd1,2) and (hd1,4) as examples but please adjust according to those reported by Grub.
Give us the two items of information and we will be able to get you home free in the next reply.
I could have misinterpreted your information incorrectly but the above information is needed for others to assist you further.