Jump to content
InsanelyMac Forum
avin7000

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

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

Share this post


Link to post
Share on other sites
Advertisement

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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

You are my hero! :D

 

Been trying to get this working for days. When i finally gave up hope, in comes this guide, and now it works flawlessly!

 

Thanks a lot!

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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?

Share this post


Link to post
Share on other sites

^^ Yes but you don't need to modify your config.plist.

 

Just run the Clover installer targetting the Yosemite partition and with the new custom options ---> will automatically make the changes and backup your previous EFI folder in /EFI Backups.

Share this post


Link to post
Share on other sites

Thank you just a last question as you are very kind.

I have not dsdt.aml and ssdt.aml

Do you reccomend me to generate them or are they useless?

Share this post


Link to post
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 ....

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
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?

Share this post


Link to post
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....

Share this post


Link to post
Share on other sites

Thank you Very much I'll try! In your opinion is this related to the fact that even the OS X installer couldn't find the hard drives as my bios has not AHCI mode?

Share this post


Link to post
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!

Share this post


Link to post
Share on other sites

Not work even with Raid

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

In the USB or even in the Yosemite hard drive?

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Similar Content

    • By zebity
      Hi Hypervisors,
       
      I have been working to move my Late 2009 Xserve MacOS Server onto Ubuntu 18.04 LTS QEMU/KVM based virtual machine using OVMF and Clover.
       
      After much effort and testing based on the following information from: Kraxel's, Kholia, Gordon Turner and Clover site:
      https://www.kraxel.org/blog/2017/09/running-macos-as-guest-in-kvm/
      https://github.com/kholia/OSX-KVM
      https://gist.github.com/gordonturner/2a2e5ecde5e7860b52e2
      https://clover-wiki.zetam.org/Home
       
      I have now managed to get OVMF/Clover boot and install of MacOS Sierra.
       
      I started with Ubuntu 16.04 initially but this required download and compile of QEMU to get update of machines to: pc-q35-2.9 or better, so I moved to Ubuntu 18.04, which has pc-q35.2.11 available as standard.
       
      So I am now working with standard Ubuntu 18.04 LTS based systems with following packages: kvm/qemu/libvirt/bridge-utils/ovmf/virt-manager
       
      As I want to use PCIe Passthrough for a number of PCIe card currently installed in the server (SmallTree 10GbE & Areca ARC-1883 SAS RAID) I set up my machine with linux kernel boot configuration (/etc/default/grub) of: 
      GRUB_CMDLINE_LINUX_DEFAULT="iommu=1 intel_iommu=on" (as my machine is intel VT-d based HW virtualisation)
       
      This resulted in creation of a number of iommu groups (see /sys/kernel/iommu_group directory for this and this posting for information: https://forum.level1techs.com/t/ubuntu-17-04-vfio-pcie-passthrough-kernel-update-4-14-rc1/119639 , noting that Ubuntu 18.04 LTS has kernel version: 4.15.0-22-generic so there is no need to do kernel update for iommu to work).
       
      Using bare minimal Clover config.plist:
       
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
          <key>Boot</key>
          <dict>
              <key>Arguments</key>
              <string></string>
              <key>DefaultVolume</key>
              <string>clover</string>
              <key>Debug</key>
              <false/>
              <key>Secure</key>
              <false/>
              <key>Timeout</key>
              <integer>3</integer>
          </dict>
          <key>GUI</key>
          <dict>
              <key>Scan</key>
              <dict>
                  <key>Entries</key>
                  <true/>
                  <key>Tool</key>
                  <true/>
              </dict>
              <key>ScreenResolution</key>
              <string>1024x768</string>
              <key>Theme</key>
              <string>embedded</string>
          </dict>
          <key>RtVariables</key>
          <dict>
              <key>BooterConfig</key>
              <string>0x28</string>
              <key>CsrActiveConfig</key>
              <string>0x3</string>
          </dict>
          <key>SMBIOS</key>
          <dict>
              <key>Trust</key>
              <false/>
          </dict>
          <key>SystemParameters</key>
          <dict>
              <key>InjectKexts</key>
              <false/>
              <key>InjectSystemID</key>
              <true/>
          </dict>
      </dict>
      </plist>
       
      And following Clover UEFI drivers:
      apfs.efi
      AppleImageCodec-64.efi
      AppleKeyAggregator-64.efi
      AppleUITheme-64.efi
      DataHubDxe-64.efi
      FirmwareVolume-64.efi
      FSInject-64.efi
      OsxFatBinaryDrv-64.efi
      PartitionDxe-64.efi
      SMCHelper-64.efi
      UsbKbDxe-64.efi
      UsbMouseDxe-64.efi
      VBoxHfs-64.efi
       
      I can boot MacOS, but it is very very slow... it sits on the apple boot logo for over a minutes before finally moving onto the progress bar.
      The other problem I have is that no PCI or Network devices appear in the "About This Mac" System Information Report and I cannot get any network connectivity from bridged E1000 network device.
       
      Here is my virtlib.xml dump for the virtual machine:
       
      <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
        <name>NAME-server-macos-10.12</name>
        <uuid>38986f0a-d1fd-476d-8478-3220afa50422</uuid>
        <memory unit='KiB'>16777216</memory>
        <currentMemory unit='KiB'>16777216</currentMemory>
        <vcpu placement='static' current='2'>8</vcpu>
        <os>
          <type arch='x86_64' machine='pc-q35-2.11'>hvm</type>
          <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
          <nvram>/home/USER/Documents/virtual-machines/NAME.server.macos-10.12/OVMF_VARS.fd</nvram>
          <bootmenu enable='yes'/>
        </os>
        <features>
          <acpi/>
          <vmport state='off'/>
        </features>
        <cpu mode='custom' match='exact' check='full'>
          <model fallback='forbid'>Penryn</model>
          <vendor>GenuineIntel</vendor>
          <topology sockets='2' cores='4' threads='1'/>
          <feature policy='require' name='vme'/>
          <feature policy='require' name='x2apic'/>
          <feature policy='require' name='hypervisor'/>
          <feature policy='require' name='invtsc'/>
          <feature policy='require' name='aes'/>
          <feature policy='require' name='xsave'/>
          <feature policy='require' name='avx'/>
          <feature policy='require' name='xsaveopt'/>
          <feature policy='require' name='avx2'/>
          <feature policy='require' name='smep'/>
        </cpu>
        <clock offset='utc'>
          <timer name='rtc' tickpolicy='catchup'/>
          <timer name='pit' tickpolicy='delay'/>
          <timer name='hpet' present='no'/>
        </clock>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>destroy</on_crash>
        <pm>
          <suspend-to-mem enabled='no'/>
          <suspend-to-disk enabled='no'/>
        </pm>
        <devices>
          <emulator>/usr/bin/kvm-spice</emulator>
          <disk type='file' device='disk'>
            <driver name='qemu' type='qcow2'/>
            <source file='/home/USER/Documents/virtual-machines/NAME.server.macos-10.12/NAME-hd1-01.qcow2'/>
            <target dev='sdb' bus='sata'/>
            <address type='drive' controller='0' bus='0' target='0' unit='1'/>
          </disk>
          <disk type='file' device='disk'>
            <driver name='qemu' type='raw'/>
            <source file='/home/USER/Documents/virtual-machines/images/macos-sierra-install.img'/>
            <target dev='sdc' bus='sata'/>
            <address type='drive' controller='0' bus='0' target='0' unit='2'/>
          </disk>
          <disk type='file' device='disk'>
            <driver name='qemu' type='qcow2'/>
            <source file='/home/USER/Documents/virtual-machines/images/clover-boot-24k-r4458.qclow2'/>
            <target dev='sdd' bus='sata'/>
            <boot order='1'/>
            <address type='drive' controller='0' bus='0' target='0' unit='3'/>
          </disk>
          <controller type='usb' index='0' model='ich9-ehci1'>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci1'>
            <master startport='0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci2'>
            <master startport='2'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci3'>
            <master startport='4'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/>
          </controller>
          <controller type='sata' index='0'>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
          </controller>
          <controller type='pci' index='0' model='pcie-root'/>
          <controller type='pci' index='1' model='dmi-to-pci-bridge'>
            <model name='i82801b11-bridge'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
          </controller>
          <controller type='pci' index='2' model='pci-bridge'>
            <model name='pci-bridge'/>
            <target chassisNr='2'/>
            <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
          </controller>
          <controller type='pci' index='3' model='pcie-root-port'>
            <model name='pcie-root-port'/>
            <target chassis='3' port='0x10'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
          </controller>
          <controller type='pci' index='4' model='pcie-root-port'>
            <model name='pcie-root-port'/>
            <target chassis='4' port='0x11'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
          </controller>
          <controller type='pci' index='5' model='pcie-root-port'>
            <model name='pcie-root-port'/>
            <target chassis='5' port='0x12'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
          </controller>
          <controller type='pci' index='6' model='pcie-root-port'>
            <model name='pcie-root-port'/>
            <target chassis='6' port='0x13'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
          </controller>
          <controller type='pci' index='7' model='pcie-root-port'>
            <model name='pcie-root-port'/>
            <target chassis='7' port='0x14'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
          </controller>
          <controller type='virtio-serial' index='0'>
            <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
          </controller>
          <controller type='scsi' index='0' model='virtio-scsi'>
            <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
          </controller>
          <interface type='bridge'>
            <mac address='52:54:00:4b:c6:e8'/>
            <source bridge='br50'/>
            <model type='e1000'/>
            <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
          </interface>
          <serial type='pty'>
            <target type='isa-serial' port='0'>
              <model name='isa-serial'/>
            </target>
          </serial>
          <console type='pty'>
            <target type='serial' port='0'/>
          </console>
          <channel type='spicevmc'>
            <target type='virtio' name='com.redhat.spice.0'/>
            <address type='virtio-serial' controller='0' bus='0' port='1'/>
          </channel>
          <input type='keyboard' bus='usb'>
            <address type='usb' bus='0' port='2'/>
          </input>
          <input type='mouse' bus='ps2'/>
          <input type='tablet' bus='usb'>
            <address type='usb' bus='0' port='3'/>
          </input>
          <input type='keyboard' bus='ps2'/>
          <graphics type='spice' autoport='yes'>
            <listen type='address'/>
            <image compression='off'/>
          </graphics>
          <sound model='ich6'>
            <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
          </sound>
          <video>
            <model type='vga' vram='65536' heads='1' primary='yes'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
          </video>
          <hostdev mode='subsystem' type='pci' managed='yes'>
            <source>
              <address domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
            </source>
            <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
          </hostdev>
          <hostdev mode='subsystem' type='pci' managed='yes'>
            <source>
              <address domain='0x0000' bus='0x0b' slot='0x00' function='0x1'/>
            </source>
            <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
          </hostdev>
          <redirdev bus='usb' type='spicevmc'>
            <address type='usb' bus='0' port='5'/>
          </redirdev>
          <redirdev bus='usb' type='spicevmc'>
            <address type='usb' bus='0' port='1'/>
          </redirdev>
          <memballoon model='virtio'>
            <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
          </memballoon>
        </devices>
        <seclabel type='none' model='apparmor'/>
        <qemu:commandline>
          <qemu:arg value='-readconfig'/>
          <qemu:arg value='/home/USER/Documents/virtual-machines/NAME.server.macos-10.12/macos.cfg'/>
        </qemu:commandline>
      </domain>
       
       
      Can any one advise of whether I need to update the CLOVER config.plist to add extra items in to allow network and PCI Passthrough to work.
       
      Thank you.
       
      Regards,
       
      Zebity
       
    • By notacone
      These are the Original iMac17,1 Firmware 0105_B20 ACPI Tables.
      They have been extracted from the firmware file provided in 10.12.4 update, so they are clean and unloaded.
      All tables are available in hex cut/new file/paste order so they are untouched and unloaded.
      I believe these files can serve to better study Skylake architecture implementation in Sierra.
      10.12.4-10.12.6 : IM171_0105_B20-10.12.4.firmware update ACPI Tables.zip
      10.13.0+ : IM171_0110_B00 10.13.0GM ACPI Tables.zip
    • By frankiee
      Hi there, time for my first guide after asking so many things
       
      Updated for newer Clover versions and with additional instructions for more apps: gdisk and RU.
       
      So what may be overlooked sometimes in the whole boot loader discussion is the ability of UEFI to do more than just loading an OS. This is why I see ".efi" files as "apps" because in fact they just are, built on a special kind of API: UEFI. So, you can actually do stuff like editing, diagnosing, testing certain stuff at the lowest possible system level without booting to any OS.
       
      DISCLAIMER: Use this guide at your own risk! For educational purposes only! Should do not any harm, but remember you are dealing with rather low level stuff. But at least for me everything went flawless.
       
      Prerequisites:
      Working clover installation Clover Configurator or some app to edit the config.plist  
      1) Memtest
       
      This is how to install the UEFI version of Memtest with Clover:
      Download memtest, I used this link: Image for creating boot-able USB Drive Open the archive by double clicking on it. Mount the file memtest86-usb.img within by double clicking again. Now, you should see a folder named EFI in this volume, containing a folder BOOT. Open it. The files containing it are the actual app, in 32 and 64 bit versions. Think in almost all cases we want to use the 64 bit version. Now, mount your EFI partition, using Clover configurator. Create a folder named MemTest86 in the EFI folder on your main drive. Copy all files in the EFI/BOOT folder from the mounted image to your newly created folder. That ends the basic setup! Now, we add the correct Menu entry to the clover boot menu, so that we can actually start this app.
       
      Get into clover configurator, open your standard config.plist from your boot drive and go to the GUI section. Under "Custom Entries", add an entry like this:
       

       
      Please note while the path you enter is not case sensitive, you must make sure you use the backslash "\" for entering paths, and not a slash. So basically what we do is tell clover where it can find the app, give it a name, and tell clover it is a "Windows" app. Note: with older Clover versions we had to set this to "Linux", but for now "Windows" is the setting that works.
       
      If you prefer to do a manual config, add this entry to your config.plist, under GUI/Custom/Entries:
      <dict> <key>CustomLogo</key> <true/> <key>Disabled</key> <false/> <key>FullTitle</key> <string>MemTest86</string> <key>Hidden</key> <false/> <key>Ignore</key> <false/> <key>Image</key> <string>\EFI\CLOVER\themes\Icons\os_mint.png</string> <key>Path</key> <string>\EFI\MemTest86\BOOTX64.efi</string> <key>Type</key> <string>Windows</string> <key>VolumeType</key> <string>Internal</string> </dict> Now, save and reboot and you should see the newly created entry. Note that I also used a custom Icon - this is optional - in case you don't you will just see a generic windows icon instead:
       

       
      And this is how it looks like:
       

       

       
      PS: also noticeably faster and you get also more features with this version than with the older version, for example it does now write a log file. For more Information, see: http://www.passmark.com/forum/showthread.php?4315-Memtest86-Version-5-Beta-%28Pure-UEFI%29
       
       
      2) gdisk
       
      Another app you can use is the UEFI version of gdisk (aka GPT fdisk), which you can use to edit and change your partitions.
       
      Warning! Install and use this app at your own risk! If you do something wrong here you might nuke your drive(s), so only use that if you know what you are doing.
       
      This is how to do it (even easier):
      Download here: https://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.1/gdisk-binaries/gdisk-efi-1.0.1.zip/download Mount your EFI partition Unzip the file and copy the resulting folder to your EFI Folder, so your path goes like this "/Volumes/EFI/EFI/gdisk-efi" Get into clover configurator, open your standard config.plist from your boot drive and go to the GUI section. Add an entry like this:  
      If you prefer to do a manual config, add this entry to your config.plist, under GUI/Custom/Entries:
      <dict> <key>CustomLogo</key> <false/> <key>Disabled</key> <false/> <key>FullTitle</key> <string>GDisk</string> <key>Hidden</key> <false/> <key>Ignore</key> <false/> <key>Image</key> <string></string> <key>Path</key> <string>\EFI\gdisk-efi\gdisk_x64.efi</string> <key>Type</key> <string>Windows</string> <key>VolumeType</key> <string>Internal</string> </dict> When everything went OK you should see this after selecting the respective entry in Clover:
       

       
       
      3) RU
       
      I recently found one more app that might be interesting to some, and thats "Read Universal" or in short "RU". This is a tool that enables you to debug your BIOS and read (and modify!) every imaginable data, including UEFI variables, ACPI Tables etc.
       
      Warning, again! I think blindly messing around with this app is even more dangerous, but on the other hand it gives you access to a lot of potentially interesting stuff.
      Download here: http://ruexe.blogspot.de/ The next steps are basically the same as above so make a folder in your EFI partition, copy the .EFI files and make another custom entry in your config.plist Here are some screens:
       

       

       

       
       
      So this is what you also can do with UEFI and clover. I am curious which other useful applications might exist!
       
      Anybody who knows, maybe post it here?
    • By TimNeumann
      MB: Asus X99 A-II
      RAM: G.Skill Ripjaws V F4-3200C16D-32GVK (3200MHz, 4x 16GB DIMMs, so Total 64GB) in quad-channel configuration.
      CPU: i7 6800k @4.0Ghz
      GPUs: GTX 1080 Ti and GTX 1060 3GB
      (each one a monitor, because I can't get DVI to run parallel with DP on the 1080Ti, and my second monitor only has DVI/VGA)
      OS: High Sierra 10.13.2 (17C88) / Clover revision: 4392
       
      Hello everybody,
      I occasionally have system crashes and suspect that it is related to RAM. However, this RAM is completely new, and a run with MemTest86+ from the USB stick showed no errors. However, if I use Memtest on MacOS, I get a bunch of error messages, but sometimes none (I restart the computer between tests).  
      As I just discovered, my RAM is not on the recommended vendor list of my motherboard, nor is it on the manufacturer side of the RAM. I have read several times that the RAM may not have been tested by the manufacturer on this platform. Not a single X99 motherboard is listed for this RAM.
      So I also suspect that my RAM is not compatible.
      But if that were the case, how could it sometimes work completely error-free?
       
      During RAM tests in summer 2017 (a slightly different setup, 4x8GB but still G.Skill Ripjaws V) I had no errors at Memtest under MacOS, if I remember correctly. At that time it ran under Sierra 10.12.6. AptioMemoryFix.efi could also cause problems.
      I am appreciative for any help!
       
      Here is an excerpt from a faulty test.
      It is noticeable that it is always the same address during the test, but a different one after each test.
      Memtest version 4.22 (64-bit) Copyright (C) 2004 Charles Cazabon Copyright (C) 2004-2008 Tony Scaminaci (Macintosh port) Licensed under the GNU General Public License version 2 only Mac OS X 10.13.2 (17C88) running in multiuser mode Memory Page Size: 4096 System has 12 Intel core(s) with SSE Requested memory: 57232MB (60012990464 bytes) Available memory: 57232MB (60012990464 bytes) Allocated memory: 57232MB (60012990464 bytes) at local address 0x00000001033e1000 Attempting memory lock... locked successfully Partitioning memory into 2 comparison buffers... Buffer A: 28616MB (30006495232 bytes) starts at local address 0x00000001033e1000 Buffer B: 28616MB (30006495232 bytes) starts at local address 0x00000007ffc4d800 Running 1 test sequence... (CTRL-C to quit) Test sequence 1 of 1: Running tests on full 57232MB region... Stuck Address : ok Linear PRN : testing 7 of 16 FAILURE! Data mismatch at local address 0x0000000e88133d30 Expected Data: 0xc4c340079ac9a645, Actual Data: 0xc4c3400788468846 Running comparison tests using 28616MB buffers... Random Value : ok Compare XOR : ok Compare SUB : ok Compare MUL : ok Compare DIV : ok Compare OR : ok Compare AND : ok Sequential Increment: ok Solid Bits : ok Block Sequential : testing 80 of 256 FAILURE! Data mismatch at local BUFA address 0x000000078b8c7530, BUFB address 0x0000000e88133d30 BUFA Data: 0x4f4f4f4f4f4f4f4f, BUFB Data: 0x4f4f4f4f88468846 Checkerboard : testing 3 of 64 FAILURE! Data mismatch at local BUFA address 0x000000078b8c7530, BUFB address 0x0000000e88133d30 BUFA Data: 0x5555555555555555, BUFB Data: 0x5555555588468846 Bit Spread : testing 1 of 128 FAILURE! Data mismatch at local BUFA address 0x000000078b8c7530, BUFB address 0x0000000e88133d30 BUFA Data: 0x0000000000000005, BUFB Data: 0x0000000088468846 Bit Flip : testing 74 of 512 FAILURE! Data mismatch at local BUFA address 0x000000078b8c7530, BUFB address 0x0000000e88133d30 BUFA Data: 0x0000000000000200, BUFB Data: 0x0000000088468846 Walking Ones : testing 40 of 128 Clover Files attached
      config.plist
      drivers64UEFI.zip
      kexts.zip
      ACPI.zip
    • By BurpSuite
      screenshot:
       

       
      description:
      github: https://github.com/burpsuite/clover_theme
×