Jump to content
InsanelyMac Forum
fusion71au

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

Recommended Posts

Update for macOS Sierra 10.12 to 10.12.6

 

The El Capitan Settings from post#1 still work for macOS Sierra. 

 

post-846696-0-58645100-1467499909_thumb.png

 

To prepare the Sierra ISO on your Mac or Hack:

 

1.  On your Mac or Hack with SIP disabled, download/copy "Install macOS Sierra.app" into your Applications folder.
2.  Download and unzip the BaseSystem_CSI.tool.zip (attached to this post) into your ~/Downloads folder.  Note: you will need approx 16GB of free space on your hard disk for the script to complete.
3.  Open OS X terminal, then run the following commands to execute the script:
cd ~/Downloads/BaseSystem
chmod +x CSI.tool
./CSI.tool

Provide your admin password when prompted...

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

BaseSystem_CSI.zip

Share this post


Link to post
Share on other sites
Advertisement

Hello! My setup is acting quite strange. I got to the installer page, but then it crashed with an illegal operation. Now whenever I try and boot it, it always fails after DSMOS arrives and then I hear a very distorted sound.

Share this post


Link to post
Share on other sites

I want to use a virtualbox OS X to do development.

 

Using the vanilla installation on first post I can connect to apple store and download updates, and use my developer key, or MUST use clover?

 

Thank you.

Share this post


Link to post
Share on other sites

did have song command just like 

VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/rom" "%xx%xx%xx%xx%xx%xx"

 
 

VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/mlb" "Mac-F65AE981FFA204ED"

 

I kone vm can do this .

 

and vbox i can not find any command like this.

 

Share this post


Link to post
Share on other sites

Great guide!. Appreciate your effort very much.

I am running the El Capitan image from Tech Reviews on a Windows 10 with VirtualBox 5.0.26. It is working Ican download updates and xcode.

I tried to use bootloader from Tech Reviews but it won't boot with option -x to ignore errors. When it does boot with -x option it crashes now and then.

I also tried to install the latest clover but it won't install on El Capitan. 

 

I originally thought that USB doesn't work but it turned out that I chose USB 2.0 but I tested with a USB 3.0 stick. USB is indeed working.

Now the only thing left is the screen resolution. I need 1080P instead of 1902X1200.

 

I  will appreciate some help. Thanks in advance.

 

Below is my settings:

 

VBoxManage.exe modifyvm "OS X El Capitan" --cpuidset 00000001 000306a9 00020800 80000201 178bfbff
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F2238BAE"
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal©AppleComputerInc"
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "W81234567B6"
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" "W81234567891A"
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVendor" "Apple Inc."
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemFamily" "iMac"
VBoxManage setextradata "OS X El Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" "IM112.0057.03B"
VBoxManage setextradata "OS X El Capitan" VBoxInternal2/EfiGopMode 4

Share this post


Link to post
Share on other sites

For me VBoxManage setextradata "OS X VM" "VBoxInternal2/EfiGopMode" N works fine, but custom resolution (for widescreen) is not working, However, it seems there is a problem with ElCapitan, because VmWare has similar problems.

 

I've just used this guide to successfully install Sierra in VB 5.1.6 and have exactly the same problem.  EfiGopMode works but not a custom resolution.  I've done a lot of searching and tried as many things as I could think of without success.

 

What is particularly frustrating is that I was running Mountain Lion in VB 4.3.30 and the custom resolution trick used to work.  But not any more.  Moreover, if I downgrade to VB 4.3 and open that ML machine, the custom resolution doesn't work anymore - ML now has the same screen resolution problems.

 

The question is - is this a Mac OS X os issue or a VB one?  The fact that you reported VMWare as having the same problems suggests a Mac OS X one.  But the fact that a downgrade of VB doesn't fix my problems suggests that it's more complex.  It's as if running the machine in a recent version of VB somehow does something to the install of Mac OS X in the virtual machine that can't be undone.

 

I'm inclined to report this as a VB bug, but first I need to replicate this on a Mac host rather than a Win host, or they'll ignore me.

 

I think that this is a Mac-specific problem as Win and Linux guests have guest additions.

Share this post


Link to post
Share on other sites

This post suggests that we're wasting our time on custom video modes using UEFI:
https://forums.virtualbox.org/viewtopic.php?f=22&t=74473&p=344689#p344689

 

It would seem that it worked for Mountain Lion because back then I wasn't booting it in EFI.  This post suggests that this isn't an option at present for recent versions of OS X:

http://www.insanelymac.com/forum/topic/309654-run-vanilla-os-x-el-capitan-sierra-yosemite-or-mavericks-in-virtualbox-5010-on-a-windows-host/?do=findComment&comment=2197249

 

Such is life.

Share this post


Link to post
Share on other sites

I got El Capitan to install successfully and was able to get in and navigate like usual. I shut down the VM to try increasing the CPU cores and RAM but after that it would crash or hang when trying to boot up. Has anyone had the same issue or figured out a way to increase the power for the VM?

 

Thanks.

Share this post


Link to post
Share on other sites

Given that it simply isn't possible to get a custom screen resolution to work with booting El Capitan or Sierra via EFI in VB, I had to decide what to do with my 1680x1050 screen (1.6:1 aspect ratio).

 

I tried scaling up the 1440x900 setting like this:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Sera" "VBoxInternal2/EfiGopMode" 4
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Sera" "GUI/ScaleFactor" 1.15

And while it works, it's not all that sharp.  Also the fonts end up a bit large and there isn't enough pixel resolution.  So instead I used the 1920x1200 setting scaled down:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Sera" "VBoxInternal2/EfiGopMode" 5
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Sera" "GUI/ScaleFactor" 0.875

This is a lot sharper and works well.  The fonts are a bit small now, but you can increase them in quite a few places to compensate.  A custom resolution would be better, but this seems an acceptable workaround.

 

Thanks for the guide BTW, it was much appreciated.

Share this post


Link to post
Share on other sites

Hello all, not sure if this is the best place to post but wanted to give some feedback on recent experiences. I've been running a couple of virtual Hackintoshes as described in this forum for a while now. I generally don't ever shut them down but save the state, and I don't actually use them very often.

 

Anyway I recently rebooted one of them (wanted to reduce the memory allocated to the VM) and when I went to reboot, it hung at the 'boot0: done' stage. On investigating I found that all the extradata items ("VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" etc. had disappeared from the VM) I put them back and that's when I started getting the following message:

 

Failed to open a session for the virtual machine <hidden>.

Configuration error: Querying "UUID" failed (VERR_CFGM_VALUE_NOT_FOUND).

Result Code: NS_ERROR_FAILURE (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

I then tried to create a new machine from scratch, and found exactly the same message. This seems to indicate that the machines can't be created in the same way any more. Bah!

 

I've now spent a full day looking into all this, and can't really afford to spend any more time. What I have found is that by booting my computer with an old kernel (3.2) and installing Virtualbox 4.3.30 (NB had to patch the installation file to handle cope with a changed kernel API, see: https://forums.virtualbox.org/viewtopic.php?f=7&t=70150)I was able to boot my VM as it was (ie without the extradata items). I don't imagine the kernel or Virtualbox version numbers are critical, just that they are 'old'(-ish).

 

But what I find particularly intriguing is that the above error message still appears on a fresh VM with the old kernel and old Virtualbox. Whether this means that they are not old enough, or something else 'new' is polluting my system and stopping them from working I don't know.

 

FYI my host system is Debian/sid. I tried with both Debian and upstream releases of Virtualbox (5.1.8, 5.0.26 and 5.0.0) before I found that 4.3.30 would work. My host system in this case is Mavericks/64 bit.

 

OK hope this helps someone or even better that someone can help me!

 

Cheers.

Share this post


Link to post
Share on other sites

I managed to get a legacy install of clover with Sierra. This allowed me to use a custom resolution.

 

I created a clover boot drive by following the guide for EFI booting and creating a Sierra VM (limited to the GOP modes). I then created a second virtual drive in virtualbox of about 1GB and attached it to the EFI Sierra. I used the clover installer to install legacy clover on the second drive I made. Then, I used the config.plist provided in the original clover guide, with the following modification to bypass the "zone_init: kmem_suballoc failed" issue: under SMBIOS I added

<key>Memory</key>
	<dict>
		<key>Modules</key>
		<array>
			<dict>
				<key>Slot</key>
				<integer>0</integer>
				<key>Size</key>
				<integer>(Memory assigned in virtualbox)</integer>
			</dict>
		</array>
	</dict>

Then, I created new vm with the same settings as in the original post, however I disabled EFI. I also removed the clover drive from the EFI virtual machine and added it to the new virtual machine. I booted from the 1GB clover drive and selected the Sierra ISO, made in the original post, in Clover.

I installed Sierra to the hard disk I made when I made the machine. When it had finished, I closed virtualbox and ran the command, 

VBoxManage setextradata VmName "CustomVideoMode1" 1920x1080x32" 

to set the resolution to 1920x1080. I left the machine booting from the clover drive, but clover could be installed on a partition of the macOS drive, if one so wished.

 

post-1672271-0-94744400-1477622308_thumb.png

config.plist.txt

Share this post


Link to post
Share on other sites

I managed to get a legacy install of clover with Sierra. This allowed me to use a custom resolution.

 

I created a clover boot drive by following the guide for EFI booting and creating a Sierra VM (limited to the GOP modes). I then created a second virtual drive in virtualbox of about 1GB and attached it to the EFI Sierra. I used the clover installer to install legacy clover on the second drive I made. Then, I used the config.plist provided in the original clover guide, with the following modification to bypass the "zone_init: kmem_suballoc failed" issue: under SMBIOS I added

<key>Memory</key>
	<dict>
		<key>Modules</key>
		<array>
			<dict>
				<key>Slot</key>
				<integer>0</integer>
				<key>Size</key>
				<integer>(Memory assigned in virtualbox)</integer>
			</dict>
		</array>
	</dict>

Then, I created new vm with the same settings as in the original post, however I disabled EFI. I also removed the clover drive from the EFI virtual machine and added it to the new virtual machine. I booted from the 1GB clover drive and selected the Sierra ISO, made in the original post, in Clover.

I installed Sierra to the hard disk I made when I made the machine. When it had finished, I closed virtualbox and ran the command, 

VBoxManage setextradata VmName "CustomVideoMode1" 1920x1080x32" 

to set the resolution to 1920x1080. I left the machine booting from the clover drive, but clover could be installed on a partition of the macOS drive, if one so wished.

 

attachicon.gifFull Res.png

 

 

Does Messages work in this scenario?  I actually bought a 1920x1200 monitor just so I could run full screen.  Messages and iTunes is all I use my VM for.

Share this post


Link to post
Share on other sites

I thought I would post my VM here.  Everything works flawlessly.  I've seen no performance issues.  I took a previous Mavericks install using Clover with working Messages and installed Sierra over top using an iso created from the retail .app.  If you're curious about the VM name vs the About This Mac, As part of this I stuck the values into my Clover config for a MB Pro and didn't change the VM name yet. 

 

I did try and upgrade directly from the .app within Mavericks and it got all the way through it and failed on a "cannot be installed on (null)" error.  Attaching the ISO in VirtualBox and booting to it for the upgrade worked perfectly.

 

Let me know if you have any specific questions.  The original VM was installed using this guide with Clover and valid hardware IDs.

 

post-1881223-0-45595900-1478541242_thumb.png

Share this post


Link to post
Share on other sites

I managed to get a legacy install of clover with Sierra. This allowed me to use a custom resolution.

 

I created a clover boot drive by following the guide for EFI booting and creating a Sierra VM (limited to the GOP modes). I then created a second virtual drive in virtualbox of about 1GB and attached it to the EFI Sierra. I used the clover installer to install legacy clover on the second drive I made. Then, I used the config.plist provided in the original clover guide, with the following modification to bypass the "zone_init: kmem_suballoc failed" issue: under SMBIOS I added... <CLIPPED> ... Then, I created new vm with the same settings as in the original post, however I disabled EFI. I also removed the clover drive from the EFI virtual machine and added it to the new virtual machine. I booted from the 1GB clover drive and selected the Sierra ISO, made in the original post, in Clover.

I installed Sierra to the hard disk I made when I made the machine. When it had finished, I closed virtualbox and ran the command, 

VBoxManage setextradata VmName "CustomVideoMode1" 1920x1080x32" 

to set the resolution to 1920x1080. I left the machine booting from the clover drive, but clover could be installed on a partition of the macOS drive, if one so wished.

 

attachicon.gifFull Res.png

 

Hey lost1234 ... Tried this but am not seeing the Sierra ISO from Clover .. I set it up as an virtual optical drive in the VirtualBox VM ... Is that what you did ? Anything I'm missing ? ...

 

Thx in advance for any help ... 

 

Cheers :-)

Share this post


Link to post
Share on other sites

Hi all!

 

Help, please.

 

My “Install OS X El Capitan” does not have the folder and content described (“/Contents/SharedSupport/InstallESD.dmg”).  

 

Further, I found some other instructions that deployed the “/Contents/MacOS/InstallAssistant” that it *does* have inside it, but that returned a message to the effect that it was not a valid copy of the installer.

 

Has Apple added further obfuscation to its [installation] materials, or is there a more simple (and hopefully fix-able) issue, please?

 

Thank you in advance!

Share this post


Link to post
Share on other sites

Very good guide !

 

I have installed the Capitan on a XEON E3-1225 v3 with Intel P4600 with the following settings (stolen from some posts here):

VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" ""
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "Macmini6,2"
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F65AE981FFA204ED"
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal©AppleComputerInc"
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
VBoxManage setextradata "El_Capitan" VBoxInternal2/EfiGopMode 4

 

The usual problems: Dissorted Sound, just showing 4MB graphics memory, no CQ/QE, but a fully running 10.11 OSX 'just like that'

:)

Share this post


Link to post
Share on other sites

Hi thanks for the turorial, I'm trying to get it running on latest dell xps 13 (9360) and i cannot get to the isntaller , i suspect kaby lake CPUID must be faked for an skylake processor in order tu run. It's that correct ? also, what system definition should we use :macbook 9,1 , 11,3 or else?

thank you!

Share this post


Link to post
Share on other sites

After following this guide, I get El Capitan installed fine and to the login screen. Sometimes it will log on fine, but most of the time I will enter my password and the screen will go black with a cursor, then about 10-15 seconds later it will go back to the login screen. Any ideas?

 

I used a mid 2012 macbook pro 15" running el cap to make the iso. I then used the macbook pro 11,3 vbox configuration.

 

Running on windows 10 enterprise on an Hp prodesk G1

 

Virtualbox Version 5.1.16 r113841 (Qt5.6.2)

 

Share this post


Link to post
Share on other sites

Not sure what has changed with KabyLake, but no matter what CPUIDSETs I try, my VirtualBox goes to guru meditation when I try to install from vanilla Sierra ISO.

 

Sometimes I see this:

OcBvBbK.png

 

 

The same ISO works just fine on VMWare, but there is a problem with USB - when I attach iPhone, it starts connect/disconnect loop and does not work. On El Capitan in VMWare it works flawlessly, but I can't install the newest XCode there to support the newest iOS. So I hoped I might have better luck on VirtualBox with USB connection, but now it seems VirtualBox does not want to launch at all.

 

My setup:

 

Host OS: Windows 10 64 bit (with Creator's Update)

Host CPU: i7-7700 (kaby lake)

VirtualBox: 5.1.26 r117224 with extensions


Oh, I just discovered that I should change operating system from mac os x 64 El CAPITAL to just the mac os x 64. now I can get past guru meditation.
 
The same thing works also on VMWare: you have to pick 10.7 instead of 10.11 or 10.12. I’m not sure why, though – maybe something related to the fact that I’m on KabyLake.
 
But now I was stuck with the spinning cursor and this output:
 
yCXVJYi.png
 
But when I removed the DVD and booted from vmware vmdk I had installed earlier, it worked fine. Go figure...

Share this post


Link to post
Share on other sites

Update for High Sierra 10.13 17A365

The El Capitan Settings from post#1 still work for macOS High Sierra 10.13 17A365, but with newer VirtualBox 5.1.xx releases, USB3/xHCI should be enabled.  Tested below with 3GB Base Memory allocated for the guest macOS. 
 
post-846696-0-70723400-1508328130_thumb.png
post-846696-0-83960500-1508304724_thumb.png
post-846696-0-88046600-1508304876_thumb.jpg
 
To prepare the High Sierra ISO on your Mac or Hack:
1.  On your Mac or Hack with SIP disabled, download/copy "Install macOS High Sierra.app" into your Applications folder.
2.  Download and unzip the BaseSystem_CHSI.tool.zip (attached to this post) into your ~/Downloads folder.  Note: you will need approx 16GB of free space on your hard disk for the script to complete.
3.  Open OS X terminal, then run the following commands to execute the script:
cd ~/Downloads/BaseSystem
chmod +x CHSI.tool
./CHSI.tool
  Provide your admin password when prompted...
 
4.  At the end of the process, you will have a HSierra.iso on your desktop - copy this onto an exFAT formatted USB for use on the PC Host later.
 
Installation Notes
Install occurrs in 3 phases, procedure as follows:
 
1.  Boot to HSierra.iso and erase/format the Virtual HDD as HFS+ with Disk Utility.  Hint at the DU screen, click View & Show All Devices...
 

post-846696-0-55198300-1508305777_thumb.png
post-846696-0-17310700-1508305807_thumb.png
post-846696-0-55154500-1508306915_thumb.png
post-846696-0-66258500-1508305036_thumb.png
post-846696-0-87486400-1508305124_thumb.png

 
2.  Back at the main screen, select "Reinstall macOS" --->  will create first phase "/macOS Install Data" on target volume eg "HiSierra".
 

post-846696-0-05167700-1508305095_thumb.png
post-846696-0-76533700-1508307082_thumb.png
post-846696-0-52783500-1508307106_thumb.png
post-846696-0-37510300-1508307121_thumb.png

 
3.  We need to now copy the prelinkedkernel from our HSierra.iso to replace the vanilla one in "/macOS Install Data/Locked Files/Boot Files/" (using terminal, booted again into HSierra.iso):  <--- No longer need to copy prelinkedkernel from HSierra.iso for VirtualBox 5.1.30.
cp -rp /System/Library/PrelinkedKernels/prelinkedkernel /Volumes/HiSierra/macOS\ Install\ Data/Locked\ Files/Boot\ Files/

 

post-846696-0-01142700-1508305224_thumb.png

 

 

Shutdown the system and remove the HSierra.iso from the Virtual CD drive.
 

post-846696-0-39537100-1508305297_thumb.png
post-846696-0-21542600-1508305263_thumb.png

 
4.  In the second phase, "/macOS Install Data" packages are extracted and installed on the disk.  On restarting the system, you will be greeted with the UEFI shell.  Type the 2 lines below, followed by <Enter> after each line... 
FS1:
"\macOS Install Data\Locked Files\Boot Files\boot.efi"

 

post-846696-0-89353900-1508305360_thumb.png

 

 

---> will restart the installation process...

 

 

post-846696-0-57544000-1508305446_thumb.png

post-846696-0-36920200-1508305486_thumb.png

post-846696-0-26809500-1508305523_thumb.png

 

 

5.  Final third installation phase is rebuilding kextcaches, booting to the completed installation to select language and setup new user etc.
 

post-846696-0-33132900-1508305619_thumb.png
post-846696-0-88046600-1508304876_thumb.jpg

BaseSystem_CHSI.tool.zip

Share this post


Link to post
Share on other sites

Hi,

 

Thanks again for this great guide. High Sierra installed and it's working fine. However, trying to go a bit further with Clover EFI, I get a blurry unusable screen. Should we just wait for a Clover update?

See attached screenshot

 

post-241390-0-67333900-1509812592_thumb.png

Share this post


Link to post
Share on other sites

Should we just wait for a Clover update?

 

Make sure the EFI GOP mode you specify matches the GUI/ScreenResolution set in Clover's config.plist eg for GOP mode 2, corresponding to 1024x768,

VBoxManage setextradata "VM_Name" VBoxInternal2/EfiGopMode 2

set config.plist/GUI/ScreenResolution

		<key>ScreenResolution</key>
		<string>1024x768</string>

Likewise for GOP mode 3, resolution = 1280x1024 etc.

 

Also the official Clover from SourceForge compiled with XCODE doesn't seem to work in Virtual Machines.  Need to install Clover compiled with GCC in Linux (eg EFI_Clover_r4332 for VMware also works in EFI mode with VirtualBox).

 

After starting the VM, press <F12> to access the VirtualBox Boot Manager, then choose EFI Hard Drive to start Clover...

 

 

 

post-846696-0-24390900-1509836536_thumb.png

post-846696-0-14379800-1509836557_thumb.png

post-846696-0-44753200-1509855356_thumb.png

post-846696-0-00333500-1509855407_thumb.png

 

 

 

 

How to install High Sierra on a VirtualBox Guest from scratch (without access to Mac or App Store Installer.app)

 

Pre-requisites

1)  On 8GB NTFS formatted USB, Vol Name "DATA",  a "SharedSupport" folder was prepared as described in my guide here, containing the following 6 installer files downloaded from Apple's Software Catalog ....

 

 

 

 

  1. BaseSystem.dmg
  2. BaseSystem.chunklist
  3. InstallInfo.plist <---Edited, attached example here
  4. InstallESDDmg.pkg <---Renamed to InstallESD.dmg 
  5. AppleDiagnostics.dmg
  6. AppleDiagnostics.chunklist

(Hint - search page for "InstallESD" to find its URL and others nearby)

 

 

 

2)  macOS High Sierra guest created in VirtualBox r5.1.30, as described in post#1 but 3GB RAM, enable USB3/XHCI, EFI GOP mode2 (1024x768)...

cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage setextradata "VM_Name" VBoxInternal2/EfiGopMode 2

3) Attached blank, preformatted virtual disk, macOS.vmdk of 50GB size, with Clover r4332 installed in its EFI (extract from "macOS.vmdk.zip" attached to this post).

 

 

 

post-846696-0-86187200-1512074010_thumb.png

 

 

 

 

 

Procedure

1)  Download & extract dmg2img-1.6.7-win32 and qemu-img-win-x64-2_3_0 to USB\.  For my system, the drive letter was H:

 

 

 

 

post-846696-0-23988600-1512076592_thumb.png

post-846696-0-93981000-1512076609_thumb.png

 

 

2)  Convert BaseSystem.dmg to BaseSystem.img with dmg2img.  Open a Windows command prompt and type the following commands

H:
cd \dmg2img-1.6.7-win32
dmg2img.exe \SharedSupport\BaseSystem.dmg \qemu-img-win-x64-2_3_0\BaseSystem.img

 

 

Microsoft Windows [Version 6.1.7601]

Copyright © 2009 Microsoft Corporation.  All rights reserved.

 

C:\Users\fusion71au>H:

H:\>cd \dmg2img-1.6.7-win32

H:\ dmg2img-1.6.7-win32>dmg2img.exe \SharedSupport\BaseSystem.dmg \qemu-img-win-x64-2_3_0\BaseSystem.img

 

dmg2img v1.6.7 © vu1tur (to@vu1tur.eu.org)

 

\SharedSupport\BaseSystem.dmg --> \qemu-img-win-x64-2_3_0\BaseSystem.img

 

 

decompressing:

opening partition 0 ...             100.00%  ok

opening partition 1 ...             100.00%  ok

opening partition 2 ...             100.00%  ok

opening partition 3 ...             100.00%  ok

opening partition 4 ...             100.00%  ok

opening partition 5 ...             100.00%  ok

opening partition 6 ...             100.00%  ok

opening partition 7 ...             100.00%  ok

 

Archive successfully decompressed as \qemu-img-win-x64-2_3_0\BaseSystem.img

 

 

3)  Change to \qemu-img-win-x64-2_3_0 directory and convert BaseSystem.img to BaseSystem.vmdk in your VirtualBox macOS guest folder...

cd \qemu-img-win-x64-2_3_0
qemu-img.exe convert BaseSystem.img -O vmdk Path_to_your_VirtualBox_macOSGuest_HD_folder

 

 

H:\dmg2img-1.6.7-win32>cd \qemu-img-win-x64-2_3_0

H:\qemu-img-win-x64-2_3_0>qemu-img.exe convert BaseSystem.img -O vmdk "E:\VirtualBox VMs\macOS\BaseSystem.vmdk"

 

 

4)  Attach BaseSystem.vmdk to your macOS guest as an extra hard drive (so now have macOS.vmdk + BaseSystem.vmdk attached to the VM)...

 

 

 

post-846696-0-13748400-1512074390_thumb.png

post-846696-0-03134800-1512074407_thumb.png

post-846696-0-46554600-1512074424_thumb.png

 

 

 

 

5)  Boot the VM to macOS Utilities screen.  Attach DATA usb with \SharedSupport files to VM...

 

 

 

post-846696-0-69436800-1512074629_thumb.png

post-846696-0-50581900-1512074652_thumb.png

post-846696-0-31701000-1512074675_thumb.png

 

 

 

6)  Open terminal from the Utilities Menu and type

cd /
ls -l /Volumes

to confirm that the following Volumes are attached to the VM:  "OS X Base System", "macOS"=HD target, and "DATA"=8GB or larger USB with "SharedSupport" folder...

 

post-846696-0-91444400-1512074931_thumb.png

 

 

7)  Launch the startosinstall.command script to assemble the Installer App on the macOS target volume and start the startosinstall utility...

-bash-3.2# cd /Volumes/macOS/
-bash-3.2# ./startosinstall.command

The process may take a while.  One way you can see its progression is to look at the size of the macOS.vmdk in the host VM folder (approx 5.2GB when the Installer App is fully assembled)...

 

 

 

post-846696-0-86003800-1512075005_thumb.png

post-846696-0-77138800-1512075025_thumb.png

 

 

 

8)  The Apple Software Licence will appear in the terminal window.  Type A to agree ---> install files will be placed in /Volumes/macOS/macOS Install Data ---> System will reboot after 30 seconds...

 

 

 

 

post-846696-0-78747000-1512075128_thumb.png

 

 

 

9)  Power off the VM when you see the message "MACH Reboot".  Then go to the VM Storage settings to detach the BaseSystem.vmdk (since it is no longer required).

 

 

 

post-846696-0-71465900-1512075234_thumb.png

post-846696-0-87990200-1512075250_thumb.png

post-846696-0-56854200-1512075265_thumb.png

 

 

 

10)  Power on the VM again and you will be greeted with the Clover Main Menu --->  select "Boot macOS Install from HFS+ volume" + press <Enter>  ---> will see "Installing on "macOS"" and time remaining, as the pkg files are extracted to their final locations ---> Power off the VM when you see the message "MACH Reboot"...

 

 

 

post-846696-0-19576600-1512075352_thumb.png

post-846696-0-91196600-1512075373_thumb.png

post-846696-0-63236100-1512075388_thumb.png

post-846696-0-19576400-1512075414_thumb.png

post-846696-0-33660800-1512075465_thumb.png

post-846696-0-67466800-1512075490_thumb.png

 

 

 

11) Power on the VM a final time to rebuild kext caches and setup new user account.  The installer app and startosinstall.command script can be safely deleted if desired...

 

 

 

post-846696-0-31706900-1512075506_thumb.png

post-846696-0-44646600-1512075878_thumb.png

post-846696-0-02425800-1512075923_thumb.png

 

 

12) If you subsequently want to start the VM through Clover, click in the VM window when it is still black and quickly press the <F12> key to access the VirtualBox BIOS Boot Manager ---> select EFI Hard Drive ---> Boot macOS from HFS+ volume at the Clover Main Menu.  Clover nicely fills in the System's details, including a serial number (you can change this later + add custom MLB + ROM for iMessage by mounting the EFI partition and editing Clover's config.plist)...

 

 

 

post-846696-0-42022300-1512075991_thumb.png

post-846696-0-65791200-1512076017_thumb.png

post-846696-0-51643900-1512076057_thumb.png

post-846696-0-56340700-1512076100_thumb.png

 

 

macOS.vmdk.zip

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 Cyberdevs
      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.
       
      Downloading the macOS® Sierra installer from App Store:
      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.
      You can download the macOS® Sierra® installer by using the link below:
      macOS® Sierra® 10.12.5:
      https://itunes.apple.com/us/app/macos-sierra/id1127487414?mt=12&ls=1
      You can also use App Store directly for downloading it. The “Install macOS® Sierra.app” will be saved to the following path once downloaded: /Applications/
       
      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”
      Press return/enter to run the command. You’ll be asked to give your password and once you type your password press return/enter and the process will start.
      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.
       
      Installing Clover EFI Bootloader:
      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.
      You can download the latest version of Clover EFI Bootloader from:
      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:
      FakeSMC.kext https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/
      Audio:
      AppleALC.kext
      https://github.com/toleda/audio_CloverALC
      Lilu.kext
      https://github.com/vit9696
      CodecCommander.kext v2.4.0 for Audio after sleep
      https://bitbucket.org/RehabMan/os-x-eapd-codec-commander/downloads/RehabMan-CodecCommander-2015-0522.zip
       
      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:
      AppleIntelE1000e.kext https://sourceforge.net/projects/osx86drivers/files/Kext/Snow_or_Above/AppleIntelE1000e.kext.zip/download
      or
      IntelMausiEthernet.kext https://bitbucket.org/RehabMan/os-x-intel-network/downloads/RehabMan-IntelMausiEthernet-v2-2017-0321.zip
       
      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
      https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/RehabMan-USBInjectAll-2017-0517.zip
       
      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
      Boot/EFI not found
      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
      Password:
      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
      Download ALC1150 files ...
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      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
      Download kext patches
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100  1855  100  1855    0     0   3033      0 --:--:-- --:--:-- --:--:--  3031
      Download config kext and install ...
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      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...
      rebuilding //System/Library/PrelinkedKernels/prelinkedkernel
      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
      Download SSDT-HDMI-NVIDIA-PEG0 ...
      Password:
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      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.
      For macOS® Sierra® 10.12.5 you’ll need to download 378.05.05.15f01
      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.
      Add the following patch to your config.plist if you don’t already have the patch.
      <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.
      Download ioregistryexplorer Version 3.0.3 from http://mac.softpedia.com/get/System-Utilities/IORegistryExplorer.shtml
      or download IOJones which is an alternative to IORegistryExplorer at: https://sourceforge.net/projects/iojones/
      Download MaciASL from https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-MaciASL-2017-0117.zip and extract, drag MaciASL.app into /Applications. (Credit RehabMan)
      Download OS-X-USB-Inject-All Master from: (Credit RehabMan)
      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 
      TP-Link WDN4800 PCIe Wireless Network Adapter
      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
      TP-Link WDN4800 WiFi
      Corsair H110i AIO Liquid Cooler
      Corsair RM850i PSU
      Corsair 760t Case
      24" single display Benq GL2450
       
      Please download the PDF version which includes pictures on this guide.
      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
    • By ITzTravelInTime
      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:
        - Simple to use UI that allows you to easily start the macOS install media creation process   - It can work with every Mac OS installer app that has the createinstallmedia executable inside of it's resources folder (including also beta and newly released installers)   - You can use any drive or partition you want that can be erased and is at least 7 GB of size   - Works on Mac OS recovery, so you can create a macOS install media from a bootable macOS installer or from the macOs recovery   - All vanilla, the macOS install medias created with this tool are 100% vanilla, just like you created them using the command line "createinstallmedia" method   - Open source, you will know what this program does on your computer and also you can create your own version by downloading and playing with the source code   - Does not requires to do anything of special first, just open the program   - No need to go in disk utility first, TINU can format your drive for you   - Uses recent and more modern APIs and SDKs and Swift 3 language   - Transparent graphics style available (use alt + s on the keyboard or View->Use transparent style)   - Works using the latest versions of macOS and will also support newer Mac installers out of the box without needing for an update    Features that I'd like to add in the future:    - Advanced section, to customize your macOS install media   - Installer customization: Kernelcache/prelinkedknerel and boot files replacement (a feature that can be handy while dealing with old Macs or with beta installers when you need to mod or change the boot files some times)   - Install clover and configure clover   - Install kexts inside the kexts folder of clover   - Clover drivers customization   - Use custom dsdt in clover   - integrated pre-made clover config templates database from a remote and open repository   - Support for other languages, at least Italian   Rquirements:  - A computer that runs Mac OS X Yosemite or a more recent version (Mac OS X El Capitan is required to use TINU in a macOS recovery or installer)  - A drive or a free partition of at least 7 GB that you want to turn into a macOS/Mac OS X installer  - A copy of a macOS/Mac OS X installer app (Maveriks or newer versions are supported) in the /Applications folder or in the root of any storage drive in your machine (excepted the drive or volume you want to turn into your macOS install media)   Note that this app is under the GNU GPL v3 license so any reuse of the source code must follow the license's terms   TINU 1.1 Stable release:    - Download available here:    https://github.com/ITzTravelInTime/TINU/releases    - Source code:     https://github.com/ITzTravelInTime/TINU   TINU 2.0 pre-release:    - Source code:    https://github.com/ITzTravelInTime/TINU/tree/development    - Download available here:    https://dl.dropboxusercontent.com/s/nvzss51qcieynve/TINU.zip     Frequently asked questions about TINU: https://github.com/ITzTravelInTime/TINU/wiki/FAQs     NOTE: if you have problems with your USB installer of 10.13.4 or newer version not being detected by clover you have to use the latest clover and if it still does not detectets your usb installer you have to remove the invivible file called .IAPhysicalMedia located into the root of the usb installer. This issue is caused by a changement in the apple's createinstallmedia, don't blame TINU for that, tinu does only uses the installer creation method from apple, which has been changed, causing this problem for hackintosh users, this issue should be resolved in the latest versions of clover which will no longer require that you do changements to let your usb dive to be detected, a setting to do this fix automatically in tinu is also comeing in a new pre-release of TINU 2 I leave also some screenshots as well








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