Jump to content

Force Windows 7 install DVD to do an EFI Boot


meego
 Share

18 posts in this topic

Recommended Posts

Hi,

 

I've been trying to install Windows 7 x64 on a pure (read: no hybrid GPT/MBR) GPT disk on a MacBook Pro.

 

The Windows installer only allows it if it was booted from EFI. However, the hybrid BIOS/EFI implementation on Intel Mac confuses the hell out of the Windows 7 install DVD, which default to BIOS boot.

 

So I've been trying to force the Windows install DVD to do an EFI boot.

 

I think I can do that using rEFIt's shell to launch the DVD's EFI bootloader. I took my clues from this MS Technet article.

 

The article advises to type:

Shell> Fs0:
fs0:> \EFI\BOOT\BOOTX64.EFI

in EFI shell (here, rEFIt's)

 

However, this file does not exist in my W7 x64 install DVD.

 

There is a single \EFI\MICROSOFT\BOOT folder with the following files inside:

bcd
cdboot_noprompt.efi
efisys_noprompt.bin
cdboot.efi
efisys.bin
fonts [folder]

 

This is where I'm stuck. I'd love to start trying loading on of these *.efi files but rEFIt's shell can't read anything inside the DVD.

 

That is how it goes:

fs2:\› ls
ls/dir: Cannot open current directory - Not Found

 

Does anyone know what is it I am doing wrong? I think it has to do with rEFIt not being able to read the DVD's UDF filesystem. Is there a workaround?

 

Alternatively, I've been thinking of editing the Windows 7 install DVD to remove the BIOS bootloader to force an EFI boot. Does that sound possible?

 

As a side note, i recommend Rod Smith's gdisk to anyone interested in converting an Apple hybrid GPT/MBR partition table into a pure GPT table.

 

Cheers everyone

Link to comment
Share on other sites

It is also possible to remove BIOS booting support from Windows Installation Disc and make it boot in UEFI mode only. For this u need oscdimg.exe file from Windows Pre-installation Kit provided by Microsoft.

 

Copy all the files from the CD (or extract the files from the ISO file using 7-zip or something else)(including the hidden/system files) in a Windows OS. Say you copied it to D:\WIN64ISO folder.

 

Copy the oscdimg.exe file into D: . Then type the following commands in Command Prompt.

 

(i) d:

 

(ii) oscdimg -w4 -os -lWin_7_x64_UEFI_ISO9660 -m -o -n -pEF -e -bd:\WIN64ISO\efi\microsoft\boot\efisys.bin d:\WIN64ISO d:\Win_7_x64_UEFI_ISO9660.iso

 

Replace the "WIN64ISO" folder name by name of the folder where you extracted the Windows Setup disc files. After the process completes, write the Win_7_x64_UEFI_ISO9660.iso file to a disc. This disc will not boot in a BIOS system but it will boot in a UEFI system.

 

Note that Windows x64 versions requires a UEFI 2.x (not EFI 1.1) x86_64 (64-bit) efi firmware and compulsorily require a EFI System Partition to boot in a UEFI system. Even a 32-bit UEFI 2.x firmware will not be able to launch Windows Setup.

 

I currently have Windows 7 x64 RC and Windows Vista x64 SP2 in a Dual boot setup in a UEFI system in a GPT disk - I use tianocore.sourceforge.net UDK/EDK2 DUET firmware for UEFI booting).

 

I have attached the 32-bit oscdimg.exe file here.

oscdimg.exe

  • Like 1
Link to comment
Share on other sites

Thanks Keshav for the comprehensive answer. I'll try removing BIOS support using oscdimg. However I think my Mac has an 1.1 UEFI firmware. It's a bit of a disappointment as I did a lot of research to understand the inner workings of EFI, GPT, and Apple's implementation of both, and it sounds like I won't be able to have a pure GPT/EFI sytem in the end.

 

Thanks for the help anyhow.

Link to comment
Share on other sites

  • 4 weeks later...

The current generation of Intel Macs run UEFI 1.1 and most defintely will not native boot Windows 7 using EFI.

 

I went through all the permutations (setup/oscdimg/rEFIt/WinPE/and got as far as loading a Windows 7 kernel through UEFI on a 2009 Mac Mini where it finally hung during the final osloader (winload) to kernel handoffs without booting.

 

Until Apple moves to UEFI 2.0 we are stuck with BootCamp.

 

http://darobins.spaces.live.com/blog/cns...5!529.entry

Link to comment
Share on other sites

The current generation of Intel Macs run UEFI 1.1 and most defintely will not native boot Windows 7 using EFI.

 

I went through all the permutations (setup/oscdimg/rEFIt/WinPE/and got as far as loading a Windows 7 kernel through UEFI on a 2009 Mac Mini where it finally hung during the final osloader (winload) to kernel handoffs without booting.

 

Until Apple moves to UEFI 2.0 we are stuck with BootCamp.

 

http://darobins.spaces.live.com/blog/cns&a...5!529.entry

 

Pretty interesting post. I went through most of these steps too before learning of that EFI version problem. This whole thing is only moderately inconvenient as Boot Camp does its job properly but a clean EFI/GPT would be so much more elegant.

Link to comment
Share on other sites

hi, i am new to this forum, but this thread is really interesting, cause i have the same problem, and it makes me a little mad.

 

so if it is not possible to install vista/7 x64 using efi, maybe it's possible to later boot the installed windows using efi?

 

NO!

 

In the experiments (see link above) that I did, I was attempting to boot Windows directly through UEFI. It was hard hanging during the transition from winload.exe loading the boot drivers to starting the actual NT kernel. Even if you were able to get Windows installed, this exact code path would fail.

 

Installing is not actually the problem, that can be done using BIOS/MBR and the boot configuration can be "fixed" to use UEFI, but it will still fail as there is some UEFI 2.0 feature that Windows requires. Version 2.0 is in the minimum configuration requirements, looks like there was a real reason for it.

 

Now how to convince Apple to upgrade their firmware...

Link to comment
Share on other sites

Hi i am also a newbie i installed my snow leopard with Dx58so on a hardrive then windows 7 on a seperate hardrive i tried dual booting it with easybcd 2 but

 

1. firstly i both os shows when i should choose the os but i can only choose windows seven

 

2. if i try only booting my snow leopoard it shows that my operating system is missing.

 

i realy want to dual boot but i realy want my snow leopard working please i realy need some help.

Link to comment
Share on other sites

hi, i am new to this forum, but this thread is really interesting, cause i have the same problem, and it makes me a little mad.

 

so if it is not possible to install vista/7 x64 using efi, maybe it's possible to later boot the installed windows using efi?

 

It is possible to boot an installed Windows x64 (Vista SP1+ or 7) system in UEFI-GPT mode, even if it was previously installed in BIOS-MBR boot mode. Check out this link http://www.insanelymac.com/forum/index.php?showtopic=186440 on how to do this. This is a slightly long process but it definitely works. If you have any comments regarding the method reply in that forum link itself.

Link to comment
Share on other sites

It is possible to boot an installed Windows x64 (Vista SP1+ or 7) system in UEFI-GPT mode, even if it was previously installed in BIOS-MBR boot mode. Check out this link http://www.insanelymac.com/forum/index.php?showtopic=186440 on how to do this. This is a slightly long process but it definitely works. If you have any comments regarding the method reply in that forum link itself.

 

While the link is a great description of the conversion process that is available, be VERY SURE to read Note #1. It says that you MUST have 64-bit UEFI 2.x firmware. Apple ships NO systems with that combination. Most of this thread is discussing Apple hardware.

 

If you have non-Apple hardware which have UEFI 2.x, that link is great (although I would first try installing Windows using UEFI instead of converting).

 

 

 

 

 

 

Hi i am also a newbie i installed my snow leopard with Dx58so on a hardrive then windows 7 on a seperate hardrive i tried dual booting it with easybcd 2 but

 

1. firstly i both os shows when i should choose the os but i can only choose windows seven

 

2. if i try only booting my snow leopoard it shows that my operating system is missing.

 

i realy want to dual boot but i realy want my snow leopard working please i realy need some help.

 

I have not done exactly what you are trying to do, but it should be possible.

 

One area to consider is that Apple does not use the "standard" UEFI mechanism putting the initial OS loader code into the ESP partition. Apple firmware knows how to read HFS+ so when you "bless" a partition the firmware directly reads the HFS+ partition. Obviously a Dx58so doesn't have that firmware so you will probably need to copy the necessary .efi files into the ESP.

 

Also, most operating system installers blindly assume they own the whole system and quietly clobber anything that already exists, so the second installed OS "wins". :-(

 

A first step is to individually install each OS as the only OS on the system, and examine and copy the contents of the ESP. Then when you set the system up dual boot, make sure that all the necesary files exist. If you have all the correct files, any good EFI Shell should allow you to dual boot.

 

Other simple possibility is that you have the wrong device path for the SL drive...

Link to comment
Share on other sites

While the link is a great description of the conversion process that is available, be VERY SURE to read Note #1. It says that you MUST have 64-bit UEFI 2.x firmware. Apple ships NO systems with that combination. Most of this thread is discussing Apple hardware.

 

If you have non-Apple hardware which have UEFI 2.x, that link is great (although I would first try installing Windows using UEFI instead of converting).

 

I am the same person who wrote that post. Well, I do not own any Intel Mac hardware or for that matter any Mac hardware (not even the old PowerPC Macs) to try this conversion method. As I mentioned in that post I have done this conversion only in Dell India Studio Laptops till now (using DUET in USB), but it will work with any UEFI based system which is currently running in BIOS compatibility mode (like HP EliteBooks, Sony Vaio Z-series etc.). That's the reason why I put that post in Windows Discussion forum (this is purely a Windows based topic with no reference to Mac hardware).

 

I myself have Windows Vista and 7 x64 installed in UEFI-GPT setup. I use edk.tianocore.org DUET (UEFI64 build) in a 1GB FAT32 USB pen drive to boot Windows x64.

 

I have not tried to find out the effect of using EFI 1.1 x86_64 firmware (that runs in recent Intel Macs) on Windows UEFI-GPT booting process, because from the start I have been using only UEFI 2.0 x64 DUET firmware. But one thing that I am sure of, is that 32-bit EFI/UEFI firmware will not boot Windows x86 (32-bit) or x86_64 version under any circumstances (I have tried this myself). Still I like to have a Pure UEFI-GPT Windows installation rather than a BIOS + Hybrid GPT-MBR setup to boot Windows. That's why I prefer to boot Windows through a pendrive (UEFI - Pure GPT) rather than have Hybrid MBR-GPT and boot using BIOS itself.

 

You can check out these links if you want to try the DUET firmware compiled by me http://www.insanelymac.com/forum/index.php...t=#entry1300176 and http://www.4shared.com/file/141748872/63cea9d9/EDK_DUET.html (the actual download link).

Link to comment
Share on other sites

  • 7 months later...

anyone ever figure out where the BOOTX64.EFI file is at on the Win7 install DVD? I can't find it either. When i run the cdboot.efi, i am returned to my laptop's efi boot device selection screen.

 

I CAN get the install dvd to boot in efi mode thanks to my laptop's efi support, but it loads the bootx64.efi file..

I'm trying to install via USB.. and i can't find that efi file to copy over!

 

So I've been trying to force the Windows install DVD to do an EFI boot.

 

I think I can do that using rEFIt's shell to launch the DVD's EFI bootloader. I took my clues from this MS Technet article.

 

The article advises to type:

Shell> Fs0:
fs0:> \EFI\BOOT\BOOTX64.EFI

in EFI shell (here, rEFIt's)

 

However, this file does not exist in my W7 x64 install DVD.

 

There is a single \EFI\MICROSOFT\BOOT folder with the following files inside:

bcd
cdboot_noprompt.efi
efisys_noprompt.bin
cdboot.efi
efisys.bin
fonts [folder]

 

This is where I'm stuck. I'd love to start trying loading on of these *.efi files but rEFIt's shell can't read anything inside the DVD.

Link to comment
Share on other sites

anyone ever figure out where the BOOTX64.EFI file is at on the Win7 install DVD? I can't find it either. When i run the cdboot.efi, i am returned to my laptop's efi boot device selection screen.

 

I CAN get the install dvd to boot in efi mode thanks to my laptop's efi support, but it loads the bootx64.efi file..

I'm trying to install via USB.. and i can't find that efi file to copy over!

 

It is embedded in D:\efi\microsoft\boot\efisys.bin which is a raw floppy disk image. Simply copy that to a raw floppy (real or virtual) and it will have all the EFI files you need.

 

Or install the Windows 7 AIK: http://www.microsoft.com/downloads/details...;displaylang=en

 

Then look in \Program Files\Windows AIK\Tools\PETools\amd64\efi\boot\bootx64.efi

Link to comment
Share on other sites

It is embedded in D:\efi\microsoft\boot\efisys.bin which is a raw floppy disk image. Simply copy that to a raw floppy (real or virtual) and it will have all the EFI files you need.

 

Or install the Windows 7 AIK: http://www.microsoft.com/downloads/details...;displaylang=en

 

Then look in \Program Files\Windows AIK\Tools\PETools\amd64\efi\boot\bootx64.efi

 

Use 7-zip . Open the ISO in 7-zip or open the DVD. <DVD or ISO>\sources\install.wim->(open in 7zip)/1/Windows/Boot/EFI/bootmgfw.efi->rename to bootx64.efi.

 

Best method would be to use a 4GB FAT32 (not NTFS) formatted USB pen-drive. Extract the ISO or copy the DVD contents to the pendrive, and copy the bootmgfw.efi file to /EFI/Boot/bootx64.efi . Go to http://www.insanelymac.com/forum/lofiversi...dex.php/t186440 for info related to Windows UEFI-GPT booting.

Use rEFIt to launch this file.

Link to comment
Share on other sites

  • 2 months later...
Does anybody know if the April 2010 Core i5/i7 MacBook Pros support UEFI 2.x? I'm considering to buy one of the Core i5/i7 MBPs but I also want to try Windows 7 in pure UEFI/GPT mode.

 

Nope, sadly they don't and if you looking for a good laptop to run W7 then I suggest to look further. Boot camp on these machines is a sick joke; the crippled drivers and the castrated bios emulation is simply not worth the money. You can get way better for far less.

Link to comment
Share on other sites

  • 2 weeks later...

Hello,

 

I recently have the same problem. But before this, I could have sworn that I have successfully install Windows 7 on my MacBook (Late '09) without using BootCamp since I already create two HFS+ on my MacBook. I dont remember how I use it, just tought it as a fluke.

 

After a little while, my Windows partition was accidently deleted. And I can't reinstall Windows ("Windows cannot be installed to this disk. The selected disk is of the GPT partition style").

 

My partitions are:

1. FAT32 - EFI Boot 200MB

2. HFS+

3. Empty partition about 200MB

4. HFS+

5. NTFS

 

I have try almost all the proposed solution on the net, and still can't do anything.. I don't want to convert my disk using Windows diskpart, since my 4th partition contains all my sacred data..

 

Weirdly enough,

 

I give rEFIt a shot. And after playing with its disk partioning tool, I CAN install Windows without any problem.. I think you guys (who have the same problem) should try this..

 

More weird,

is if i'm using the same tool after Windows installation has finished. I CANNOT boot to Windows again. Have to do a full installation again.

 

So, I change refit.conf to exclude disk partitioning tool after Windows installation are finished. And now, it works ;)

Link to comment
Share on other sites

  • 1 year later...
 Share

×
×
  • Create New...