Patched OSInstaller.framework to allow macOS 10.13 installation on MBR partition.
To use those patched files you must follow HowTo to create an USB installer. You can't just run the app downloaded from Mac App Store.
The patch is made base on 落下爱@pcbeta 10.10.x MBR patch method, and more patch for 10.13 Firmware check by crazybirdy.
What is this patched OSInstaller doing?
1. Patch the MBR check, allow macOS 10.13 installation on MBR partition.
2. Patch the Firmware check, bypass the error of "An error occurred while verifying firmware".
3. This patched MBR OSInstaller method works with both MBR and GPT partition (GPT+recovery).
No longer need to set new SMbiosversion, FirmwareFeatures, and FirmwareFeaturesMask with this MBR-patch.
What's the difference between createinstallmedia method, MBR-Manual-Method, and MBR-Automatic-Method?
As the following....
1. createinstallmedia method,
needs stage 1, stage 2 installation process, which is worked with GUID partition only.
2. MBR-Manual-Method (same as 10.12),
install via stage 2 manually, which is worked with both MBR and GUID, HFS+ and APFS.
We can manually format as MBR or GPT, HFS+ or APFS on installation screen like as 10.12.
We can manually select MBR HFS+ partition to install 10.13 and 10.14 on installation screen now.
Needn't to update the MBR-Manual-Method files, it will still work on 10.13, and 10.14 future versions, I think so.
It can be installed as Fresh installation on formated blank partition only, but can't be installed as update from previous version.
3. MBR-Automatic-Method (new for 10.13+),
install via stage 2 automatically, which is worked with both MBR and GUID, HFS+ and APFS.
It can be installed as Fresh installation on formated blank partition, and can be installed as update from previous version.
How to make 10.13 installer for MBR (MBR-Manual-Method)?
Just use MBR-EasyInstallerMaker to make installer, it works with both MBR and GPT.
Read HowTo inside the dmg first, same as 10.12.
Read HowTo Q/A Q6. How to download the full installer app via swscan.apple.com, instead of App Store?
Read HowTo Q/A Q7. How to update 10.13.x combo-update to MBR and GPT with installScript directly?
How to make 10.13 installer for MBR (MBR-Automatic-Method)?
Just use 13MBRinstallerMaker to make installer, it works with both MBR and GPT.
Read HowTo inside the dmg first, new for 10.13+.
Read HowTo Q/A Q9. How to update 10.13.x combo-update to MBR and GPT with installScript directly?
And, need a SMBIOS supported with /System/Library/CoreServices/PlatformSupport.plist.
Making a bootable High Sierra USB Installer Entirely From Scratch in Windows or Linux Mint (without access to Mac or App Store Installer.app)By fusion71au
Making a High Sierra USB Installer Entirely From Scratch in Windows
This is a proof of concept tutorial, to show it's possible to create a vanilla High Sierra installer, entirely from scratch, in Windows (even without App Store downloaded "Install macOS High Sierra.app" from a real Mac ). @PikeRAlpha's link to Apple's Software Catalog provides us with all the URLs necessary to download the needed files directly from Apple instead of some dubious source from the internet...
8GB or larger USB drive Boot Disk Utility v2.1.2017rev021b from @CVAD TransMac (free 15 day trial) Paragon Hard Disk Manager Free Download Installer Files Directly from Apple
1) Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist (Hint - search page for "InstallESD" to find its URL and others nearby)
to a folder named "SharedSupport" on your Windows NTFS drive. A browser download manager (eg Chrono for Chrome, dTA for FireFox) is handy since InstallESD is >4GB ---> allows you to pause/resume interrupted download...
2) Rename InstallESDDmg.pkg to InstallESD.dmg
3) Edit InstallInfo.plist with WordPad/text editor to remove the chunklistURL and chunklistid keys for InstallESD, and renaming it from InstallESDDmg.pkg to InstallESD.dmg (example of edited file attached to this post)...
Note: You can verify the SHA1 checksum of your InstallESD.dmg and BaseSystem.dmg with the correct ones at this website.
Boot Disk Utility to format the Installer USB and Restore OS X Base System HFS partition
1. Format USB with BDU & latest Clover ---> creates boot files in CLOVER partition + second FAT partition
2. Extract 4.hfs from \SharedSupport\BaseSystem.dmg with BDU --> save to it's local folder
3. Restore 4.hfs to USB second partition with BDU ---> 2nd partition becomes bootable "OS X Base System"
Paragon Hard Disk Manager to extend HFS Partition to its Full Extent
Open Paragon Partition Manager Free and resize the second partition of the USB drive to the full size allowed. Don't forget to apply the changes at the end...
Transmac to Copy "SharedSupport" folder to OS X Base System
1. Open the TransMac program and navigate to the HFS+ Volume/Install macOS High Sierra.app/Contents folder. Right click anywhere in the empty space on the RHS pane and select "Copy Here"...
2. In the next stage, select the "SharedSupport" folder we created above as the "Files and Folders to be copied to the Mac Volume"...
Clover configuration is required now. The default config.plist (in the Clover FAT32 partition of the USB) maybe sufficient to boot your machine if you’re lucky. If not, look at the Clover Wiki, Clover Instructions and Clover Configuration Thread for pointers and edit /EFI/Clover/config.plist accordingly with Wordpad or Notepad.
The location of the important configuration files for Clover are summarized below
config.plist--->EFI/CLOVER folder DSDT.aml with or without SSDT.aml--->EFI/CLOVER/ACPI/patched (don't need one if your DSDT is auto patched by Clover in config.plist) Kexts eg FakeSMC, NullCPUPowerManagement --->EFI/CLOVER/kexts/<osx version> or /Other. NB BootDiskUtility by default already has FakeSMC.kext installed here. You may need to add VoodooPS2Controller for your laptop keyboard/trackpad to work. If UEFI booting, you will most likely need one of the OsxAptioFixDrv-64 drivers copied from /EFI/CLOVER/drivers-off/drivers64UEFI to /EFI/CLOVER/drivers64UEFI. If you want to use the installer to run High Sierra in Windows on VMware, you can follow my guide to set up the Virtual Machine and replace Clover's default config with EFI_Clover for VMware (which is compatible to run in VMware). In the screenshots below, I have attached the USB Installer (in this case PhysicalDrive7) to my macOS Virtual Machine. Reboot the system to the USB installer to install High Sierra ...
What happens if we don't have access to TransMac or Paragon Hard Disk Manager?
Not a problem, as long as we get "OS X Base System" bootable, we can launch terminal from the Utilities Menu to copy the SharedSupport folder over to the Installer app. In essence, we will build the full installer app = 5GB+ on the target HD eg "Macintosh HD", by copying both the "small" installer app = 15MB (on "OS X Base System") and the SharedSupport folder from the NTFS volume (mounted in this example on /Volumes/DATA)...
-bash-3.2# cd / -bash-3.2# cp -R Install\ macOS\ High\ Sierra.app /Volumes/Macintosh\ HD/ -bash-3.2# cp -R /Volumes/DATA/SharedSupport /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/
...then start installation with the startosinstall utility...
-bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD --converttoapfs NO --applicationpath /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app
The above steps can be automated with the attached "startosinstall.command" script, which will assemble "Install macOS High Sierra.app" on "Macintosh HD" and launch the startosinstall utility targeting the "Macintosh HD" volume. Copy/download to "Macintosh HD", then run in terminal (after attaching DATA USB with /Shared Support folder)...
cd "/Volumes/Macintosh HD" chmod +x startosinstall.command ./startosinstall.command Updated Download Links for macOS Mojave 10.14.3_18D109
Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist
Note: In Mojave, Apple has removed the --converttoapfs NO and --applicationpath arguments from the startosinstall utility....
eg to use startosinstall for the above section "What happens if we don't have access to TransMac or Paragon Hard Disk Manager?", the syntax is now
-bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ Mojave.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD
This basically means that for Mojave, the default installation will always convert the target volume to the apfs file system.
First Hackintosh that I think I have completed! I've been working on it on and off for a month, but just grinded it this past weekend. I just have a small QOL issue. I have posted in the r/Hackintosh reddit, but have not gotten a reply to this specific issue, but did for other issues I was having. I also posted at tonymacx86 and was getting replies for other issues I was having, but got banned because I said, "used VM, but didn't work" in my OP I think ...
I followed a PC vanilla guide from r/Hackintosh that I found as I did not have an Apple system. One monitor connected to a GTX 1080, CPU: i7-8700, Coffee Lake. Motherboard is Alienware specific 0VDT73, with chipset Z370.
The issue is every time High Sierra boots up and gets to the login screen, my keyboard and mouse do not work. I only have to reseat both and then they work the whole time until I restart. They are both plugged into USB2.0 ports. I do have Lilu, WhateverGreen, USBInjectAll, and VoodooPS2 installed in my /Library/Extensions folder using #####. Mouse and Keyboard work fine each time I boot to Clover (USB). Any ideas?
Working: NVIDIA using (One) DisplayPort, USB3.0 (rear), USB-C (rear), USB2.0 (rear), Audio, Ethernet
EDIT: Did some more testing, and it looks like my Keyboard works fine after each reboot, the only issue is that my mouse has to continuously be reseated. Any ideas? Could it just be the mouse?It's an old Inland USB mouse: 337451
The H370 chipset powers 8th generation Intel Core-i CPUs. Even though the name H370 rings comparable to Z370, the H370 is based on newer silicon. This it also requires some new approaches compared to the Z370. An example would be on-die USB 3.1 and WiFi support.
Since this guide is not a "hold-your-hand-every-step" guide, I assume you know:
Clover installation and configuration How to create an install medium for MacOS Access and configure the BIOS Have heard of ACPI patching (I'm a newb at this myself)
Sleep (via DSDT edits and emulated NVRAM) On-board Audio (via AppleALC and native AppleHDA) Native power management (without any kext or patch) All USB ports (and only those present are active) iGPU for both acceleration and display dGPU (I'm running an Nvidia GTX 1080)
NIC --> I'm using WiFi only
What doesn't work
Native NVRAM via AptioMemoryFix.efi DMVT Pre-alloc higher than 64MB (but not necessary)
User @Panzerschiffe added a helpful post, altering this guide for user with AMD cards and not needing on-board sound.
He also runs Mojave, which I don't run yet.
Changes to the guide:
22.5.18: Added SSDT hot-patching to enable sleep, replacing DSDT static patching as an alternative.
23.5.18: Add iMac18,1 as alternative SMBIOS config for those relying on the iGPU for output
25.6.18: Added update info
28.8.18: Small changes for clarity, changed info for afps loading & updated USB patch for 13.6
04.10.18: Update to Mojave will come once Mojave is more mature
02.12.18: Removed unnecessary patches, fakepciid and audio patch method & linked to AMD post & added whatevergreen.kext as replacement for previous GPU kexts
02.03.19: Removed unnecessary fakeid and ig_platform_id injections, ACPI patches - this is all handled by whatevergreen & lilu. In testing is a Framebuffer patch, see this post.
04.03.19: Added Germany keyboard layout and updated pre-patched DSDT.aml removed DSDT patching
This guide heavy inspired by the work of /u/corpnewt of /r/hackintosh and his (sorta) Vanilla guide
1.1 Create the install media for MacOS
Follow this, if you are using a Mac to start off with. If you are totally new to MacOS, then please check the basic guide Creation of an installer media in windows or linux
1.2 Install Clover on the install media
Using the Clover installer, ensure you are installing to the USB medium you are using for the installer.
Chose the following options, leaving the others on default:
UEFI driver: AptioMemoryFix UEFI driver: ApfsDriverLoader UEFI booting only Install to ESP
You have to get your hands on an apfs.efi. A google search can help, or extracting it from the Installer package. Make sure you procure a version matching the MacOS version you are about to install. Place the apfs.efi in drivers64UEFI.
1.2 Adjust the config.plist for the installer
You can use the config.plist attached as a guideline, but take a look at it before and at least adjust the SMBIOS - otherwise it won't boot.
Attention: The attached plist contains audio patches introduced by a post-install step. If you run into problems, you might remove those. It also contains a manual slide value, which should normally not be needed, but works fine for me. It is also tuned for usage with an Nvidia Pascal dGPU as main GPU.
The config you create now should serve you nicely for install and running the system.
Take care of adding the following basics:
SMBIOS: iMac18,3 - You can generate a serial number via Clover Configurator. The creation of a proper SMBIOS is covered in many guides to good extend Note: If you aim at using the iGPU for output, a user reported that iMac18,1 works better - since iMac18,3 produces severe flicker. I'm now also testing 18,1 Look at the graphics section and adjust the injection for Intel to your situation
Change 0x59120003 to 0x59120000 if you don't use a dGPU as your main display Driver and instead use the iGPU for output.
Also note. SMBIOS iMac18,1 has been reported to work better in this configuration. But 18,3 works fine for me.
Kernel and Kext patches
1.3 kexts and friends
Add the supplied SSDT-UAIC.aml to "patched" - it limits the injected USB Ports to the actual number and ports valid for this board.
Required kexts on "Other":
FakeSMC.kext Whatevergreen.kext Lilu.kext AppleALC.kext IntelMausiEthernet.kext in case you're running Ethernet USBInjectAll.kext with the HCI-300-series-injector.kext --> These two should be installed to /L/E after install
We are leaving sound out at the moment, this is something for post-install.
1.4 Check BIOS and install
You should be ready for install. But before you reboot, please take a look at your BIOS and set it up accordingly (copied from the aforementioned guide and adapted):
Load Optimized Defaults Disable VT-d setting If your system has Secure Boot Mode, disable it Enable CSM - This is sometimes needed to dual screens to work Set OS Type to Windows 8/10 or OtherOS - I have not seen a difference Turn off internal Serial and Parallel port Turn off Network stack for boot Turn off wake-on-lan (for now) Set XHCI Handoff to enabled Don't enable decode over 4G Depending on your GPU, set priority for boot Set internal GPU (iGPU) to enable - not auto or disabled Set DMVT pre-alloc min to 64MB and max to 128MB. For this selection to appear you might need to reboot after setting iGPU to enable Set USB legacy to enabled Activate XMP profile 1 f your Ram has it (mine doesn't and I added the timings manually) Set ERP to enable, disable platform power management (I need to do more research if this could be enabled)
I've attached my current BIOS config "hack2". You can place that on a fat32 drive (the EFI partition of your install USB drive might be an idea) and see if it loads. It's made for and with the F2 BIOS.
The install itself should be like other MacOS Hackintosh installs with it several reboots and ensuring to select the correct boot device in Clover.
2.1 Install clover on target
This is a no-brainer, but install a fresh copy of Clover on your target medium.
During install select again AptioMemoryFix but also additionally
EmuVariableUefi-64.efi Install RC scripts on target volume because otherwise NVRAM doesn't seem to work
After the install, copy
config.plist contents of "Other" content of "patched" to your new clover install.
2.2 Edit ACPI for slumber
Choose one option, not both. The hot-patch is experimental, but for the moment it is stable.
2.2.1 Edit DSDT
No more need for manual DSDT patching. If you still do it, you might run into unstable sleep. SSDT hot-patching + sane clover.config edits are enough
This is necessary only once on initial install and every time, you edit or upgrade the BIOS. The DSDT.aml attached to this post might work for your system or give you a file to compare to. Don't expect it to work for you, though.
EDIT: Since moving from F2 BIOS to F12 I did not repatch and sleep is still somewhat reliable. But to be 100% sure, you can still follow these steps.
I won't go into the details of DSDT extraction and patching. There are better guides (the linked guide is a rip-off of rehabman's guide from a different forum). Please follow such a guide to extract your ACPI data.
Locate and disassemble the DSDT with the newest iasl binary you can put your hands on, then open it with MacIASL in its newest version you can find (Hint: Here is a good source) You can check if the version is new enough if MacIASL doesn't throw error upon compiling a freshly extracted DSDT.aml or DSDT.dst
Add rehabmans repo (as per linked guide) and apply the following patches:
Rename _DSM to _XDSM Fix _WAK Arg0 v2 USB3 _PRW 0x6D Skylake (instant wake) Find the CNVW device and remove the _PWR function there.
Compile the DSDT and place it in "patched".
2.2.2 Use SSDT hot-patching
Instead of having to re-extract and re-patch the DSDT on every BIOS change or update, Hardware change one can also use ACPI hot-patching.
It's a combination of config.plist patches and an SSDT, which is hot-patched into the ACPI (if I understand the process correctly)
You need to add this SSDT-GPRW.aml to your Clover folder in the designated position at Clover/ACPI/patched You need to add this patch to your config.plist. It goes into the DSDT patch section
Note: This works for me, but the patch removes the _PRW method from all devices in the DSDT. This could have side-effects. So far, I have seen none. At the moment I'm also not applying any other patch, compared with the additional edits I made to the DSDT method before.
2.3 Install kexts to system
As mentioned in the install section, it's better to follow rehabman's instruction and install USBinjectAll.kext to /L/E:
sudo cp -R Release/USBInjectAll.kext /Library/Extensions sudo touch /System/Library/Extensions && sudo kextcache -u / 2.4 Enable onboard Audio - Install AppleALC kext
Make sure your EFI partition is mounted and that you have a vanilla AppleHDA kext available. See below for a guide how to get a vanilla AppleHDA if needed
Note: Our Audio codec is ALC887 and it's running with layout ID 1.
Download the newest AppleALC kext from here and install it together with lilu.kext from here into your usual /clover/kexts/others location. Done. No scripts or config.plist patches necessary.
Add layout ID 1 to config.plist, if it's not there yet:
<key>Audio</key> <dict> <key>Inject</key> <integer>1</integer> <key>ResetHDA</key> <true/> </dict> If you previously installed any audio patches, please follow this guide to "vanilla-ize" your install.
2.5 Optional steps for Graphics
If you have a dGPU, now it's the time to install its drivers and adjust the config.plist for it. The detaisl are specific to your GPU and thus of scope of this guide. Yet, my supplied config.plist is ready to be used with Nvidia Pascal cards and using the Nvidia web driver.
Whatevergreen.kext helps with Intel iGPU and NVIDIA dGPU fixes.
At the moment I'm also testing out a special bootflag: 'shikigva=12' to enable faster rendering in Final Cut Pro X. Without whatevergreen.kext and a shikigva bootflag, rendering in final cut seem very slow.
If you're facing problems with output from your internal GPU, you can try the framebuffer patches listed by @BackwardMac:
2.6 Install a proper keyboard layout
You might not be using a fancy Apple branded keyboard. If you use a PC keyboard, you might be annoyed by the differing layout and usage of keys. As a German, you might find yourself quitting applications, since alt gr + Q won't add an @, but quit your current application. To fix this, you can simply install a different keyboard layout. Copy it to /Library/Keyboard Layouts/ and chose the layout in System Preferences, Keyboard in the section "Other". Deleting the previously selecting layout makes sure that only this one is used. Nice little trick.
A keyboard layout for German keyboards is attached and works wonders
Updating inside 10.3.x/ 10.4.x point updates doesn't require much attention:
Download the update from the AppStore as any Mac would do Allow the system to reboot Before booting MacOS with Clover, make sure to disable extra drivers for dGPUs which require non-native support. If using an Nvidia dGPU: Remove "nvda_drv=1" from your boot arguments and disable Nvidia injection If using a non natively supported AMD card, do the same for AMD (I'm not using AMD, thus I cannot be specific) Boot into the newly created Install MacOS partition Repeat this process until the Install partition is gone Boot MacOS again, still following 3., and potentially install updated drivers Your Audio might require re-patching
Move away from static DSDT patching to SSDT hotpatching --> requires my work Native NVRAM --> requires developer work Audio without AppleHDA patching --> requires developer work
5. Thanks to
@MaLd0nfor helping finding the right way with the DSDT
@RehabMan, for being a legend and helping me out patching
@toleda, for audio patches for the 300 series
/u/corpnewt, for his superb vanilla guide
@wmchris for his super XPS 9550 guide and introducing me to hot-patching
@Panzerschiffe for his addition to this guide
all the developers of clover and it's awesomeness