Jump to content

[Guide] Install Windows 8 UEFI on Legacy BIOS with Clover (and Dual boot with Yosemite)


avin7000
 Share

99 posts in this topic

Recommended Posts

Install Windows 8 UEFI on Legacy BIOS with Clover (and Dual boot with Yosemite)


In this tutorial I am going to explain how to install Windows 8 on a Legacy BIOS in UEFI mode (Yes! It's possible!!) using Clover and dual boot with Yosemite. Technically this tutorial should work for Windows 7 and Mavericks also, but I haven't tried.

What you get?
You have a machine with Legacy BIOS and at the end of tutorial, you would have Yosemite OS X and Windows 8.1, in UEFI mode, on a GPT partition with Clover as Bootloader. Isn't that amazing? This tutorial covers installation of both Yosemite and Windows 8.

Why GPT/UEFI?
  • You can have multiple Recovery Partitions in GPT
  • Depending on BIOS, sometimes Clover doesn't play well in Non-UEFI. You may face all sorts of weird boot/BCD errors
  • GPT can support more than 2TB space (MBR cannot)
  • You can have upto 128 partitions (woot!) in GPT (as opposed ONLY 4 primary partitions in MBR/Hybrid MBR partition scheme)
  • GPT disk provides greater reliability due to replication and cyclical redundancy check (CRC) protection of the partition table.
  • UEFI enables better use of bigger hard drives.
  • Technical changes abound in UEFI. UEFI has room for more useful and usable features than could ever be crammed into the BIOS. Among these are cryptography, network authentication, support for extensions stored on non-volatile media, an integrated boot manager, and even a shell environment for running other EFI applications such as diagnostic utilities or flash updates. In addition, both the architecture and the drivers are CPU-independent, which opens the door to a wider variety of processors (including those using the ARM architecture, for example).
  • GPT/UEFI is the future ;-)
Credits:
A big thanks to fusion71au, he guided me and helped me to install UEFI Windows on my laptop and made it possible. In fact, this tutorial is actually combination of several of his posts (check Sources section).

Prerequisites:
- A pendrive of 200MB (or more) for test Clover config (optional)
- Two pendrives of 8GB (or more), one for OS X and another for Windows installation media. OR a single pen drive of 16GB (or more).
- A running OS X machine in real Mac or Hackintosh or as virtual OS.
- Install OS X Yosemite.app downloaded and present in Applications
- Windows 8 ISO
- Latest Clover, Clover Configurator, Kext Wizard, Rufus, HFSPlus.efi and FakeSMC.kext (and other kexts based on your machine)

Downloads:
- Clover
- Clover Configurator
- Kext Wizard
- Rufus
- HFSPlus.efi

Test Clover Config (Optional):
This is an optional part and only applies to people who already have a hackintosh running. And also for first time users of Clover. Feel free to skip it if it doesn't apply to you.

Before installing Yosmite/Clover, it's better to test Clover on currently installed Hackintosh. First, it saves all the trouble of post-installation and second, you will be proceeding to install Yosemite once you have confirmed everything is working properly (and no dirty surprises). For this, you do NOT need to install Clover on your current HDD, it may mess up your current installation. Idea is to install Clover on a different HDD(or a test HDD) and without harming current installation.
  • Plug in the 200MB (or more) pen drive. Open disk utility, select this drive, under Erase tab choose Format as MS-DOS(FAT) and give name CLOVER(or whatever you want) and hit Erase:

    Bc2948b.png
  • Go to Partition tab, select 1 Partition in Partition Layout, Give name as CLOVER, format as MS-DOS(FAT). Click Options at the bottom and select Master Boot Record. Hit Apply.

    sDcdcik.png
    9UoOKPK.png

    Your drive is formatted properly now. It can have Clover installed for test USB drive.
  • Run Clover and change install location to this drive, CLOVER and customize by selecting Bootloader > Install boot0ss in MBR, CloverEFI > CloverEFI 64-bits SATA and Drivers64UEFI > EmuVariableUefi-64. Perform installation:

    cOtGzUY.png
    ZPpE5h5.png
    Otd8odM.png
  • Clover is installed to the drive. However you need to copy few more files. You will need config.plist, DSDT.aml which are specific to your system.

    - Put config.plist in EFI/CLOVER directory
    - Put DSDT.aml in EFI/CLOVER/ACPI/patched
    - Put HFSPlus.efi in EFI/CLOVER/drivers64 & EFI/CLOVER/drivers64UEFI
    - Delete VBoxHfs-64.efi in EFI/CLOVER/drivers64 & EFI/CLOVER/drivers64UEFI
    - Put FakeSMC.kext and other kexts required in EFI/CLOVER/kexts/10.10

    That's all and your Clover test drive is ready! Now boot using this USB and boot into your Hackintosh. Make sure everything working and once confirmed, proceed next to installation of Yosemite.
Creating Installation Media:
We will prepare a single USB drive which can be used to install Yosemite, Windows (and even Ubuntu if you fancy!). We have will format this to GPT, create 2 partitions, one for OS X and another for Windows installation files. This drive needs to be more than 16GB so that it can have all three installation files.
  • Erase the USB drive, using Disk Utility. Make 3 partitions for OS X (call it Yosemite), Windows (call it WIN81) and Ubuntu. Select OS X Partition as Mac OS Extended Journaled, Windows partition as MS-DOS(FAT) and Ubuntu partition as ext4. (If you don't want Ubuntu, make only two partitions). Make sure you are giving 7GB (or more) for each OS X and Windows installation partitions. Select ‘GPT (GUID Partition Table)’ under Options.

    BcE2FG5.png
    lH2FkxY.png
  • Mount Windows 8 installation ISO and copy Windows 8 installation files to this FAT32 Windows Partition, WIN81.
  • Install Clover into the EFI partition of this USB by targeting the OSX partition and customize by selecting Install Clover in the ESP, Bootloader > Install boot0ss in MBR, CloverEFI > CloverEFI 64-bits SATA and Drivers64UEFI > EmuVariableUefi-64. Perform installation:

    7p2hE0w.png
    7aLwnHZ.png
    Kk0xNm6.png

    Once clover is installed EFI partition will be mounted automatically. Open it and now you need put few more files. You will need config.plist, DSDT.aml which are specific to your system.

    - Put config.plist in EFI/CLOVER directory
    - Put DSDT.aml in EFI/CLOVER/ACPI/patched
    - Put HFSPlus.efi in EFI/CLOVER/drivers64 & EFI/CLOVER/drivers64UEFI
    - Delete VBoxHfs-64.efi in EFI/CLOVER/drivers64 & EFI/CLOVER/drivers64UEFI
    - Put FakeSMC.kext and other kexts required in EFI/CLOVER/kexts/10.10
  • Now we need to copy Yosemite installation file to USB drive. Make sure /Applications/Install OS X Yosemite.app exists and run following in terminal:

    sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/Yosemite --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --no interaction
    Above command assumes your partition for OS X installation files is named as Yosemite.
Your USB installation drive is ready. This can be used to install both Yosemite and Windows 8.

Installation of Yosemite:
We will create appropriate partitions and install Yosemite.

NOTE: The Yosemite Installation section here is very concise and brief. You should actually refer to the thread relevant your machine/laptop. For starters, check this All In One Guides of Hackintosh. Next, try either here or here. It'd be better if you post all your Yosemite installation doubts in those threads/forums.
  • Boot with USB drive, Clover should be loaded. Click on ‘Install Yosemite from Install Yosemite’.
  • Installation setup should appear. Use Disk Utility from Utilities and format the target drive. Create 2 partitions, for first partition where OS X will be installed, select Mac OS Extended (Journaled). Leave second partition as Free Space (and Windows installation will format it properly)
  • Proceed to Yosemite installation. Once done, it will reboot.
  • Boot again using the USB and boot into Clover. Click on ‘Install Yosemite from Install Yosemite’ to complete the installation.
Post installation and setup of Clover:
So far I have covered installation of Yosemite. Now post installation, we will install Clover and all required kexts. At the end of this section Yosemite will be ready to use and kicking.
  • Boot with USB drive, into Clover Menu. Select Yosemite(or whatever name you gave), to boot into freshly installed Yosemite
  • Install Clover into the EFI partition of the HDD by targeting the Yosemite partition (or whatever you called it) and customize by selecting Install Clover in the ESP, Bootloader > Install boot0ss in MBR, CloverEFI > CloverEFI 64-bits SATA, Drivers64UEFI > EmuVariableUefi-64, Install RC Scripts on target volume and Install Clover Preference Pane. Perform installation:

    3nLmQKE.png
    9g6ZuVM.png
    KKUFAqa.png
  • Once clover is installed, EFI partition will be mounted automatically. Open it and now you need put few more files. You will need config.plist, DSDT.aml which are specific to your system.

    - Put config.plist in EFI/CLOVER directory
    - Put DSDT.aml in EFI/CLOVER/ACPI/patched
    - Put HFSPlus.efi in EFI/CLOVER/drivers64 & EFI/CLOVER/drivers64UEFI
    - Delete VBoxHfs-64.efi in EFI/CLOVER/drivers64 & EFI/CLOVER/drivers64UEFI
    - Put FakeSMC.kext and other kexts required in EFI/CLOVER/kexts/10.10
Installation of Windows 8:
Boot into your machine with HDD's Clover and select Boot UEFI external from WIN81, hit spacebar, select and enter Run bootx64.efi. It should load into Windows installation. (image credits: fusion71au)

essjmDT.png
Ja4W7c1.png


Proceed Windows installation and complete it. Now you have Windows 8 UEFI on a Legacy BIOS!

Extras/Troubleshooting (Optional):
  • Sometimes you want to mount EFI partition manually. There are two ways:

    - If you are paranoid using Terminal, download Clover Configurator. It will ask to mount EFI partition when you open it. And you can also mount manually, see the sidebar at left side, under Tools, Mount EFI.
    - By default, all partitions are not visible in Disk Utility. If you enable Debug Menu, you get an option to show all partitions. To enable, run the following in Terminal:

    defaults write com.apple.DiskUtility DUDebugMenuEnabled 1
    Then you should see an extra Debug Menu in the Disk Utility:

    emmNXYn.png
  • If the Windows ISO size is more than 4GB, then most probably /source/install.wim size will be more than 4GB and copying it to FAT partition will fail. For this we have to split this file.

    - Boot into Windows 8, create a new directory called wim in C:\ drive. Copy install.wim to C:\wim directory.
    - Open command prompt in admin mode and run following:

    Dism /Split-Image /ImageFile:c:\wim\install.wim /SWMFile:c:\wim\install.swm /FileSize:3500
    - You should now see two files in C:\wim directory.
    - Replace install.wim by these two files.

    Now you can copy Windows installation ISO files to FAT partition of the USB.
  • When you want to install Windows, in Clover menu, if nothing happens when you click on Windows Installation in clover, then you have to copy bootmgfw.efi into WIN81/efi/microsoft/boot

    - Use 7-zip in Windows, open install.wim navigate to sources/install.wim/1/Windows/Boot/EFI/bootmgfw.efi and extract bootmgfw.efi (you don't need to extract this big ass file)
    - Rename cdboot.efi in WIN81/efi/microsoft/boot directory to cdboot.BAK
    - Copy bootmgfw.efi into WIN81/efi/microsoft/boot

    Now boot again with this drive. This time select Run bootmgfw.efi in options (as opposed to Run bootx64.efi), now it should boot fine into Windows 8 installation.
  • Even after following above advice, still Windows installation gives some error, then prepare Windows 8 installation media on a separate USB drive using Rufus. You can find instructions here. Use this USB drive instead and perform installation.
  • In Clover installations, you do NOT need to install Drivers64UEFI > EmuVariableUefi-64, it's not necessary for legacy BIOS. However my setup wouldn't work without it and I have no idea why. Since it does not affect the installation, I have included it anyway.
  • Instead of CloverEFI 64-bits SATA, you could try installing CloverEFI 64-bits BiosBlockIO to speed up boot. However it may not work on few machines. So make sure you have test USB drive handy (first section of this tutorial).
  • Disk partitioning guides: How to convert a Hybrid MBR drive to GPT and How to Convert MBR Windows to UEFI Windows Without Reinstalling - link.
Sources:PS: I have also attached PDF and HTML formats of this same tutorial.

Guide.html

Guide.pdf

  • Like 19
Link to comment
Share on other sites

Amazing guide :D Complete!

But:

 

Run Clover and change install location to this drive, CLOVER and customize by selecting Bootloader > Install boot0ss in MBR, CloverEFI > CloverEFI 64-bits SATA and Drivers64UEFI > EmuVariableUefi-64. Perform installation:

Why? I asked Clover Developers, and they told me that in CloverEFI booting (aka Clover Legacy) DOES NOT load the UEFI drivers folder, instead you can copy those driver into the Driver64 folder, however, some drivers may not work since they are made for UEFI firmwares, so for NVRAM saving, you may put that driver in the Driver64 and try to save the nvram into disk by stting it in the Clover.prefpan :)

Thanks for this breif guide :D

Link to comment
Share on other sites

Don't know why at the part of windows and yosemite installer, you format the USB as GPT ? MBR format on the USB can boot Windows UEFI installer just fine ( of course FAT32 partition ). If so then you must create another FAT32 partition for Clover ( the Test Clover Config section at the beginning ). Different method, same result

Link to comment
Share on other sites

Hi,

 

thanks for the guide...

 

Am able to get install Yosemite, and then installed Clover to HD.

 

However, when I boot from there, I don't see any option to "Boot UEFI external from WIN81".  Instead I see "Boot Windows from ..." (the stick I have the windows installer on)

 

Any ideas?

 

cheers,

 

David

Link to comment
Share on other sites

@redcoatd,

 

If you don't see "Boot UEFI external"/bootx64.efi, most likely it is hidden (the latest Clover revisions >r2999 automatically hide bootx64.efi from the GUI, unless you press <F3> at the Main Menu to unhide).  Did you read point no3 in the troubleshooting section?

 

Try this workaround

 

1.  Rename cdboot.efi in WIN81/efi/microsoft/boot folder to cdboot.BAK

2.  Copy bootmgfw.efi into WIN81/efi/microsoft/boot

 

post-846696-0-42354800-1418288879_thumb.

 

3. Reboot the computer with the Installer USB and select "Boot Microsoft EFI boot menu from WIN81", then press <spacebar>

 

post-846696-0-52813400-1418288999_thumb.

 

4.  Select "Run bootmgfw.efi" and then press <spacebar> ---> should now boot into the UEFI Windows Installer!

 

post-846696-0-34464000-1418289116_thumb.

  • Like 1
Link to comment
Share on other sites

@carlocav,

 

Have a look at the Clover wiki for a description of what each of the installation options means. I recommend installing Clover into the ESP and keeping the install options the same as for the USB (providing boot works).

 

"Install Clover in the ESP: Best option when such an EFI partition is available (GPT partitioned drive)"

 

For the hard drive install, I also recommend selecting RC Scripts for proper functioning for NVRAM/iMessage/FT in non UEFI machines.

PS: We are probably spamming this thread too much :P . Maybe ask further questions in @avin7000's thread or the Clover General discussion.

Thank you fusion71au, so finally as I have a non UEFI machine do you recommend me to enable in the Yosemite hard drive clover "Instal Clover in the ESP", enable boot0ss instead of boot0af, remove OSXAptioFixdrv-64 and partition dxe-64 drivers and add install RC Scripts on target volume?

If yes, I just modify config.plist?

Link to comment
Share on other sites

@carlocav,

 

It depends on whether you are happy with how your hack is functioning at the moment :).  Have you installed the latest HWSensors and FakeSMC.kext to monitor temps & CPU/GPU frequencies --> check speed step is working?

 

Depending on your hardware, you may need a patched DSDT/SSDT for optimal functioning of sleep/power management/usb etc.

 

Clover is also able to patch your machine's native DSDT on the fly and generate P & C states for speedstepping so you can try them out first.

 

Have a read of the following guides ....

Link to comment
Share on other sites

Folloowed the procedure to install Windows UEFI but Windows installation doesn't detect internal hard drive.

I had the same problem with Yosemite, I solved it by removing the hard drive, connect it to the computer via USB with a SATA/USB-ESATA dock and then I put it back inside, And to solve the still waiting for root device error I had to put in /EFI/Clover/Kexts/10.10 legacyappleahciport.kext.

How can I do for Windows? If I remove the drive as I done for Yosemite probably I can manage to install it but when I put inside the drive probably Windows won't load.

Link to comment
Share on other sites

Folloowed the procedure to install Windows UEFI but Windows installation doesn't detect internal hard drive.

I had the same problem with Yosemite, I solved it by removing the hard drive, connect it to the computer via USB with a SATA/USB-ESATA dock and then I put it back inside, And to solve the still waiting for root device error I had to put in /EFI/Clover/Kexts/10.10 legacyappleahciport.kext.

How can I do for Windows? If I remove the drive as I done for Yosemite probably I can manage to install it but when I put inside the drive probably Windows won't load.

Did you have the same issue when you previously installed legacy Windows?  Does your system come with extra OEM drivers?

 

Maybe try loading extra drivers (Dell's OEM SATA drivers for your machine) during the UEFI Windows install - see  SevenForums post here.

 

Also have a look at WinToUSB program to install Windows in "to go" mode on a USB hard drive.

Link to comment
Share on other sites

I tried loading the SATA and chipset drivers available in Dell website but still no sata hard drives found.

If I boot with Windows CD the installation detect the drives, the problem is the installation in UEFI mode.

In your opinion if I install Windows connecting the drive via USB, when I will put back the drive inside the computer (SATA), will I have an error similar to still waiting for root device?

Link to comment
Share on other sites

@carlocav,

 

It may work, I'm not sure since I haven't encountered your problem on my system....

 

Other Suggestions

1.  Install Clover using the BiosBlockIO option instead of the standard 64-bits SATA

2.  Install an older version of Clover eg r2957 from this post.

3.  Maybe try starting the UEFI Windows installation directly from the Windows DVD by booting the system with a FAT32 Clover boot USB. 

 

You can also ask the Clover developers in the Clover General Discussion thread if they have any ideas why your disk is not being detected by the Windows installer in UEFI mode....

  • Like 1
Link to comment
Share on other sites

^^

That could very well be the problem.  Your BIOS probably has IDE mode as default for your SATA hard drives.  If there is no AHCI option, then try setting it to RAID mode in the BIOS (roughly equivalent to AHCI), then reboot your system with the Clover UEFI Windows USB ---> see if the hard disk is now recognized.

 

Failing that, try installing Clover with the BiosBlockIO option instead of the standard 64-bits SATA.

 

Good Luck!

  • Like 1
Link to comment
Share on other sites

@Dr Hurt,

 

According to @Slice post#46, it is possible as long as the DVD is ISO9660+Joilet format, not UDF.  Also make sure the target hard drive is formatted pure GPT with protective MBR instead of hybrid MBR (can convert hybrid MBR back to GPT using gdisk).

 

So I converted my ISO to joliet and burned it to a new DVD but Clover still doesn't see the disk.

Link to comment
Share on other sites

@fusion so we convert the normal iso in terminal to Joliet, then burn it directly with Disk Utility ?

Yes, that's correct eg

hdiutil makehybrid -iso -joliet -o image.iso /path/to/source

 

So I converted my ISO to joliet and burned it to a new DVD but Clover still doesn't see the disk.

  • Did you install Clover with VBoxIso9600-64.efi in /Drivers64? ---> needed if using Clover version later than r2986 (since no longer included in the "boot" file)
  • Is bootx64.efi/"UEFI External" hidden by your config.plist?

 

I've just tested a converted Windows8 iso burned to joliet DVD and the UEFI Windows Installer works after booting it with Clover r2953.  Here's what you should see at the Clover Main Menu ....

 

1.  Choose "Boot UEFI optical from XXXX"

post-846696-0-17234000-1421656665_thumb.png

2.  Select "Run BOOTX64.efi", then <Spacebar>....for some reason, it was initially unresponsive & I had to do this twice.

post-846696-0-00276600-1421656765_thumb.png

 

TBH, I don't usually burn the iso to DVD because I've always transferred the Windows install files to a FAT32 USB partition instead (booted by Clover to install UEFI Windows as detailed in @avin7000's guide) ---> much faster installation than with optical drives :).

 

Edit

Conversion to Joliet is no longer necessary if GrubUDF-64.efi is installed in EFI/CLOVER/drivers64.  Below are screenshots of Clover r3150 booting to UDF formatted Windows 7 X64 DVD....

post-846696-0-17234000-1421656665_thumb.png

post-846696-0-00276600-1421656765_thumb.png

  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...