It seems pretty straightforward to dual boot those versions of Windows when the newest is installed after Windows XP. But the inverse isn't happening on my machine. I tried even editing the BOOT.INI file, but the boot just freezes or displays that a file is missing when I try to boot another partition.

Currently I'm stuck with Windows XP, and I need to boot my Windows 7 instead.

What is the solution?


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.

| improve this answer | |
  • Hi I tried inserting my cd of windows 7 but then an error said ntldr is missing press ctl alt del to reboot i did that took the cd out and it said the same thing what do i do and the windows 7 cd won't boot and i have a vista cd would that work? – niu Jul 1 '11 at 6:15
  • 2
    @niu: That is a different problem, you need to set your BIOS to boot CD/DVD before HDD. – pauska Jul 1 '11 at 6:54

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

| improve this answer | |
  • 1
    Interesting. That doesn't jibe with my Windows 7 machine here, though. I'm not seeing a partition w/ the boot manager in it. I'm seeing the boot manager sitting inside the one large NTFS partition on my hard disk drive. Hmmm... I only gave that article a cursorary glance, but I'll have to read over it more closely. (On my main laptop, I just put Windows 7 in to a VHD on the volume w/ XP and boot Win7 out of that VHD, leaving XP alone. It still uses the Win7 boot manager, of course...) – Evan Anderson Jun 26 '09 at 0:23
  • 2
    Could you post the actual content of the link here and explain it a bit? – Simon Sheehan Nov 5 '11 at 12:06

Create Boot Loader

Once installation of XP is successful you can now install the latest Microsoft Updates and drivers. You will undoubtedly notice that the machine is booting directly into XP at this time. This is due to XP writing its bootloader over Windows 7’s. To get both XP and Windows 7 as an option at the boot screen you can use the free utility EasyBCD 1.72 or their new 2.0 Beta.

VistaBootPRO 3.3 (free version) will still work too which you can download here. VistaBootPRO is now called DualBootPRO and is no longer free, it’s $9.95 for a single user license.

After getting the bootloader back you should see both XP and Windows 7 as options in the Windows Boot Manager.

| improve this answer | |

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.

| improve this answer | |

Grub can work, just install it using any of your favorite Linux distro's live CDs.

Either that or you can modify boot.ini.

| improve this answer | |
  • 1
    Grub? For booting Windows 7? Modifying BOOT.INI won't help-- the NTLDR boot loader, which uses BOOT.INI, can't boot Windows Vista or newer OS's. – Evan Anderson Jun 26 '09 at 0:12
  • Grub has chainloader +1 which will use native chain loader in the selected partition. I have successfully quad-booted XP, Vista, Leopard and Ubuntu on the same HDD. No experience with Win7 yes, but I assume chainloader+1 will work as it worked for any other version of windows as of yet. – LiraNuna Jun 26 '09 at 0:16
  • 4
    This isn't going to work with him, because the native bootloader for Windows 7 got overwritten with the XP boot loader. The XP boot loader (the one that uses BOOT.INI-- NTLDR) can't boot Windows Vista or newer Windows OS's. – Evan Anderson Jun 26 '09 at 0:17

The problem can be easily solved using Dual-boot Repair tool.

No long tutorials, explanations etc.

Run the tool (obviously in Windows XP), click on "Automatic Repair" and confirm. This will restore booting to Windows 7 by default.

For adding Windows XP to boot configuration data (Windows 7 BCD) you click on "Fix XP/2003 boot", select XP \Windows folder and confirm.

That's all ;)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.