How to add Windows XP entry to Windows 7/Vista boot manager

Status
Not open for further replies.

CrashOverride90

Distinguished
Nov 16, 2009
82
0
18,630
Hey guys I've found this guide pretty good. It's straight from my site www.k2labs.com.

If you've been using Windows XP for a while now and want to try out window 7 or vista, you might have tried dual booting!
In that case once you installed windows 7 or vista, you may have noticed that your windows XP entry has disappeared. But do not worry. Your windows XP is still there. The only problem is windows 7 just overwrote the windows xp bootloader. This is a easy fix. Just follow the steps below.

Open an elevated command prompt (Start > type "cmd" > right click on "cmd" > run as administrator)

To create an entry for Windows XP type the following. You can replace "windows XP" with any name that you want it to show.
Code:
bcdedit /create {ntldr} /d "Windows XP"
Now specify the partition where windows XP is installed. Here I have used my E partition. Choose the partition (B, C, D, E, F) where you installed your XP.
Code:
bcdedit /set {ntldr} device partition=E:
Now to set the path type...
Code:
bcdedit /set {ntldr} path \ntldr
Type the following to add this boot loader to the boot up screen.
Code:
bcdedit /displayorder {ntldr} /addlast

Restart and you are done!

If for some reason you get an error and are unable to boot into windows XP, then get back into your windows 7 installation and download the boot files from http://www.mediafire.com/?im3tyunrouy and paste it in your WIndows XP partition's root directory.

Source: http://www.k2labs.com/
 
Hi CrashOverride90! I just wanted to let you know that I think exactly the same way.
Also I'd like to contribute to your tutorial (just for the ones who are interested).

While installing Win 7 a invisible "System Reserved" partition is usually created.
If you install Win XP afterwards it puts the NTLDR in this partition (since it is the first one I guess).

So instead of downloading the necessary NTLDR files to your XP partition,
you could simply set a drive letter to the "System Reserved" partition and set:

bcdedit /set {ntldr} device partition=E: << Instead of E: use the drive letter you assigned to the "System Reserved" partition.

Worked for me :)
 
Hi

Here is my case, which was a pain in the neck. I spent several days toying with BCDEDIT but the problem was not in BCD database.

Windows XP boot loader was installed on C volume, formatted to FAT32 file system. In order to install Windows 7 the installer requires NTFS file system only. The C volume had to be formatted to NTFS. Thus boot loader was deleted permanently from C volume. After Windows 7 installing only Windows 7 can be booted, volume C contains now Windows 7 boot code and Windows 7 Boot Manager.

I wanted to boot to Windows XP installed on G an H volumes. These systems were copies of Windows XP from C volume. Boot Manager was resetting the computer each time I tried to run Windows XP boot loader from Windows 7 Boot Manager.

I realized that boot loader files from G and H volumes cannot be used, because they were programmed to work on volume with C letter only. The C letter is always assigned to the active partition, which is usually the first disk partition. Boot loader is always placed on partition containing ACTIVE partition flag. Only one partition can contain this flag and this is always a bootable partition.

I copied boot loader’s files from G volume to C volume, where Windows 7 resides. I used following commands:

attrib Bootfont.bin -s -h
copy Bootfont.bin c:\Bootfont.bin
attrib ntldr -s -h
copy ntldr c:\ntldr
attrib NTDETECT.COM -s -h
copy NTDETECT.COM c:\NTDETECT.COM
attrib boot.ini -s -h
copy boot.ini c:\boot.ini

Then I edited the C:\boot\BCD file with BCDEDIT tool from Windows 7 installation disk. Here are the required entries:

bcdedit /store "C:\boot\bcd" /create {ntldr} /d "Earlier Windows OS Loader"
bcdedit /store "C:\boot\bcd" /set {ntldr} device partition=C:
bcdedit /store "C:\boot\bcd" /set {ntldr} path \ntldr
bcdedit /store "C:\boot\bcd" /displayorder {ntldr} /addlast

That’s all. Hope you will find this solution useful. I have written it because I couldn’t find a solution for my problem.
 
Status
Not open for further replies.