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...
Apple SW Catalog URLs Pike's Universum.png 170.48KB 12 downloads
- 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...
(Hint - search page for "InstallESD" to find its URL and others nearby)
Apple SW Catalog Find InstallESD in browser.png 567.33KB 25 downloads
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...
Apple SW Catalog List of Download Manager Downloads.png 412.5KB 17 downloads
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)...
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