How to dual boot when Windows XP was installed after Windows 7?

You need to reinstall the boot manager. NTLDR can't boot Windows 7.

Start the Windows 7 install DVD, and choose "Repair" and "Command Prompt". At the prompt, do a "bootrec /RebuildBCD" to write down a new bootloader.

I can't promise that this is going to keep Windows XP in the boot order, but it will restore the ability to boot Windows 7. After that, you can follow any number of articles to get Windows XP back into the boot manager manifest.


This should help you out: Install Windows XP in Dual Boot with Pre-Installed Windows 7


My situation was Windows 7 on C: partition, Windows XP on D: partition and with the PC booting into XP automatically. First step, get Windows 7 to boot. Run the Windows 7 DVD and repair an existing installation from the command prompt.

bcdboot c:\windows /s d:

The "d:" specifies the target partition where boot files are copied. My first try was with the target partition "c:" but this didn't work as "d:" was the current boot partition.

This got Windows 7 booting OK, but then I needed to add XP back into the boot options. From a command prompt (run as administrator) in Windows 7...

bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device partition=D:
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast

XP was was now showing in my list of boot entries. The final step was to copy the boot files "ntdetect.com" and "ntldr" into the D:\ root directory.

Of course the internets helped me to get to this point.