Hi lumbus,
My setup is as follows:
1. Windows XP on SATA drive, knows itself as C: and knows Vista as G:
2. Windows Vista on Primary Master PATA, knows itself as C: and knows XP as P:
I installed both without knowledge of eachother. I can boot either one just fine by changing the boot priority in BIOS, but now I want to be able to pick the OS to load using the Vista bootloader.
Let me see if I have this part straight cause your doing a lot of switching around here and I want to be sure I'm understanding it all.
1) You have two separate drives each one containing a partition with a different MS OS on it.
2) These two partitions were installed independently of each other, and up to this point you have been dual booting by switching your drives boot priority in the BIOS.
3) The SATA drive contains the XP installation, and when your booted onto it (by switching boot priority SBP- from here on) the drive letters are assigned as XP=C: Vista=G:
4) The PATA drive contains the Vista installation, and when your booted onto it by SBP the drive letters are Vista=C: XP=P:
I installed EasyBCD. If I create an entry for XP with "C:" as the drive, I get the well-known NTLOADER missing error, as expected.
Note: I will use BLDR in place of Bootloader from this point forward, Vista BLDR indicates the BCD Store and all the components installed by Vista to get you from the BIOS to the (Vista) OS Login Screen. ; XP BLDR indicates the ntloader, boot.ini, ntdetect files, which are necessary to get you from the BIOS to the (XP) OS Login.
5) Okay I think we are on the same page so far, here is where you start to lose me. You have installed EasyBCD (version 1.7.1? you don't say which version your using), You created an NT entry in the Vista BLDR in this case if your using 1.7 or above it selected the boot drive automatically that should be C: since you are booted onto the Vista drive. What you wrote above more or less confirms that since before you copied the files to C: you got the NTLDR variant.
If I change the XP drive to "P:" in EasyBCD, the computer just reboots, and the Vista BLDR menu comes back.
6) Here you tell the Vista BLDR to look on the root of the P: drive to find the XP bootloader files and my interpretation of what your saying is that when you select the XP Entry that you created the system reboots and you end up at the Vista BLDR menu again. Is this correct?
If I copy the ntloader, boot.ini, ntdetect files from P: to C:, and then change the XP drive to "C:" in EasyBCD, the computer, again just reboots.
7) Here you are saying that you copy the XP BLDR files to the current boot drive and when you select the XP Entry that you created the system reboots and you end up at the Vista BLDR menu again. Is this correct?
This suggests to me that it's actually finding ntloader on both C: and P:, but for some reason it just reboots.
8) Here you state that you believe that the entry is finding the XP BLDR no matter which of the two installations of the XP BLDR you point it to. I would agree with that if that is what your getting at.
To verify the health of ntloader, I inserted a bogus entry in XP's boot.ini, and set the XP drive as the boot drive in XP. The XP's boot menu shows and I can boot XP fine. This should mean that both ntloader is fine and that my boot.ini is correct, right? So what gives?
- Here in an attempt to troubleshoot you verify the XP BLDR when booted from the XP partition by SwitchingBootPartition. You created a 2nd invalid entry and you got the XP BLDR menu. I would disagree with your assumption that everything is fine. What gives is that you tested something that you already knew was working, not the thing you are trying to make work. The 2nd invalid entry is a really good idea though lets try and use it in a different way to test number 8 instead of 9.
- Try leaving the Vista drive as the boot drive. Edit the boot.ini on both the C: and the P: drives put the letter C in your invalid entry on C: and P on your invalid entry on P: something like Pindows XP for the text to be displayed in the menu. If the XP BLDR is working when you set XP as C: in EasyBCD then instead of rebooting when you select the Windows XP entry in the Vista BLDR it should bring you to the XP BLDR menu. This would establish that everything is correct with the exception of your boot.ini, which is what I suspect your problem is.
Thanks so much if you have any ideas!!! I've rebooted about a million times now.
Some comments and ideas: You choose a non-standard method of installing for a dual boot, nothing wrong with it just makes things a bit more confusing as you can't follow one of the standard templates. Try applying whats in the wiki to your situation.
http://neosmart.net/wiki/display/EBCD/Troubleshooting+Windows+XP
http://neosmart.net/wiki/display/EBCD/Windows+XP
If you had installed XP first then Vista or Vista first then XP, ask yourself what do the steps in these installations have in common.
XP first then Vista would be the Microsoft recommended method, install the OS's in order of release so if you wanted to triple boot say XP, Server 2003, and Vista you would install them in that order because each Operating System is backwards compatible with their predecessors. But forward compatibility is impossible. So if you install XP then Vista IT INSTALLS BOTH BLDR's on the same boot drive so all you need to do is add an entry to the Vista BLDR when your through and your in business.
If you go the other way Vista first then XP. It installs the XP BLDR over the Vista BLDR so you have to reinstall the Vista BLDR and then make sure you have entries for both OS's in the Vista BLDR menu and your in business.
So what they have in common is that both BLDR's are on the same boot drive. So it follows that to fix your problem you have to pick a boot drive and stick to it then install the other BLDR over the working one. So you can either boot to Vista C: P:, or XP C: G:, but you need to get both BLDR's working on a single boot drive.
Following the path that you have a working Vista BLDR and you added an entry for XP, using EasyBCD you could have used MS's BCD edit just as easily, you problem doesn't lie in the BCD editor of choice. EasyBCD appears to be working correctly. You copied the XP BLDR to drive C: unedited. Have you gone into Disk Manager and looked to see how the drives are assigned in Vista and made sure that your XP entry in boot.ini points to the XP disk and partition numbering in Vista? Do your Vista and XP installations match exactly. We know that the XP partition is multi(0)disk(0)rdisk(0)partition(1) when XP is the boot drive. But is it the same when the Vista drive is the boot drive? If not when you select the entry from the Vista BLDR menu and it doesn't find an OS where you said it would be it would then reboot the computer.
Sorry I am so long winded