How To Restore Windows 7 Bootloader After Windows XP Installation

Contents

1. Symptoms of the problem

After trying Windows 7, you have decided that you need Windows XP for application compatibility or other reasons. So you have installed Windows XP into another partition, intending to dual-boot it with Windows 7.

But installation of Windows XP happened after installation of Windows 7, and now computer boots directly into Windows XP, Windows 7 is not even offered in the boot menu.

Your intention is to fix this situation, i.e. make both Windows 7 and Windows XP appear in the boot menu.

2. Reason why the problem occurs: Explanation of dual boot process

When Windows 7 used to be the only one OS on your computer, boot process was quite simple:

The key point of this diagram is that "Win7's Boot Sector and VBR" transfers control to "Win7's BOOTMGR".


When Windows XP was installing itself, it knew nothing about "Win7's Boot Sector and VBR", so "Win7's Boot Sector and VBR" was overwritten with "WinXP's Boot Sector and VBR", which transfers control to "WinXP's NTLDR" instead of "Win7's BOOTMGR":

WinXP's NTLDR knows nothing about Win7's BOOTMGR and Windows 7 in general. It just boots Windows XP as if we are in 2001. Blue part of this diagram belonging to Windows 7 is simply unreachable.


To restore Windows 7 in the boot menu, we must restore "Win7's Boot Sector and VBR" at its original location and also add link from "Win7's BOOTMGR" to "WinXP's NTLDR":

Windows 7 would create this structure automatically, if it would have been installed after Windows XP. Windows 7 is aware of Windows XP boot process; Windows XP is unaware of Windows 7 boot process.

3. Step by step guide: How to restore Windows 7 boot loader in XP-over-Win7 situation

1) Download EBCD and burn it to CD/DVD according to the instructions, then set up your BIOS to boot from CD. You need full EBCD version to actually write changes to the disk, but it's recommended to try demo version first to make sure  there are no hardware incompatibilities.

2) Boot EBCD:

Using EBCD to restore Windows 7 bootloader after XP installation - Main Menu

3) Choose Mount & Boot Center in the main menu, wait while it loads:

Using EBCD to restore Windows 7 bootloader after XP installation - Starting Mount and Boot Center

4) Make sure Mount & Boot Center looks like below (Windows 7 and Windows XP operating systems are detected and shown as table columns; Windows 7 and Windows XP loaders are detected and shown as table rows; Win7 loader is called by BIOS and WinXP loader isn't):

Using EBCD to restore Windows 7 bootloader after XP installation - Initial Screenshot of Mount and Boot Center

5) Set option "called by BIOS" for Windows 7 Loader. Enter "#2" (or other appropriate number of WinXP loader) into "subordinate bootloaders" field of Win7 loader:

Using EBCD to restore Windows 7 bootloader after XP installation - Final Screenshot of Mount and Boot Center

6) Click OK to close Mount & Boot Center (changes will be commited to disk), then choose "Reboot" in EBCD main menu:

Using EBCD to restore Windows 7 bootloader after XP installation - Boot Loader is Restored, Rebooting

Please note: this article applies to Windows Vista too. Replace all occurences of "Windows 7" to "Windows Vista" in this text and it's still valid in every detail.