How to Add Windows XP to Windows 7 Boot Manager

A reader has asked about how to add Windows XP to Windows 7 Boot Manager. Here are the steps. You do this when you cannot boot to Windows XP after installing Windows 7 or Windows Vista.

  1. Open an elevated command prompt.
  2. Type the following to create a boot loader for Windows XP.
    bcdedit /create {ntldr} /d "Windows XP"
  3. Type the following to set the device to where Windows XP is installed. I used D: in this example. Replace it with the drive letter of your XP installation.
    bcdedit /set {ntldr} device partition=D:
  4. Type the following to set the path.
    bcdedit /set {ntldr} path \ntldr
  5. Type the following to add this boot loader to the boot up screen.
    bcdedit /displayorder {ntldr} /addlast
  6. Reboot the computer.

[Update: 3/11/2009] Some readers have reported that they still have problems after following these steps. I have tried to reproduce the error and fix it. The error I got is different, but it’s similar in nature. Please see this post about how I fixed the problem.

How to Add Vista to Windows 7 Boot Manager

[Update: This is for adding Vista to Windows 7 Boot Manager. For adding Windows XP, please see this post.]

Ok, you have installed Windows 7 Beta on your Vista machine, and you cannot boot to Vista any more. What can you do? This is exactly what I ran into. Let me tell you how to fix it.

My testing machine was set up to dual boot Windows XP and Vista. XP was on C: drive and Vista was on D: drive. When I installed Windows 7 Beta, I installed it on C:. After the installation, I could only boot to Windows 7. The boot option for booting to Vista on my D: drive was gone. The boot manager for Windows 7 is the same as Vista. Therefore, I was able to figure out a way to add Vista to the boot manager. Here are the steps:

1. Invoke a command prompt with Administrator priviledge. If you don’t know how to do it, please follow the steps in this post. The instructions are for Vista, but they are the same.

2. Type the following to list the current boot manager settings.

C:>bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {59cad9f2-de83-11dd-9d9e-c59ac6c2613b}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {59cad9f4-de83-11dd-9d9e-c59ac6c2613b}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              Windows
resumeobject            {59cad9f2-de83-11dd-9d9e-c59ac6c2613b}
nx                      OptIn

3. Type the following to create a Boot Loader based upon the default boot loader.

C:>bcdedit /copy {current} /d "Vista"
The entry was successfully copied to {59cad9f6-de83-11dd-9d9e-c59ac6c2613b}.

4. Type the following to change the device to D: drive. Note that the identifier is the one generated by step 3. This id is different for every boot loader. You have to replace it with the actual output when you create the boot loader.

C:>bcdedit /set {59cad9f6-de83-11dd-9d9e-c59ac6c2613b} device partition=D:
The operation completed successfully.

5. Type the following to change the osdevice to D: drive

C:>bcdedit /set {59cad9f6-de83-11dd-9d9e-c59ac6c2613b} osdevice partition=D:
The operation completed successfully.

When you are done, reboot the machine and you’ll see the option to boot to Vista.

w7-dualboot

How to Use Vista Beta 2 Boot Manager to Dual Boot Vista and OS X on a MacBook

UPDATE: [The trick detailed below only works if your default startup disk is set to Mac OS X. The boot.efi file only let you reboot the machine, it DOES NOT boot the system to Mac OS X partition. My MacBook was set to boot to OS X by default when I tried it, therefore I got the false sense that by booting the boot.efi, I actually boot the machine to OS X. I am sorry for the misinformation. I'll research more about how to actually use Vista's boot manager to boot OS X. What I really wanted to achieve is to have a boot manager to dual boot Vista and OS X at the startup without holding the Option key, and there is a perfect program for that. It's called rEFIt.]

Windows Vista comes with a new boot manager, that is very flexible. I thought it would be nice if I could use that to specify an entry for Mac OS X. However, the technology is new and I cannot find many documentations about it. The FAQ in Microsoft’s web site does not tell you how to create a boot loader for Mac OS X. It only tells you how to create a boot loader for legacy systems like Windows XP.

I then found out that people are using a chain0 file with Vista’s boot manager to dual boot OS X and Vista for the OSx86 project. I tried that, but it did not work. The problem is that the chain0 file is not for booting Mac OS X on MacBook. What I really need is already on my MacBook. It’s called boot.efi and it’s under /usr/standalone/i386/ . The file is hidden from Finder. You will need to use Terminal application to copy it. Here are the steps.

  1. Boot to Mac OS X. Open Terminal application and type in the following to copy boot.efi to the Desktop.
    cp /usr/standalone/i386/boot.efi ~/Desktop/
  2. Copy the boot.efi file to a USB key.
  3. Boot to Vista and copy the boot.efi file from the USB key to C:
  4. Now open Command Prompt as administrator. If you don’t know how to do this, please follow the steps 1~3 in this post.
  5. We need to determine if you have a legacy boot loader in your system. Type in the command in the Command Prompt window.
    bcdedit /enum all | find "{ntldr}"

    If this command returns

    identifier              {ntldr}

    , that means you already have a legacy boot loader in your system. Follow step 6 and skip step 7. If the command didn’t return anything, skip step 6 and follow step 7.

  6. Type in the following to copy the legacy boot loader.
    bcdedit /copy {ntldr} /d "Mac OS X"
    
    bcdedit /set {YOUR-GUID-HERE} device boot
    
    bcdedit /set {YOUR-GUID-HERE} path boot.efi
    
    bcdedit /displayorder {YOUR-GUID-HERE} /addlast

    Note that you need to replace YOUR-GUID-HERE with the actual GUID returned by the first command. To illustrate this, the following are the actual commands and responses.

    C:>bcdedit /copy {ntldr} /d "Mac OS X"
    
    The entry was successfully copied to {bcfa924e-07e0-11db-9d86-accf6fd346a1}.
    
    C:>bcdedit /set {bcfa924e-07e0-11db-9d86-accf6fd346a1} device boot
    
    The operation completed successfully.
    
    C:>bcdedit /set {bcfa924e-07e0-11db-9d86-accf6fd346a1} path boot.efi
    
    The operation completed successfully.
    
    C:>bcdedit /displayorder  {bcfa924e-07e0-11db-9d86-accf6fd346a1} /addlast
    
    The operation completed successfully.
  7. Type in the following to create a new legacy boot loader.
    bcdedit /create {ntldr} /d "Mac OS X"
    
    bcdedit /set {ntldr} device boot
    
    bcdedit /set {ntldr} path boot.efi
    
    bcdedit /displayorder {ntldr} /addlast

Now you can see there is an entry for “Mac OS X” whenever you boot to Vista, select that and you can boot to Mac OS X.

x-click-but04.gif


Find deals on Amazon.com

Notebook Computers Electronics iPod MacBook MacPro


Where is boot.ini? – Vista Beta 2 Boot Manager

When I installed Vista Beta 2 on my MacBook, I had to do system recover to fix the installation. After the system got recovered, I have two entries in the boot screen. To fix this problem in Windows XP, just edit the boot.ini file in C: . However, I couldn’t find boot.ini in Vista. I found that now instead of editing boot.ini, you need to use bcdedit.exe to edit the boot configuration.

To use bcdedit, first bring up Command Prompt windows using an administrator credential. If you don’t know how to do this, please refer to step 1 ~ 3 in this post. Type in bcdedit to see a list of boot manager and boot loaders.

c:>bcdedit

Windows Boot Manager

--------------------

identifier              {bootmgr}

device                  partition=DeviceHarddiskVolume1

description             Windows Boot Manager

locale                  en-US

inherit                 {globalsettings}

default                 {current}

resumeobject            {f5346d3d-0236-11db-b7af-806e6f6e6963}

displayorder            {50c73d4f-e6b3-11da-bc73-d30cdb1ce216}

                        {current}

toolsdisplayorder       {memdiag}

timeout                 5

Windows Boot Loader

-------------------

identifier              {50c73d4f-e6b3-11da-bc73-d30cdb1ce216}

device                  partition=DeviceHarddiskVolume1

path                    Windowssystem32winload.exe

description             Microsoft Windows

locale                  en-US

inherit                 {bootloadersettings}

osdevice                partition=DeviceHarddiskVolume1

systemroot              Windows

resumeobject            {50c73d50-e6b3-11da-bc73-d30cdb1ce216}

nx                      OptIn

detecthal               Yes

Windows Boot Loader

-------------------

identifier              {current}

device                  partition=C:

path                    Windowssystem32winload.exe

description             Windows (TM) Vista Ultimate (recovered)

osdevice                partition=C:

systemroot              Windows

resumeobject            {f5346d3d-0236-11db-b7af-806e6f6e6963}

From the list, we can see that the boot loader named Microsoft Windows is the one that’s not needed. The identifier for this boot loader is {50c73d4f-e6b3-11da-bc73-d30cdb1ce216}. We can use this info to delete it.

c:>bcdedit /delete {50c73d4f-e6b3-11da-bc73-d30cdb1ce216}

The operation completed successfully.

c:>bcdedit

Windows Boot Manager

--------------------

identifier              {bootmgr}

device                  partition=DeviceHarddiskVolume1

description             Windows Boot Manager

locale                  en-US

inherit                 {globalsettings}

default                 {current}

resumeobject            {f5346d3d-0236-11db-b7af-806e6f6e6963}

displayorder            {current}

toolsdisplayorder       {memdiag}

timeout                 5

Windows Boot Loader

-------------------

identifier              {current}

device                  partition=C:

path                    Windowssystem32winload.exe

description             Windows (TM) Vista Ultimate (recovered)

osdevice                partition=C:

systemroot              Windows

resumeobject            {f5346d3d-0236-11db-b7af-806e6f6e6963}

We can see that the boot loader is now gone. There is one more change that I’d like to do. Look at the one and only boot loader, the description is Windows (TM) Vista Ultimate (recovered). I wanted to change it to just Windows (TM) Vista Ultimate. Here is what I did to change the description.

c:>bcdedit /set {current} description "Windows (TM) Vista Ultimate"

The operation completed successfully.

c:>bcdedit

Windows Boot Manager

--------------------

identifier              {bootmgr}

device                  partition=DeviceHarddiskVolume1

description             Windows Boot Manager

locale                  en-US

inherit                 {globalsettings}

default                 {current}

resumeobject            {f5346d3d-0236-11db-b7af-806e6f6e6963}

displayorder            {current}

toolsdisplayorder       {memdiag}

timeout                 5

Windows Boot Loader

-------------------

identifier              {current}

device                  partition=C:

path                    Windowssystem32winload.exe

description             Windows (TM) Vista Ultimate

osdevice                partition=C:

systemroot              Windows

resumeobject            {f5346d3d-0236-11db-b7af-806e6f6e6963}

Note that instead of using a long identifier, you can use just {current} to modify this boot loader. After the changes, you won’t see the boot screen again since there is only one boot loader.

x-click-but04.gif


Find deals on Amazon.com

Notebook Computers Electronics iPod MacBook MacPro

Get Adobe Flash playerPlugin by wpburn.com wordpress themes