Filed under Windows by amida168 on January 13, 2009 at 11:33 am
41 comments
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.
- Open an elevated command prompt.
- Type the following to create a boot loader for Windows XP.
bcdedit /create {ntldr} /d "Windows XP"
- 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:
- Type the following to set the path.
bcdedit /set {ntldr} path \ntldr
- Type the following to add this boot loader to the boot up screen.
bcdedit /displayorder {ntldr} /addlast
- 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.
Filed under Windows by amida168 on January 9, 2009 at 6:33 pm
22 comments
[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.

Filed under MacBook, Vista by amida168 on July 24, 2006 at 12:24 am
22 comments
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.
- 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/
- Copy the boot.efi file to a USB key.
- Boot to Vista and copy the boot.efi file from the USB key to C:
- Now open Command Prompt as administrator. If you don’t know how to do this, please follow the steps 1~3 in this post.
- 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.
- 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.
- 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.

Find deals on Amazon.com
Notebook Computers
Electronics
iPod
MacBook
MacPro
Filed under MacBook, Vista by amida168 on June 26, 2006 at 7:54 pm
15 comments
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.

Find deals on Amazon.com
Notebook Computers
Electronics
iPod
MacBook
MacPro