# Run Vanilla OS X El Capitan, Sierra or High Sierra in VirtualBox 5.0.34 on a Windows Host

## Recommended Posts

Run Vanilla OS X El Capitan, Sierra or High Sierra in VirtualBox 5.0.34 on a Windows Host

Following on from my previous guide on how to create a VMware virtual machine running Vanilla OS X El Capitan in Windows, I’ve decided to write a similar guide for creating a VirtualBox El Capitan VM.

The virtual machine should be useful for testing El Capitan and also for creating installers for use on a real machine/hackintosh.

There are other tutorials and videos on the net about running OS X on Windows machines using pre-made VMDK disk images but you can never guarantee what else is in there….

I’ve gathered info for this guide from several threads in the Multibooting and Virtualisation section of this forum and also the wider internet eg

@dsmccombs comment on faking Ivybridge Processor

VirtualBox Forum: Status of OSX on OSX

Requirements

•    Intel PC with four or more CPU cores running Windows 7 X64 or later OS (2 or more cores needed for OS X)
•    4GB or more RAM (2GB or more will be needed for OS X)
•    Hard Disk with at least 40GB free for Virtual Machine
• 34
•    Install OS X El Capitan app and Mac or Hack to prepare installation iso <-- Now, no longer necessary to have previous access to a Mac or Hack by building the Installer.app from scratch - see post#75
•    16GB or larger exFAT formatted USB stick to transfer El Capitan iso from Mac/Hack to Host PC

Prepare Installation ISO on your Mac or Hack

2.  Download and unzip the CECI.tool (attached to this post) into your ~/Downloads folder. The commands in this executable script are shown below for informational purposes.  Note: you will need approx 16GB of free space on your hard disk for the script to complete.

#!/bin/bash

# Mount the Installer image
hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app

# Create El Capitan sparseimage of 7316mb with a Single Partition - Apple Partition Map
hdiutil create -o /tmp/ElCapitan -size 7316m -layout SPUD -fs HFS+J -type SPARSE

# Mount the El Capitan sparseimage
hdiutil attach /tmp/ElCapitan.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build

# Restore the Base System into the El Capitan Blank sparseimage
asr restore -source /Volumes/install_app/BaseSystem.dmg -target /Volumes/install_build -noprompt -noverify -erase

# Remove Packages link and replace with actual files
rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages
cp -rp /Volumes/install_app/Packages /Volumes/OS\ X\ Base\ System/System/Installation/

# Copy El Capitan installer dependencies
cp -rp /Volumes/install_app/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/BaseSystem.chunklist
cp -rp /Volumes/install_app/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/BaseSystem.dmg

# Unmount the installer image
hdiutil detach /Volumes/install_app

# Unmount the Base System image
hdiutil detach /Volumes/OS\ X\ Base\ System/

# Optimise Sparseimage Size
hdiutil compact /tmp/ElCapitan.sparseimage
hdiutil resize -size min /tmp/ElCapitan.sparseimage

# Convert the ElCapitan spareseimage to ISO/CD master
hdiutil convert /tmp/ElCapitan.sparseimage -format UDTO -o /tmp/ElCapitan.iso

# Rename the ElCapitan ISO image and move it to the desktop
mv /tmp/ElCapitan.iso.cdr ~/Desktop/'EC 10.11.0.iso'

# Delete ElCapitan.sparseimage file
rm -f /tmp/ElCapitan.sparseimage

3.  Open OS X terminal, then run the following commands to execute the script:

cd downloads
chmod +x CECI.tool
./CECI.tool

4.  At the end of the process, you will have an El Capitan iso on your desktop - copy this onto an exFAT formatted USB for use on the PC Host later.

Create an El Capitan Virtual Machine in VirtualBox

1.  Open the VirtualBox program and click the "New" button to create a new VM.

2.  Select Mac OS X and Mac OS X 10.11 El Capitan (64 -bit) for Operating System type and version.  I named my Virtual Machine "El_Capitan", then clicked next...

3.  Leave the Memory size at the recommended 2048 MB, then click next.

4.  Choose to "Create a virtual hard disk now", then click the create button.

5.  For the hard disk file type, the default is VDI (VirtualBox Disk Image) but I have selected VMDK for inter-operability with VMWare.  Click next...

6.  For Storage on physical hard disk, I have chosen the default Dynamically allocated (grows larger to a set limit as you need more disk space).

7.  On the File location and size screen, you can set the location of the new virtual hard disk and its size - I recommend changing disk size to 40GB or larger.  When you click the create button, you will now see your new VM in the VirtualBox main GUI.

8.  Click the settings button on the Main Menu to tweak a few settings....

a.  On the System/Motherboard tab in Boot Order, you can uncheck the Floppy Drive (who has these now?)

b.  On the System/Processor tab, you can increase the allocated CPU cores to 2

c.  On the Display tab, you can increase the allocated Video Memory to 128MB

d.  On the Storage tab, click on the icon of the Optical Drive and select "Choose Virtual Optical Disk File".

Navigate and select the El Capitan ISO we created earlier...

e.  Click the OK button to finalise the VM settings.

Patch El Capitan vbox configuration file with DMI Settings from a Mac

1.  From the start menu, type cmd and click run as administrator to open an administrative command prompt.

2.  Choose a Mac Model similar to your host system, then type the following lines, followed by <enter>  after each line.  Make sure you first close all VirtualBox Windows and the VirtualBox program, otherwise any changes you make won't stick...

Eg iMac11,3

cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

MacBookPro11,3

cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

Macmini6,2

cd "C:\Program Files\Oracle\VirtualBox\"


3.  Optional- For some host systems eg those with Haswell and newer CPUs, you might have to spoof an older CPU to avoid VirtualBox errors.  You can try from one of the following if this happens:

To spoof Lynnfield i5 750 CPU

VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000106e5 06100800 0098e3fd bfebfbff

To spoof IvyBridge CPU

VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff


or

VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 00020800 80000201 178bfbff

4.  Close the command prompt window.

Installation of El Capitan

We are now ready to start the El_Capitan Virtual Machine....

Installation should be relatively straight forward, just following the prompts of the OS X installer:

1.  Select language, agree to legal terms

2.  Use Disk Utility from the Utilities Menu to erase and format the virtual hard drive as a single partition GUID Mac OS X Extended.  I named my drive "Macintosh HD" but you can enter whatever you like eg El_Capitan.

3.  Quit DU and choose Macintosh HD to install El Capitan on.

4.  After 20-30 min (depending on how fast your system is), the installation will complete.  At this point, unmount the El Capitan ISO by clicking the Devices menu from the VM window, click Optical Drives, then choose Remove disk from virtual drive.  The VM is now ready to reboot into OS X from the virtual hard drive.

5.  At the welcome screen, choose your country and keyboard layout.  You can skip transfer information, location services and logging in with your Apple ID if you wish…

6.  Create a User Account and select your Time Zone.  You can skip sending diagnostics and usage data to Apple….

7.  Finally, you will arrive at the El Capitan Desktop.

8.  Network/internet and audio should work OOB but on my system, the sounds were distorted.  Unfortunately, there is no QE/CI and the VM resolution will be fixed without the ability to dynamically resize the VM window (no VirtualBox additions for OS X guests atm).

Customization with VBoxManage

1.  You can change the default resolution of 1024*768 (after shutting down the VM) with the VBoxManage command from the Windows Administrative Command Prompt:

cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage setextradata "El_Capitan" VBoxInternal2/EfiGopMode N (Where N can be one of 0,1,2,3,4,5)

referring to the 640x480, 800x600, 1024x768, 1280x1024, 1440x900, 1920x1200 screen resolution respectively.

Update:  For VirtualBox 5.2.x, the command for changing screen resolution has changed...

VBoxManage setextradata "<MyVM>" VBoxInternal2/EfiGraphicsResolution XxY (where X=Horizontal screen resolution, Y=Vertical screen resolution)

eg

VBoxManage setextradata "<MyVM>" VBoxInternal2/EfiGraphicsResolution 1280x1024


2.  Adding serials and other SMBIOS details for the System Information Screen

VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "W8#######B6"
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVendor" "Apple Inc."



A listing of known issues with Mac OS X guests can be found in the VirtualBox Manual - link https://www.virtualbox.org/manual/ch14.html.

Vanilla Mavericks and Yosemite, Snow Leopard from Retail DVD

The same VM settings for El Capitan will also boot and run vanilla installations of OS X Mavericks and Yosemite .  Attached to this post are installer scripts to create bootable Mavericks (CMI.tool) and Yosemite (CYI.tool) ISOs for VirtualBox and VMware.

With the respective OS X installer apps in the Applications folder, download and run the installer tools using terminal ie

To create a Mavericks ISO on your desktop

cd downloads
chmod +x CMI.tool
./CMI.tool

To create a Yosemite ISO on your desktop

cd downloads
chmod +x CYI.tool
./CYI.tool

Here is a screenshot of the VM running Mavericks 10.9.5...

Finally, those without a Mac/Hack to prepare the install media can purchase a retail Snow Leopard DVD directly from Apple and install OSX 10.6.3 on their virtual machines (Snow Leopard, Lion and Mountain Lion run quite happily in VirtualBox with 1 CPU, 1-2 GB of RAM and the rest of the settings unchanged from above).  Once you update by combo update to SL 10.6.8, you can directly download El Capitan from the App Store for free .

UPDATE macOS Sierra 10.12 to 10.12.6: For macOS Sierra, use CSI.tool in post#51.

UPDATE macOS High Sierra 17A365:  For macOS High Sierra, use CHSI.tool in post#73.

Good luck and enjoy

CECI.tool.zip

CYI.tool.zip

CMI.tool.zip

##### Share on other sites

OMG THE REAL MVP IS ON THE SHOW AGAIN!

##### Share on other sites

Clover for VirtualBox OS X Guest <--- Update:  Legacy Clover no longer works in VirtualBox 5.1.x and VirtualBox 5.2.x (causes red screen error).  Need to install in UEFI mode only and press <F12>, select "EFI Hard Drive" from Boot Manager to start VM with Clover

Some users may want to install Clover onto their OS X Guest to spoof a Mac more closely and enable MLB & ROM to be injected for iMessage/Facetime activation.

It is possible to install Clover for "UEFI booting only" if you set the Guest to use EFI BIOS but unfortunately, you have to use the <F12> key each time the VM boots up to select "EFI Hard Drive" and start Clover (VirtualBox's EFI Bios seems hardwired to give priority to boot.efi/Mac OS X above all other EFI options.  Even if you change boot priority, it doesn't seem to stick).

If you want to use Clover in VirtualBox, its much easier to use VirtualBox's legacy BIOS and install Clover in legacy mode.  During the setup of the Virtual Machine, you can use the same parameters as described in post#1 but uncheck EFI in the "Extended Features" and omit all the VBoxManage efi edits ie

Omit the lines which have "VBoxInternal/Devices/efi/0/Config/" but leave in

VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

If you have already created a VM with the offending lines, you can remove them with VBoxManage eg Open a Windows Administrative Command Prompt and type the following null entries....

cd "C:\Program Files\Oracle\VirtualBox\"


Clover Installation

Choose a custom legacy install of Clover into the EFI System Partition as shown below...

After Clover is installed, you can edit the config.plist with Clover Configurator to remove all injections and patches ---> leave a minimal config.plist but enter your generated/real MLB/ROM in Rt Variables etc.

Make sure to include the following -

boot arguments: -v usb=0x800 keepsyms=1 -serial=0x1 size=36

GUI Screen Resolution: 1024*768

eg of VirtualBox compatible 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>ACPI</key>
<dict>
<key>DSDT</key>
<dict>
<key>Debug</key>
<false/>
<key>DropOEM_DSM</key>
<false/>
<key>Name</key>
<string>DSDT.aml</string>
<key>ReuseFFFF</key>
<false/>
</dict>
<key>DropTables</key>
<array>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>CpuPm</string>
</dict>
<dict>
<key>Signature</key>
<string>DMAR</string>
</dict>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>Cpu0Ist</string>
</dict>
</array>
<key>SSDT</key>
<dict>
<key>DropOem</key>
<false/>
<key>Generate</key>
<false/>
</dict>
</dict>
<key>Boot</key>
<dict>
<key>Arguments</key>
<string>-v usb=0x800 keepsyms=1 -serial=0x1 size=36</string>
<key>Debug</key>
<false/>
<string>boot.efi</string>
<key>DefaultVolume</key>
<string>LastBootedVolume</string>
<key>Legacy</key>
<string>PBR</string>
<key>Secure</key>
<false/>
<key>Timeout</key>
<integer>5</integer>
<key>XMPDetection</key>
<false/>
</dict>
<key>Devices</key>
<dict>
<key>USB</key>
<dict>
<key>FixOwnership</key>
<false/>
<key>Inject</key>
<false/>
</dict>
</dict>
<key>GUI</key>
<dict>
<key>Mouse</key>
<dict>
<key>DoubleClick</key>
<integer>500</integer>
<key>Enabled</key>
<false/>
<key>Mirror</key>
<false/>
<key>Speed</key>
<integer>8</integer>
</dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<false/>
<key>Tool</key>
<true/>
</dict>
<key>ScreenResolution</key>
<string>1024x768</string>
<key>Theme</key>
<string>BGM</string>
</dict>
<key>Graphics</key>
<dict>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<false/>
<key>NVidia</key>
<false/>
</dict>
<key>NvidiaSingle</key>
<false/>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>AppleRTC</key>
<false/>
<key>AsusAICPUPM</key>
<false/>
<key>Debug</key>
<false/>
<key>KernelCpu</key>
<false/>
<key>KernelHaswellE</key>
<false/>
<key>KernelLapic</key>
<false/>
<key>KernelPm</key>
<false/>
</dict>
<key>RtVariables</key>
<dict>
<key>BooterConfig</key>
<string>0x28</string>
<key>CsrActiveConfig</key>
<string>0x0</string>
<key>MLB</key>
<string>C02032109R5DC771H</string>
<key>ROM</key>
</dict>
<key>SMBIOS</key>
<dict>
<key>Manufacturer</key>
<string>Apple Inc.</string>
<key>Trust</key>
<false/>
</dict>
<key>SystemParameters</key>
<dict>
<key>InjectKexts</key>
<string>No</string>
<key>InjectSystemID</key>
<true/>
</dict>
</dict>
</plist>


Minimal Clover config.plist.zip

##### Share on other sites

Thanks for this great guide, actually what I was looking for for weeks. It works also under Virtualbox for Linux, and everything went fine until I tried to install Clover in legacy mode.

It boots fine in UEFI mode, but in legacy I get a kernel panic with "zone_init: kmem_suballoc failed". And the virtual machine goes to "Guru Meditation".

Any clues?

##### Share on other sites

@Gwan,

You're right, I get the same error with Clover legacy/El Capitan At the moment with El Capitan and Clover in VirtualBox 5, only UEFI mode works so you have to use F12 on start up of your VM to load Clover first.

It seems like a bug/incompatibility with El Capitan only since Clover legacy works on my system to boot Mavericks and Yosemite without issue.

##### Share on other sites

Is this necessary to do this:

An alternative model to spoof is MacBookPro11,3 with an IvyBridge i7-3770 CPU - substitute the second to fifth lines above with

VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff

on HP Probook 450 G0 packed with:

Name Intel Core i5 3230M   Codename Ivy Bridge   Specification Intel® Core i5-3230M CPU @ 2.60GHz

?????

If not!!!!!!

I am facing an issue, my installation got stuck at DSMOS has arrived. Screenshot attached. Can someone help.

##### Share on other sites

@totbatotammo,

Not 100% sure about your errors but worth trying the VM with the IvyBridge i7 CPUID or even leaving the --cpuidset  line out.

Make sure you have made the El Capitan ISO with a Vanilla app downloaded from the App Store and prepared with the CECI tool.

Also cut and paste the text from the guide to avoid typing/syntax errors.

To determine whether the problem lies with your VirtualBox settings or your installer ISO, you can always try the ISO on VMware instead of VirtualBox .

Edit:

Make sure you close all VirtualBox Windows and the VirtualBox program before you patch the vbox configuration file with VBoxManage, otherwise any changes you make won't stick.

Also try a different Mac model if iMac doesn't work eg

MacBookPro11,3

MacBookPro8,2

Macmini6,2

You can confirm the Mac model being used during verbose boot - look for the prefix to the line

###.local.com.apple.xpc.launchd[1] (MyListenerSocket)

where ### will be iMac, MacBookPro, Macmini etc.

##### Share on other sites

Thank you so much for this amazing tutorial. It worked great  on my Lenovo Z510 using Linux as a host OS.

##### Share on other sites

I too am stuck on DSMO has arrived as well. I'm installing Yosemite.

Went back and tried Lynnfield and Ivy bridge patches. I've even tried Clover following your instructions closely.

Quite the puzzle.

##### Share on other sites
Hi pals!

I'm followed this guide but without a luck.

I have tried this approach on two different machines:

Core i3 + 4Gb RAM win 7

Core i5 + 16Gb RAM win 8

I've tried either to make ISO manually (on my MBP), using CECI.tool and finally I've downloaded VDI from TechReviews.

In all cases I see default pointer or spinning rainbow ball on black screen, so it seems installation indeed loads and works but for some unknown reason it fails to start UI properly.  Can you suggest something?  I would be very happy if I manage to run El Cap as guest system on my office windows machine.

P.S. I had installed Hackintosh successfully several times in past, but in case of office machine I can go only virtual box way.

##### Share on other sites

May I ask what the main drawbacks are for this?

I'm thinking of doing this for my 80 year old uncle to have iMessage on his PC running Windows 10 as he also uses an iPhone & iPad (but has a Windows PC...very new one too)

Would iMessage work on a virtual ElCap install?

Perhaps Photos too?

Thx all

##### Share on other sites

The good news: Mac OSX EC boots and works in VB on my Laptop.

The problem: 1024x768 is a postage stamp on my monitor(okay, a large postage stamp) and is too cramped to get anything done.

The attempted solution: Installed Clover.

The result: Mac OSX EC boots in 1920x1200, which now makes OSX too big for my 1920x1080 monitor.

I've been fiddling with the config.plist and vbox file, but no matter what I try Clover is stuck at 1920x1200. I can't even make it go to a low resolution like 1024x768. Am I missing something? Before it's suggested, I'm avoiding the "EfiGopMode" method since it doesn't provide a 16:9 aspect option.

##### Share on other sites

That worked fine. Thank you !

##### Share on other sites

I have Internet on my El Capitan Virtual Box but I can't login to my App store account. When I try, the Spinning pinwheel turn undefinitely. Any idea ?

Edit :

I added serials and other SMBIOS details for the System Information Screen like mentionned in the guide and it seems to work now. I didn't know it was for this purpose, sorry.

##### Share on other sites

The good news: Mac OSX EC boots and works in VB on my Laptop.

The problem: 1024x768 is a postage stamp on my monitor(okay, a large postage stamp) and is too cramped to get anything done.

The attempted solution: Installed Clover.

The result: Mac OSX EC boots in 1920x1200, which now makes OSX too big for my 1920x1080 monitor.

I've been fiddling with the config.plist and vbox file, but no matter what I try Clover is stuck at 1920x1200. I can't even make it go to a low resolution like 1024x768. Am I missing something? Before it's suggested, I'm avoiding the "EfiGopMode" method since it doesn't provide a 16:9 aspect option.

Did you try :

VBoxManage setextradata "El_Capitan" "VBoxInternal2/EfiGopMode" N (Where N can be one of 0,1,2,3,4,5)

##### Share on other sites

Did you try :

VBoxManage setextradata "El_Capitan" "VBoxInternal2/EfiGopMode" N (Where N can be one of 0,1,2,3,4,5)

Before it's suggested, I'm avoiding the "EfiGopMode" method since it doesn't provide a 16:9 aspect option.

Oops

##### Share on other sites

Well it's in the manual chapter 9.8.1: https://www.virtualbox.org/manual/ch09.html#idp46730497496080

VBoxManage setextradata "VM name" "CustomVideoMode1" "1400x1050x16"

You have to change "VM name" by your real VM name (put it in "") then change the "1400x1050x16" to whatever res you would like, for eg: "1920x1080x32".

Write a feedback if it worked.

Thanks

##### Share on other sites

Well it's in the manual chapter 9.8.1: https://www.virtualbox.org/manual/ch09.html#idp46730497496080

VBoxManage setextradata "VM name" "CustomVideoMode1" "1400x1050x16"

You have to change "VM name" by your real VM name (put it in "") then change the "1400x1050x16" to whatever res you would like, for eg: "1920x1080x32".

Write a feedback if it worked.

Thanks

Already tried that and it didn't work.

##### Share on other sites

Thank you so much for this post!

Too bad virtual box doesn't support guest additions for OSX to setup native shared folders between host and guest.

I'm only left with options like SMB or NFS but both seem to be bottle necking in speeds by the network adapter type options (i.e. Intel PRO/1000 MT Server), I would really like faster than gigabit internet adapters.

After getting an NFS share between host and guest, I am only transferring at 12 MB/s

Darn this would have been absolutely awesome. So close!

I'm going to snoop around and see if there's any chance to activate PCI pass through.

##### Share on other sites

Very best guide so far. Thank you.

Here are my working cpuidset:

(on HP i7 15.6in laptop, vbox 5.0.2, in EFI mode, with osx 10.9-10-11)

::MacBookPro8,2 with an IvyBridge i7-3770 CPU
VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000006fb 00000800 80000209 078bfbff
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"

Few more that you may test:

# unknown cpu
00000001 000206a7 02100800 1fbae3bf bfebfbff
# only for new i3/i5/i7 ivy bridge processor
00000001 000306a9 00020800 80000201 178bfbff
# MacBookPro11,3 with an IvyBridge i7-3770 CPU
00000001 000306a9 04100800 7fbae3ff bfebfbff
# iMac11,3 (27-inch, Mid 2010)
00000001 000106e5 00100800 0098e3fd bfebfbff
In my tests, some of the cpuid's gave errors like "vbox error", DSMOS and disk errors. I kept testing until one worked.

Here's the windows script I use to boot in EFI mode:

osx_efi_launch.bat

@echo off
set VM_NAME=%1

::echo 'configuring cpuid and extradata for %VM_NAME%'
set MANAGE="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
set VBOX="C:\Program Files\Oracle\VirtualBox\VirtualBox.exe"

:: MacBookPro8,2 with an IvyBridge i7-3770 CPU
%MANAGE% modifyvm %VM_NAME% --cpuidset 00000001 000006fb 00000800 80000209 078bfbff

:: 0 640x480
:: 1 800x600
:: 2 1024x768
:: 3 1280x1024
:: 4 1440x900
:: 5 1920x1200

::%MANAGE% showvminfo %VM_NAME%
::pause
start "" %VBOX% --startvm %VM_NAME%

Then I simply create as many shortcuts as I need, in which I modify the target according to the VM name.

d:\path\to\scrpit\osx_efi_launch.bat VIRTUAL_MACHINE_NAME

Script to remove extra data (useful when testing):

@echo off
set VM_NAME=%1

set MANAGE="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
set VBOX="C:\Program Files\Oracle\VirtualBox\VirtualBox.exe"

:: note CPUID will be taken out from the .vbox file
:: %MANAGE% modifyvm %VM_NAME% --cpuidset 0

pause
Hope it helps someone.

I've been fiddling with the config.plist and vbox file, but no matter what I try Clover is stuck at 1920x1200. I can't even make it go to a low resolution like 1024x768. Am I missing something? Before it's suggested, I'm avoiding the "EfiGopMode" method since it doesn't provide a 16:9 aspect option.

According to my test, the cpuid used may override the EfiGopMode. For example this one

# iMac11,3 (27-inch, Mid 2010)
00000001 000106e5 00100800 0098e3fd bfebfbff

would bypass my EfiGopMode=4, while others did not.

Worth the try.

##### Share on other sites

I followed all the instructions exactly but every time I start it I get stuck here:

##### Share on other sites

I followed all the instructions exactly but every time I start it I get stuck here:

I got same problem here..

but I still can not get into installation of el capitan step. it showing these error every time I start the installation.

I have tried to change the cpuidset become those that listed by clauden, still always error.

##### Share on other sites

probably caused the graphics card these problems, if the system should get stuck here:  “....Waiting for DSMOS” or “....DSMOS has arrived” .... ...or "IOBluetooth ....missing bluetooth...."

boot with your recent bootargs but in singel user mode as: -s .........   (if a dsdt is used, then boot with: DSDT=NO)

fsck -fy               (press the enter key)

mount -uw /                 (press the enter key)

mkdir /backup                      (write these and press the enter key)

cd /System/Library/Extensions                            (write these and press the enter key)

mv AppleIntelHD* AppleIntelSNB* AMDRadeon* ATI* GeForce* NVDA* /backup        (write these and press the enter key)

rm ../Caches/com.apple.kext.caches/Startup/kernelcache      (write these and press the enter key)

reboot              (press the enter key)

alternatively:

connect the USB flash disk or your external HDD to an runnable OS X system

and remove all graphics drivers, as described above from S/L/E, then fix the permissions and reboot.

##### Share on other sites

probably caused the graphics card these problems, if the system should get stuck here:  “....Waiting for DSMOS” or “....DSMOS has arrived” .... ...or "IOBluetooth ....missing bluetooth...."
boot with your recent bootargs but in singel user mode as: -s .........   (if a dsdt is used, then boot with: DSDT=NO)

fsck -fy               (press the enter key)
mount -uw /                 (press the enter key)
mkdir /backup                      (write these and press the enter key)
cd /System/Library/Extensions                            (write these and press the enter key)
mv AppleIntelHD* AppleIntelSNB* AMDRadeon* ATI* GeForce* NVDA* /backup        (write these and press the enter key)
rm ../Caches/com.apple.kext.caches/Startup/kernelcache      (write these and press the enter key)
reboot              (press the enter key)

alternatively:
connect the USB flash disk or your external HDD to an runnable OS X system
and remove all graphics drivers, as described above from S/L/E, then fix the permissions and reboot.

I have no idea what you mean by this? What console do I type those commands in?

So I did everything the same except instead of using the SATA optical drive I used an IDE one to mount the .iso

It gets to here:

Then this happens:

About every 2 mins a new blank line appears and no matter how long I leave it is never progresses.

Does this method not work for the 10 Dec 2015 build of El Capitan?

## Create an account

Register a new account

• ### 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:

And following Clover UEFI drivers:

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:

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

• Installing macOS® Sierra® on Gigabyte GA-Z170X-Gaming 5 rev 1.0
Intel® Core i7 6700K
nVidia® Graphics Maxwell® or Pascal®
Disclaimer:
This guide will assume that you know what you are doing and also assumes that you have already made a backup of your data before making any changes to your hardware or software. If you have not made a backup STOP HERE! and create one.
I will not be held responsible for any data loss or any damage you might cause to your computer in the process of installing macOS® on your computer.
By following this guide, you acknowledge that installing Mac OS X® and macOS® on any hardware that is not produced by Apple® is illegal and you will be responsible if you break any laws.
All the trademarks and copy rights belong to their respective owners.
This guide is only for your personal use and your information, therefore if you break any laws by using this manual you will be responsible for it not me. Any commercial use of the contents of this guide is prohibited.
If I forget to mention your name or someone else’s name in the credits section forgive my negligence and feel free to contact me and I will add your name/s.
This guide is written specifically for the hardware specifications I’m using, but the principal in general might apply to other hardware with similar specs with the exception of DSDT and SSDT files.
Important Notes:
1. Always backup your data before making any changes to your hardware or software.
2. Always keep a bootable Clover USB disk with the latest working configurations just in case.
3. I suggest you use another bootable USB for testing and not to edit the EFI folder on the hard drive.
4. Preferably use the latest BIOS (F21 at the time of writing) version and the latest version of Clover EFI bootloader (4077 at the time of writing).
5. There are two main versions of Clover EFI bootloader available in this package. One for the users with a nVidia GPU and the other one is for the users with IntelHD 530 GPU.
6. So many parts of this tutorial are universal and they apply to all Hackintosh and Apple computers, like creating the Bootable USB disk drive or mounting the EFI partition. So, you can use them on all the computers that run macOS or even use them for installing macOS on other Hackintosh computers.
7. The config.plist, the DSDT.aml file and the SSDT tables are specifically created for the GA-Z170X-Gaming 5 motherboard so do not use them on other hardware because they simply won’t work or even if they do you might experience some problems and errors.
8. This tutorial is based on my personal experience. So, you might need to make some extra adjustments.

Download the version of macOS® you want to install on your computer from App Store, macOS® Sierra. For downloading the macOS® installer you’ll need an Apple® computer or a working Hackintosh and a valid Apple ID. Although downloading macOS® Sierra® doesn’t require an Apple ID but if you are going to use your Hackintosh for day to day use you’re going to need a valid Apple ID.
macOS® Sierra® 10.12.5:
https://itunes.apple.com/us/app/macos-sierra/id1127487414?mt=12&ls=1

Creating bootable USB Disk for macOS®:
Plug in a USB flash drive (8Gb or larger) and launch disk utility to format the flash drive.
To create a bootable USB drive for macOS®, everything must be exactly as shown in the picture below.
Once you successfully formatted the flash drive, open Terminal from /Applications/Utilities:
Copy and paste the following command into terminal without the “”:
For macOS® Sierra®:
“sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ macOS\ Sierra.app —nointeraction”
Depending on the speed of the USB drive you are using it will take about 5 to 30 minutes to complete the process. It took about 5 minutes on my computer to create the bootable disk on a USB 3.0 flash drive.

How to mount the EFI partition using command line:
Launch the terminal application again if you closed it previously.
Type “diskutil list” and press return/enter
You’ll see list of all the Internal and the external hard drives
Type “diskutil mount /dev/diskXsX” and press return/enter
First X is the number of the disk and the second X is the number of the partition
In this case the command will be:
e.g. diskutil mount /dev/disk2s1
Now you can see the EFI partition of disk6 is mounted on the desktop, if you can’t see the partition on the desktop you can find it in finder window’s “Sidebar” under “Devices”

BIOS Settings:
Now it’s time to configure the BIOS before installing macOS®.
First of all, it’s better to “Load Optimized Defaults” settings on the BIOS so we could start from scratch without having any misconfigurations.
You need to make the following changes to get macOS® working on your pc:
BIOS:
Fast Boot = Disabled
Windows 8/10 = Windows 8/10 WHQL or Other OS
CSM Support = Disabled
Secure Boot = Not Active
Attempt Secure Boot = Disabled
Peripherals
Initial Display Output = PCIe 1 Slot (Only If you are using a nVidia GPU, if you are using an AMD GPU you’ll need to enable IGFX and set it to primary in order to boot into macOS® Sierra®)
Trusted computing, Security Device Support = Disable
Super IO Configuration, Serial IO = Disable
USB Configuration, Legacy USB Support = Enabled
USB Configuration, XHCI Hand-off = Enabled
USB Configuration, USB Mass Storage Drive Support = Enabled
USB Configuration, Port 60/64 Emulation = Enabled
SATS And RST Configuration = AHCI
Chipset
VT-d = Disabled (If you need it add “dart=0” flag to config.plist under Boot section)
Internal Graphics = Disabled (Only If you are using a discreet GPU if you are using an AMD GPU you’ll need to enable IGFX and set it to primary in order to boot into macOS® Sierra®)
In Chipset, IOAPIC 24-119 Entries = Disable
If you are using Intel Graphics or IGFX
In Chipset, Internal Graphics = Enabled
In Chipset, DVMT Pre-Allocated = set it to 64
In Chipset, DVMT Total Gfx Mem = set it to max
Save and Exit.

In order to boot successfully into macOS® you’ll need to install a Bootloader on the drive you are using as the main bootable device whether is a flash drive or a hard disk drive.
There are number of bootloaders that could be used to boot up the macOS® on a PC computer or a Hackintosh but we will only use Clover EFI Bootloader and here is how to properly install and configure Clover EFI Bootloader on your computer.
In this section, we will be installing the UEFI version of the Clover so if you are using the Legacy BIOS version for whatever reason this guide is not for you.
https://sourceforge.net/projects/cloverefiboot/
As I mentioned before in the first page of this manual the latest version of the Clover EFI Bootloader is Clover_v2.4k_4077.

Stage 1:
Once you have downloaded the bootloader double click the installer package to start the installation process. The process will only take few minutes and after that you need to customize or optimize the contents of the EFI partition which you’ve installed clover into. Please make sure you select the USB drive you created earlier as shown below and not the HDD of the computer you are using.
If you see the following dialog after double clicking the installer package, all you need to do is to right click on the Clover_v2.4k_r4077.pkg and from the menu select open and once more click the open button.
Click continue and read the “Important Information” or not and then click continue once more.
You need to select the location that you want to install Clover EFI Bootloader to.
Make sure that you are installing clover to the right location, basically you must choose the drive that you have installed macOS® Sierra® onto unless you want to install the bootloader on another drive, say a flash drive.
Now you need to customize which components of the bootloader to be installed, if not you won’t be able to boot into macOS® at all.
Check the following items and then click install:
1. Install for UEFI booting only (Unified Extensible Firmware Interface)
2. Install Clover in the ESP (EFI System Partition) or (Extensible Firmware Interface System Partition)
3. Install can also choose a theme for your clover bootloader and the CloverThemeManager.app to change or modify the themes later.
4. Install Drivers64UEFI that apply to your system you will need at least these two drivers:
1. EmuVariableUefi-64
2. OsxAptioFix2Drv-64
You can also choose other drivers if they apply to your computer and if you need them, otherwise you’re good to go.
5. You can also install the RC script on the target volume to enable the shell command prompt in clover’s boot screen.
Once the installation is started, the EFI partition of the hard disk or USB drive that you are installing clover to will be mounted on the desktop, if you can’t see the partition on the desktop you can find it in the finder window’s “Sidebar” under “Devices”

Stage 2:
In this stage, you need to configure the config.plist and the other components on the EFI partition either by modifying the config.plist inside the /EFI/Clover/ folder using “TextEdit” or any other text editor application that you like or using “Clover Configurator” (recommended) application which has a GUI for editing the config.plist and it has some other useful built-in apps such as EFI mounter or a Base64 to HEX converter etc. or you can just simply replacing the “Clover” folder with the one that is provided with this guide.
At this moment you might not be familiar with all the settings and options inside the config.plist file and Clover Configurator, no need to worry.
You can easily replace the whole “Clover” folder inside the “EFI” folder on the EFI partition of your bootable disk (hard disk drive or USB flash drive) with the folder included with this guide and you’ll be good to go as along as your main components specifically your CPU and GPU are the same as mine.
Otherwise you might need some additional settings and flags to be added to the config.plist.
For instance, if you are using a NVMe SSD disk drive you’ll need to add proper patches in order to get it to work.
You can find more about clover and its settings at:
https://clover-wiki.zetam.org/Home

and you can find “Clover Configurator” at:
http://mackie100projects.altervista.org

How to enable kext using Clover EFI Bootloader:
In this section I will briefly explain how to install kexts that are needed to make your macOS® work more properly and efficiently.
As you know all the hardware components in a computer need a so called “Driver” to operate correctly in the operating system.
The same principle applies to macOS® and Mac OS X®. We call them “Kext” files or “Extension” files.
By default, Apple provides all the required kext files with the operating system to run on a legitimate Apple computer.
On the other hand, on a Hackintosh you need to install some extra kext files created by the community to obtain full functionality of your computer. You can either install them directly to “System/Library/Extensions” folder of macOS® Drive or you can place them into the EFI folder on the EFI partition of your bootable drive, which is a better way because if those files are the modified version of an original kext file that Apple is provided after each major update they will be replaced is the OS and you’ll lose the functionality of that particular component or more components.
For example, Maxwell and Pascal GPUs have the “Boot to black screen” issue with some SMBIOS settings like iMac17,1, iMac15 and MacPro 6,1 system definitions. It means if you use one of those system definitions your computer will show a black screen after loading macOS® even after installing the nVidiaWebDrivers.
So, you’ll need to either change the SMBIOS definition or you need to patch the “AppleGraphicsDevicePolicy.kext” to avoid the black screen.
Once you patch the file with whatever method, if you install macOS® update you’ll need to apply the patch all over again.
Besides changing the system files in macOS® will mix up the file permission of the files and if it’s not properly installed or if you forget to fix the permission of the files you might render the whole operating system useless and you’ll need to either fix the permissions on the /System/Library/Extensions or for short /S/L/E or you might need to reinstall the whole operating system from scratch.
For each version of macOS®, there is a folder inside the following path:
/EFI/Clover/kext/
So, you can copy the kexts you need inside the folder that correlates with the version of macOS® you are using.
Even if you update the OS, the files inside that path won’t get changed.
How to properly adding kext file to /System/Library/Extensions:
There are several ways to install additional kexts on macOS, but I will only discuss two methods that are the easiest ways to install kext without having to type any commands in terminal.

Using Kext Utility:
By using kext utility you can easily install kext files inside /System/Library/Extension.
All you have to do is to open the Kext Utility app, type in your password and drag the kext file you want to install into the app’s window and it will install them in to the path give above. The good thing about this app is that it will automatically repairs the permission of the /System/Library/Extension folder and the kext files inside it.
Once the process is done you can reboot the system and see the results.

Kext Wizard:
Kext wizard is another handy tool with more functions built into it, you can select the path for installing the kexts files even to another operating system on another volume.
You can repair the permissions and rebuild system kext cache. You can even load kexts files and test them or list the kext that are already loaded in the system.

Post Installation:
To have a fully functional Hackintosh you need to add the following kext files and DSDT/SSDT files and tables.
Kexts:
Audio:
AppleALC.kext
https://github.com/toleda/audio_CloverALC
Lilu.kext
https://github.com/vit9696
CodecCommander.kext v2.4.0 for Audio after sleep

Note:
Install CodecCommander.kext v. 2.4.0 inside /System/Library/Extensions/ and set darkwake=8 in config.plist to solve the audio after sleep issue.
I tried installing it inside /EFI/Clover/kexts/10.12 and /EFI/Clover/kexts/Other and it didn’t work.
I also tried other versions of CodecCommander.kext but none of them worked except for the v. 2.4.0.
If you don’t want to use Lilu.kext and AppleALC.kext and see the read the “Other methods for activating audio section”.
realtekALC.kext with https://github.com/toleda/audio_RealtekALC/blob/master/audio_realtekALC-120.command.zip
audio_cloverHDMI-120_v1.0d.command for HDMI Audio: https://github.com/toleda/audio_CloverHDMI/blob/master/audio_cloverHDMI-120.command.zip

Ethernet:
or

Graphics:
IntelGraphicsFixup.kext https://sourceforge.net/projects/intelgraphicsfixup/ if you are using the Intel Integrated Graphics
Lilu.kext https://github.com/vit9696
NVidaiGraphicsFixup.kext https://sourceforge.net/projects/nvidiagraphicsfixup/

USB 3.0
USBInjectAll.kext

Note:
I also tested the system without USBInjectAll.kext and all my USB 2.0 and USB 3.0 ports were fully functional so it’s up to you whether to use it or not.

VERY IMPORTANT NOTE:
Before you start using macOS® Sierra®, you need to change the SMBIOS of the config.plist:
You have to change the SMBIOS settings before starting to use macOS® Sierra®, because the config.plist that is included in this guide doesn’t have a serial number for your Hackintosh, so you won’t be able to use any of Apple’s services without a serial number and a hardware UUID. It’s imperative to do so specially if you are going to use your Hackintosh for daily use. If you don’t change the serial number you won’t be able to use App Store, iCloud, iMessage etc. It’s highly recommended that you use iMac 17,1 SMBIOS as your default. iMac 17,1 and iMac 17,2 models use Skylake processors in Apple's original iMacs.
For changing the SMBIOS you can use the built-in wizard inside “Clover Configurator” under SMBIOS Section. To open the wizard, click the small magic wand on the right side of the window to use the wizard.

Audio:
By using the EFI folder included with this guide and by using the patched DSDT/SSDT tables, “AppleALC.kext” and “Lilu.kext” you won’t need to do much to make the audio active on your Hackintosh.
Just install the macOS® Sierra®, copy the EFI folder and audio is activated by default, HDMI audio will be active once you install nVidiaWebDrivers and restart the computer.
If the audio didn’t work, you can rebuild prelinked kernel and kexts cache by using the following commands in terminal:
1. sudo nvram -c 2. sudo purge 3. sudo rm -f /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache && sudo touch /System/Library/Extensions && sudo kextcache -u / sudo update_dyld_shared_cache -force Or you can use “Kext Utility” to repair permissions on /System/Library/Extensions and /Library/Extensions and also it will also rebuilds the system cache for you.
Kext Utility could be found at:
http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=186603

Note:
If you see the following output in terminal it means that you forgot to mount the EFI partition, mount it and run the command again.
EFI partition not mounted
EFI/CLOVER folder not available to install audio
No system files were changed
To save a Copy of this Terminal session: Terminal/Shell/Export Text As ...
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]

Other methods for activating the Audio:
1. audio_codecdetect.command
This command will give you useful information about the audio chipsets and devices that are available on the system, after you run the command, the output will be like this:
cdetect_v2.2.command ; exit;
File: audio_codecdetect.command_v2.2
HDMI audio codec(s)
Nvidia:   0x10de0083
Onboard audio codec
Realtek: 0x10ec0900
Name: Realtek ALC1150
Audio ID: 1
Valid audio codec, audio device and Audio ID; audio injection is working
Finished
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]

This means that the audio chipset is supported and you can go to the next step of installing the audio using Toleda's scripts.

2. audio_cloverALC-120_v1.0f3.command
Type in the password and press return/enter
Agreement
The audio_cloverALC script is for personal use only. Do not distribute
the patch, any or all of the files or the resulting patched AppleHDA.kext
for any reason without permission. The audio_cloverALC script is
provided as is and without any kind of warranty.
File: audio_cloverALC-120.command_v1.0f3
Release Mode
EFI partition is mounted
System Integrity Protection status: disabled.
OK to patch
Confirm Realtek ALC1150 (y/n): y
Clover Audio ID Injection (y/n): y
Use Audio ID: 1 (y/n): y
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
100 23555  100 23555    0     0  12259      0  0:00:01  0:00:01 --:--:-- 12255
Edit config.plist/Devices/Audio/Inject/1
Edit config.plist/SystemParameters/InjectKexts/YES
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
100  1855  100  1855    0     0   3033      0 --:--:-- --:--:-- --:--:--  3031
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
100  4223  100  4223    0     0   3383      0  0:00:01  0:00:01 --:--:--  3383
Install /Volumes/EFI/EFI/CLOVER/kexts/10.12/realtekALC.kext
Install System/Library/Extensions/AppleHDA.kext/ALC1150 zml files
Fix permissions ...
Kernel cache...
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext CodecCommander.kext
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext AppleGraphicsDevicePolicy.kext
KernelCache ID: 4EEE3A25D6E9388FE8F02F8E56A57A1D
kextcache updated critical boot files, requesting launchd reboot
Install finished, restart required.
To save a Copy of this Terminal session: Terminal/Shell/Export Text As ...
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
All you need to do now is to reboot the system and you’ll have audio!

3. HDMI Audio
For activating the HDMI Audio for you need to run audio_cloverHDMI-120.command
This command will detect the audio codec for you integrated graphics and discrete GPU and will add the proper SSDT table to /EFI/Cover/ACPI/patched folder
Agreement
The audio_cloverHDMI script is for personal use only. Do not distribute
the patch, any or all of the files for any reason without permission.
The audio_cloverHDMI script is provided as is and without any warranty.
File: audio_cloverHDMI-120.command_v1.0d
Release Mode
EFI partition is mounted
No HDMI audio codec(s) detected, continue (y/n): y
HDMI audio codec(s)
Integrated Graphics is not installed/enabled
Install AMD/Nvidia HDMI audio (y/n): y
Nvidia discrete graphics card 10de1b81 found on PEG0@1/PEGP@0
Nvidia HDMI audio is not enabled
Install Nvidia HDMI audio ssdt (y/n): y
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
100 44888  100 44888    0     0  39094      0  0:00:01  0:00:01 --:--:-- 39101
/Volumes/EFI/EFI/CLOVER/ACPI/patched/SSDT-HDMI-NVIDIA-PEG0.aml installed
Install finished, restart required.
To save a Copy of this Terminal session: Terminal/Shell/Export Text As ...
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]

Audio Troubleshooting:
If after running the audio_cloverHDMI-120_v1.0d.command you see the following statement
“Agreement
The audio_cloverHDMI script is for personal use only. Do not distribute
the patch, any or all of the files for any reason without permission.
The audio_cloverHDMI script is provided as is and without any warranty.
File: audio_cloverHDMI-120.command_v1.0d
Release Mode
EFI partition is mounted
Error: no IOReg/HDEF; BIOS/audio/disabled or ACPI problem
Continue without HDEF/onboard audio (y/n): y
No audio codec detected
No system files were changed

It means you either don’t have a patched DSDT.aml file or SSDT tables and no patches are present inside the config.plist so you need to either add the DSDT/SSDT tables or add patches yourself.
Don’t be alarmed it’s so easy.
Open clover configurator and after mounting the EFI partition, open the config.plist and add the following patch :
Under ACPI, DSDT patches select “change HDAS to HDEF” from “List of Patches” and this will add the following code in the config.plist
</dict>
<key>Comment</key>
<string>change HDAS to HDEF</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
SERBUw==
</data>
<key>Replace</key>
<data>
SERFRg==
</data>
</dict>
or
Comment: change HDAS to HDEF
Find*[HEX] 48444153
Replace*[HEX]48444546

Graphics:
This section will be dedicated to nVidia GPUs specially Maxwell and Pascal. If you are using any other nVidia or AMD graphics you can skip this section.
We tested these instructions on an EVGA 1070 Superclocked GPU and a Gigabyte nVidia GeForce GTX960 GAMING-4GB (Please include the brand for reference).
As you might know the 10 series nVidia GPUs or Pascal are not compatible with Mac OS X El Capitan and earlier versions of macOS® but 9 series and Maxwell are compatible and they both need nVidiaWebDrivers to be fully functional.
https://images.nvidia.com/mac/pkg/378/WebDriver-378.05.05.15f01.pkg
Solution 1:
If you are looking for an easy way to get the GPU working all you have to is to copy the Lilu.kext and nVidaiGraphicsFixup.kext inside the kext folder in clover EFI bootloader.
The full path is /EFI/Clover/kext/10.12
Once you finished installing macOS® and nVidiaWebDrivers you’ll need to add the following flags and setting to the config.plist
Under “Boot” section add or remove nvda_drv=1 if necessary. I don’t need to use it on my computer. You don’t need to inject anything in “Graphics” section Under “System Parameters” check “NvidiaWeb”   When installing Clover EFI bootloader under “Drivers64UEFI” install “EMUVariableUefi-64” // I also use OsxAptioFix2Drv.efi, never tested without it.
and that’s it!

Solution 2:
If you don’t want to use nVidaiGraphicsFixup.kext you only have two options:
1. Run AGDP-fix.app to edit the “AppleGraphicsDevicePolicy.kext” to fix “Boot to Black Screen” issue 2. Or you can edit the “AppleGraphicsDevicePolicy.kext” manually using terminal. If you choose the second solution for any reason remember after each major update you need to apply the patch all over again.

Wi-Fi:
TP-Link WDN4800 works out of the box without any hassle.
The only problem that you might encounter with it is "ATHR: unknown locale: 21" error in the verbose boot.
The Atheros patch is to avoid the series of "ATHR: unknown locale: 21" messages in the verbose boot which they will be registered in message console's logs and they will make the log file bigger. The patch will fix the WiFi location and will stop the error and therefore there will be no more logs.
Without the patch, the WiFi will work just the same but with lots of messages in the log.
If you don’t use the TP-Link WDN4800 you can remove the patch or simply leave it as disabled.

USB 3.0:
Under Kernel and Kext Patches add the following to “KextsToPatch”:
This patch will raise the limit of the USB ports from 15 to 26.
For macOS® Sierra
Name*: AppleUSBXHCIPCI
Find* [HEX] : 83bd74ff ffff10
Replace [HEX] : 83bd74ff ffff1b
Comment: Raise change 15 port limit to 26 in XHCI kext (100-series)
MatchOS: 10.12.x
You also might need to add RehabMan’s “USBInjectAll.kext” to the following path under “/EFI/Clover/kexts/10.12” for macOS® Sierra
Note:
If you are using a patched DSDT or SSDT tables you don’t need to use any DSDT patches in clover and the “USBInjectAll.kext” you will have full functional USB 2.0 and USB 3.0 ports. I didn’t test USB 3.1 ports because I have no USB 3.1 device to test it!
The port limit patch must only be temporary, you will need to create your own custom SSDT-UIAC to only inject the ports you use.

Custom SSDT-UIAC:
A quick rundown on how to create a custom SSDT-UIAC.
<dict>
<key>Comment</key>
<string>change 15 port limit to 26 in XHCI kext (100-series)</string>
<key>MatchOS</key>
<string>10.12.x</string>
<key>Name</key>
<string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
<key>Find</key>
<data>g710////EA==</data>
<key>Replace</key>
<data>g710////Gw==</data>
</dict>

or

Name*: AppleUSBXHCIPCI
Find* [HEX] : 83bd74ff ffff10
Replace [HEX] : 83bd74ff ffff1b
Comment: Raise change 15 port limit to 26 in XHCI kext (100-series)
MatchOS: 10.12.x

The USBInjectAll.kext provided in this guide needs to be and stay installed.
https://github.com/RehabMan/OS-X-USB-Inject-All/archive/master.zip
and extract the zip file.
Inside the OS-X-USB-Inject-All-master folder you will find SSDT-UIAC-ALL.dsl, copy it to your desktop.
Open ioregistryexplorer and find your device id by typing XHC in the search field.
Open SSDT-UIAC-ALL.dsl with MaciASL and find your appropriate device id section.
Remove all other sections in the SSDT-UIAC-ALL.dsl that do not correspond with your device id leaving just the one section. Skylake does not have a EHCI controller so “HUB1”, ”HUB2”, ”EH01”, "EH02" can be removed and in my case I can also remove "8086_1e31", "8086_8xxx", "8086_9xxx", "8086_9cb1", "8086_9d2f" and "8086_a2af".
Compile the file to make sure there are no errors in the code and then save the file with “ACPI Machine Language Binary”.
Now we turn our attention to ioregistryexplorer, while you have ioregistry open go to the XHC section and take note of the HSxx or SSxx locations that have devices attached. Now plug in a USB 2.0 device into all USB 2.0 you NEED and do the same with USB 3.0 ports with USB 2 and 3 devices and take note of them all.
Returning back to the SSDT-UIAC-ALL.dsl you will see all ports listed, you need to remove the ones you did not take note of and you can also add a comment to the ones you keep.
UsbConnector values = USB 2.0 = 0, USB 3.0 = 3. Internal = 255
USB 2.0 devices plugged into USB 3.0 ports HSxx are still marked as USB 3.0 = 3.
Internal devices such as Bluetooth etc are marked as 255
Once you gone through and done this to all the devices you need and removed the ones you don’t you can save your SSDT-UIAC-ALL.dsl in MaciASL. Make sure you rename it to SSDT-UIAC and that the file format is ACPI Machine Language Binary
Copy and paste the resulting SSDT-UIAC.aml into your EFI/EFI/CLOVER/ACPI/patched folder.
Disable the port limit patch in config.plist and add SSDT-UIAC.aml into SortedOrder if needed.
Reboot.

Open ioregistryexplorer and test the ports you left enabled USB 2 & 3.
The number of ports you should see in ioreg should be significantly reduced as they are not being injected anymore.

Special Thanks to:
I would like to thank MaLd0n for providing the patched version of DSDT and SSDT tables and SavageAUS for doing such a great work on helping me to write this tutorial and testing the files and also writing the “Custom SSDT-UIAC” section.
I also would like to thank:
Vit9696 for Lilu.kext
RehabMan for CodecCommander.kext FakeSMC.kext, IntelMausiEthernet.kext, USBInjectAll.kext.
Toleda for AppleALC.kext, Audio commands and kexts
netkas for FakeSMC.kext
lvs1974 for IntelGraphicsFixup.kext and NvidiaGraphicsFixup.kext
hnak for AppleIntelE1000e.kext
Mieze for IntelMausiEthernet.kext
apianti, blackosx, blusseau, dmazar, slice2009 for Clover EFI Bootloader
http://mackie100projects.altervista.org for Clover Configurator
Apple Inc. for macOS® and great many other products.
And many other great people whom make Hackintosh possible!

The hardware I use in my computer:
Gigabyte GA-Z170X-Gaming 5
Intel Skylake Core i7 6700K @ 4.0 GHz
32 GB (4x8 GB) 2666 GSKILL Ripjaws
EVGA GTX 1070 SC 8 GB
Dual Display 23.5"
Kingston HyperX 240GB SATA III SSD
250 GB Samsun EVO 850 SSD
CoolerMaster Silencio 452 Case
CoolerMaster Nepton 120XL Liquid Cooler
CoolerMaster V750 Watts Power Supply
2x24" Samsung LED Displays + 32" TV

SavageAUS's hardware that was used for testing:
Gigabyte GA-Z170X-Gaming 5
Intel Skylake core i7-6700k @ 4Ghz
32Gb (4 x 8Gb) DDR4 3200 G.Skill Ripjaws
Gigabyte GTX960 GV-N960WF2OC-4GD
240Gb Intel SSD
240Gb Kingston HyperX Savage SSD
Corsair H110i AIO Liquid Cooler
Corsair RM850i PSU
Corsair 760t Case
24" single display Benq GL2450

I hope you find this tutorial helpful.
Best Regards,
Cyberdevs
GA-Z170X-Gaming 5 Release 01 DSDT and SSDT nVidia Version.zip
GA-Z170X-Gaming 5 Release 01 DSDT and SSDT IntelHD 530 Version.zip
Installing macOS Sierra on GA-Z170X-Gaming 5 - Final.pdf
IORegistryExplorer_3.0.3.zip

Updated Clover folders can be found at this post:
Updated Folders

• Hi guys, this thread is to show you a new and open source app, created by me, that I called TINU:

The name means: TINU Is Not #####, the U refers to a popular software that is used to create Mac OS hackintosh installers (that for good reasons is banned on this forum), but the aim of the name is to explain that this app is a totally different thing from that software and works in a totally different way.

This app basically is a graphical interface for the createinstallmedia executable that is inside the Mac OS installer apps, it is capable to create a Mac OS installer on a drive completely vanilla like what you do using the command line method, and also this method is recommended by apple itself.

Allows you to create easily a macOS install media without messing around with command line stuff and without using disk utility, all you need to do is use the app and then install clover on the usb drive once TINU has finished or leave it as is you want to use it on a Mac.

Features:

• 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):
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?

• 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.