Monday, July 24, 2006

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

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.

0 Comments:

Post a Comment

<< Home