Enhance your purchase. Bootable USB Stick - macOS X High Sierra 10.13 + USB Stick macOS X El Capitan Full OS Install, Reinstall, Recovery and Upgrade USB FLASH DRIVE 2.0 - 16GB - 5 years warranty (for USB) Latest certificate: expires. Comes with installation. Package 1x Bootable USB for Mac OS X 10.13 High Sierra +1xBootable USB for El Capitan 10.11Full OS Install Reinstall Recovery Upgrade. USB Memory Stick. Only 4 left in stock - order soon.
Warning: Please follow these instructions at your own risk. I am not responsible for any damage or information loss that could result from following this guide. Also, note that installing OS X on PC is illegal. Please buy a real Mac if you're satisfied with your Hackintosh. This guide is for evaluation purposes only.
- An Intel-based PC with UEFI bios
- A USB flash drive with at least 16GB capacity
- A dedicated hard drive (SSD highly recommended)
- A computer running OS X (10.9 or later) for preparing the installation USB flash drive
I chose to avoid the UniBeast installer (by Tonymacx86) because of its commercialized nature, as described here. Here is a vanilla guide to installing El Capitan on your PC!
Preparing the USB Installation Drive
First things first. We need to prepare a USB thumb drive that will contain the installation files as well as the bootloader and custom kexts for our specific Hackintosh build.
Download El Capitan from the Mac App Store
Head over to your existing OS X environment running 10.9 or later and open the Mac App Store.
Search for 'El Capitan' and click Download. The download is completely free if you're running OS X 10.9+.
Wait for the download to finish (this could take some time).
Format the USB Drive
Open Disk Utility in Applications/Utilities and locate your USB device. Make sure you've backed up anything important on that drive as it will be erased forever.
Select it, and then on the right, click the partition tab.
- Click Curent Layout and change it to 1 Partition.
- Set the Name to USB.
- Set the Format to Mac OS Extended (Journaled).
- Click Options and select GUID Partition Table.
Click Apply to format the drive.
Copy the Installation Files to the USB Drive
Now that we've downloaded the installation files from the Mac App Store and formatted our USB drive, let's copy the installation files to it.
Run the following command in the Terminal (Applications/Utilities):
The command will run a script inside the Install OS X El Capitan application that will copy the installation files to the USB drive.
This process takes about 15 minutes. Go out for a quick run, or a hamburger, or both. When you come back, it should have finished.
Installing a Bootloader
If you tried to boot from the USB drive as is after the previous step on a PC, it wouldn't work. We need a bootloader that makes it possible to boot OS X on x86 and x86_64 PCs.
There are 3 popular bootloaders to choose from.
I went with Clover as it seems to be the most popular choice among other El Capitan installers, mostly for the following reasons:
Clover is an open-source EFI-based bootloader created on Apr 4, 2011. It has a totally different approach from Chameleon and Chimera. It can emulate the EFI portion present on real Macs and boot the OS from there instead of using the regular legacy BIOS approach used by Chameleon and Chimera. For many, Clover is considered the next-gen bootloader and soon it will become the only choice since BIOS in being replaced by UEFI in every new motherboard. One big feature of Clover is that iMessage, iCloud, the Mac App Store works along with Find My Mac, Back To My Mac and FileVault since Clover can use the EFI partition. (Read more)
Install Clover on Your USB Drive
Installing Clover on your USB drive is relatively easy. It involves running an installation wizard and selecting some options.
Download the latest Clover installer from here.
- Run the installer.
- Click Continue twice.
- Click Change Install Location and set it to your formatted USB drive.
- Click Customize and check the following options:
- [x] Install for UEFI booting only
- [x] Install Clover in the ESP
- [ ] Drivers64UEFI
- [x] OsxAptioFixDrv-64 - fixes memory map created by AMI Aptio EFI. Booting OS X is impossible otherwise.
- Click Install and wait for the installation to finish. It shouldn't take more than a minute.
Copy Essential Kexts to the USB Drive
Next, we'll need to copy some kexts (kernal extensions, similar to drivers on Windows) to the USB drive.
- FakeSMC.kext - open source SMC device driver/emulator developed by netkas. Tricks OS X into thinking it's installed on Apple hardware. Absolutely required for Hackintosh installation.
- NullCPUPowerManagement.kext - disables AppleIntelCPUPowerManagement.kext which may cause kernel panics when you try to boot from the USB drive. It's optional, copy it only if you get an AppleIntelCPUPowerManagement-related kernel panic.
- ApplePS2Controller.kext and AppleACPIPS2Nub.kext - adds support for PS2 devices (such as PS2 keyboard/mouse). They're optional, copy them only if you still use PS2 devices.
Download these files from here and copy them to the EFI mounted volume at /EFI/Clover/kexts/10.11/.
Now that the installation USB drive is ready, let's install OS X El Capitan!
Boot from the USB Drive
Restart your computer and boot from the USB drive (Press Esc/F8/Del to access the boot selection menu).
Use the arrow keys to select Boot OS X Install from Install OS X El Capitan (It should be selected by default). Press the spacebar and select Boot Mac OS X in verbose mode. Verbose mode means that you'll be able to see exactly what's going on under the hood as OS X attempts to boot up its installer. You'll be able to see the exact error message if booting fails.
Press Enter and cross your fingers. Clover will now boot the installer from your USB drive. This could take some time, in my case, it takes around 5 minutes (Don't worry -- the startup time is around 5 seconds after installing on an SSD).
Did it fail?
It's more than likely that the boot will fail. Don't panic (ha-ha), as kernel panics usually mean that you forgot to copy an essential kext to the EFI partition. Look up the exact error you're getting before the boot log comes to an end and search Google for a solution.
Once you find an additional kext that your system needs, you'd attempt to copy it to the EFI volume, only to discover that it's gone! Not to worry, it's just unmounted and hidden. Follow this guide to mount the hidden partition, and then, follow the Copy Essential Kexts section above to copy it to the USB drive's EFI partition.
Format the Target Hard Drive
Once the installation wizard boots, the next step is to prepare the hard drive that you want to install OS X on.
Click Continue, followed by Disk Utility.
Select the target drive to install to (not the USB drive!) and click the Erase button. Make sure to back up anything important on that drive, as it will be deleted forever.
- Set the Name to El Capitan.
- Set the Format to OS X Extended (Journaled).
- Set the Scheme to GUID Partition Map.
Click Erase to format the drive.
Install OS X to the Target Drive
Exit the Disk Utility and click Install OS X.
Click Show All Disks and select the drive you just formatted to install OS X on it. Finally, click Install.
The process takes about 25 minutes. Be patient. For me, it hung at the end ('1 second remaining') for around 5 minutes. Don't be tempted to reset or cancel the installation.
When that's done, the system will reboot. Make sure to boot from the USB device again, and select Boot OS X Install from Install OS X El Capitan once again, in verbose mode. The installation is a two-part process that continues once you re-boot into the USB drive.
Finally, after about 25 more minutes, OS X El Capitan should be successfully installed on the target drive.
Boot into El Capitan via the USB Device
After the second reboot, boot from the USB device once again, but this time, select Boot OS X from El Capitan, and select verbose mode.
Press Enter and cross your fingers again. If all goes well, you'll be presented with the setup wizard:
Take a minute to set up your new Hackintosh. Once you're done, there are a few things you need to do to finish off the installation.
Reinstall Clover on the Hackintosh Drive
In the previous step, we used Clover on our USB drive to boot our Hackintosh. This is fine, but most of us aren't going to keep that USB drive plugged in forever. Let's make it possible to boot El Capitan independently by reinstalling Clover on it.
Go back up to the Install Clover on Your USB Drive section and follow the steps again, but this time, select your El Capitan volume instead of the USB drive.
Once again, copy the essential kexts to the EFI partition that shows up after installing Clover.
Finally, make sure to add Clover EFI boot options which is possible by pressing Clover Boot Options in the Clover boot window (if there are 2 boot options -- find the one for your SATA drive). I literally spent 3 hours figuring out why Clover would not boot when I disconnected the USB drive before I figured out that I need to manually add the EFI boot options.
Now you'll be able to boot directly from the El Capitan hard drive, as it should be!
Audio and Networking
If you're lucky, audio and networking will work right out of the box. If not, you're on your own from here. You'll need to research your exact hardware (by using System Information in Applications/Utilities) and searching Google to find the right kext or installer to make it work on El Capitan.
The default Clover theme is pretty ugly (no offense). Check out this theme database to improve Clover's appearance.
This is YosemiteLogin by xenatt:
How To Create A Bootable Usb Installer For Os X El Capitan
That's it! Enjoy your new Hackintosh, and if you absolutely love it, consider buying a Mac!
Recently, I reinstalled macOS on my device. Throughout the process, manyattempts failed miserably. But I now have some experience and assorted hints onwhat to try.
DISCLAIMER: All information in this post is provided as-is, and some of it mayvoid your warranty. Neither Chris Warrick nor Apple will be responsible for anydamage to your devices caused as a result of using information in this post.
The best, safest, least error-prone way to do an install is with a USB stick.Unfortunately, making a USB stick with the macOS installer on it is a nuisance.The expected way to produce macOS install media is to download the installerfrom App Store/Software Update, and run the
createinstallmedia command-lineprogram included with that installer app. All is well, as long as macOS works.If it doesn’t, and Recovery can’t install it for you, that can be difficult tosolve.
Apple does not make macOS images publicly available. That’s probably to makeHackintoshing this little bit harder, but this also affects legitimate users.The only thing you can download from Apple is El Capitan. Apple offersInstallMacOSX.dmg on theirwebsite. If you take a look at the instructions, you will see that this isnot a bootable OS X image. This image has a
.pkg package. This package isexpected to install
/Applications/Install OS X El Capitan.app. Well, we’rein recovery, we can’t install stuff. So, let’s do this the manual way.
Turns out the
.pkg format is just an archives all the way down, with allarchives being different formats (at least three).
The first archive is the
.pkg file itself. Those files are in XAR format, which was invented by theOpenDarwin community. You can either extract it with
pkgutil --expandfoo.pkg foo_files (the last argument is the destination directory, can beanything, will be created by
pkgutil) if you have access to that command (it’savailable in Recovery OS), or you can try the
xar utility as
xar -xffoo.pkg. The structure produced by both tools is a bit different, but we canwork with both.
The second archive-in-archive is the
Payload. It’s a gzipped cpio archivethat contains the files installed by this package. If you have BSD tar(default on macOS, easily installable on Linux), you can just do
tar -xvf Payload.Otherwise, you can use
gunzip -c Payload cpio -i (or
gzcat). Thatwill extract all the files the package has.
Another nested archive is the
Scripts archive, although note that
pkgutil will extract it automatically. If it’s not extracted, it’s actually
.cpio.gz again, with the same way to extract it.
(PS. If you have
7z around (on Windows/Linux as well), you can just pointit at all the compressed files mentioned in this paragraph.)
Let’s expand the El Capitan package.
We’ve got the installer app, which is what we need to create an install image.Great, let’s try it!
Oh, we’ve got a problem. Turns out there’s one more thing we need to take careof, and it’s the scripts. MacOS packages have scripts, typically shell scripts,that are run at various stages in the install process. We can look at the
PackageInfo file, or just look in the
Scripts folder, to see thatthere’s an
link_package script we need to run. This script creates a
Contents/SharedSupport directory inside the installer app, andcopies/hardlinks the
InstallESD.dmg file (which is the install formerly-DVDimage) to that directory. Let’s try doing this on our own:
And it works!
createinstallmedia will now produce valid install media.
If you are in Recovery, you can find an Install app on the filesystem. If youtry to run it, you will get the same error as in the previous paragraph:
This also happens with some older macOS versions, where you get a small
.app from the App Store, and that app does the actual download.
Whatever the issue was, we need to download the install files with theinstaller. Open the installer and let it run until the download finishes. Ifthe app asks you to reboot, quit it at this point. If it never asks, you canstill find a way to get files out (after a failed install, they should not beremoved).
The install files can be found in
/macOS Install Data on the destinationvolume. For older versions, you will just have
InstallESD.dmg, newerversions add more and more files, some of which are hardware-specific (andCatalina has
InstallESDDmg.pkg, because Apple loves nesting archives for noreason!). However many files you find, you can just:
Install macOS Catalina.appto a read-write volume.
Copy the contents of
/Volumes/TARGET/macOS Install Datato
InstallmacOS Catalina.app/Content/SharedSupport. Make sure you account for hiddenfiles, if any (copy the entire directory). If you did this correctly,
InstallESD.dmgon older verisons) is in the
SharedSupportdirectory (not in a subdirectory).
createinstallmedia. It should now consider the installer valid. Theavailable options differ slightly depending on the OS version.
If you get this error, it might be because Apple’s signing keys expired, orbecause of other date/time weirdness. Regardless, you can force an install ifyou are sure the installer is not damaged with this command (source):
While messing with all the installer stuff, I found out a fewinteresting/worrying things about the download process.
The first one is that the macOS installer uses plain HTTP without encryption todownload files. That opens you to all the standard issues — an attacker canreplace files you download, and the protocol doesn’t do anything to detecterrors (the installer will verify files, but where do the checksums comefrom?).
The second one is how the download happens. You might have noticed it to be abit slower than usual traffic. The download happens in 10 MB chunks, using the
Range HTTP header. The installer asks for 10 MB, gets it, saves, asks foranother chunk. Repeat that over 800 times, and the overhead of the entire HTTPdance becomes noticeable. (I haven’t checked, but I hope the installer at leastuses Keep-Alive. I wouldn’t be particularly surprised if it didn’t, though.)
But this raises another question. The servers clearly support partial downloads.And yet, if your network disconnects during the download, your downloadprogress for that file is reset, and in Catalina, you can go from 8 GB back to500 MB if you’re particularly unlucky. The question is, why? Thisinfrastructure should make it trivial to continue the download, perhapsdiscarding the most recent chunk if you’re concerned about that download of itbeing unsuccessful.
The first time you boot a Mac after a clean install, it starts the SetupAssistant. This app asks for basic OS settings (locale, date/time, useraccounts), and also lets you restore user data from backups.
Sometimes, you might want to access the Terminal or Console from that screen.You can do that with Ctrl + Opt + Cmd + T and Ctrl + Opt + Cmd + C respectively (source).
How could that come in handy? For example, if you want to check if the backupdrive still worked and if the process isn’t stuck (I wrote a test file and alsochecked
A few months later, in December, I upgraded to Big Sur and then installed Windows 10alongside it in Boot Camp. I then did some more hacks, which led totwo unbootable OSes.
As part of the upgrade, I had prepared install media and used it to install (soit wouldn’t fail, as it did last time), and made a
.dmg of it with DiskUtility. (Also, Apple won’t tell you this, but you need to give Disk UtilityFull Disk Access for disk imaging to work. Otherwise, you get a crypticerror.) I erased the USB drive after installing, but hey, I could get it back.I booted into Internet Recovery and restored my image. Big Sur failed to bootand showed a 🚫 sign. I triedrestoring my Catalina image from the previous reinstall, and that didn’t workdue to a size mismatch. I used a different USB drive than these months ago (Ididn’t have that one with me at the moment), and apparently the one I used hada different size (both are marketed as 16 GB). The images could be mountedfine, and
createinstallmedia should have worked, likely producing abootable drive.
Time Machine is Apple’s magical backup solution. Time Machine saves snapshotsof your entire disk. It’s supposed to help restore files that were deleted orchanged in an unwanted way, or help you restore a full macOS install.
Time Machine is great at file recovery, but none of my 3 system restoreattempts were successful. Attempt #1 was a full Time Machine System Restore,from Recovery, back in June. It failed partway through, it couldn’t readeverything from the disk. There might have been underlying hardware issues withthat failure, so I had another attempt.
Attempt #2 was a Migration Assistant restore, as part of the initial setup.This one succeeded, and things worked… except for one fairly important app.This app requires online activation with the vendor, and it wouldn’t reactivateafter the install. Whatever the third-party vendor is doing didn’t like thereinstall. I tried to nuke all the things in ~/Library related to theirsoftware, and ran their nuke-everything uninstaller, but that didn’t work.I reinstalled from scratch and copied over my files, settings and apps from theTime Machine drive.
Attempt #3 involved the System Restore again, this time for the Decemberreinstall. The hardware issues were all fixed in the meantime, so I went for aTime Machine System Restore.
Issue #1: Internet Recovery booted into Catalina. There was an issue on Apple’sside, Big Sur was unavailable in Internet Recovery in December. TMRecovery will not restore a backup created with a newer version of macOS thanyou’re booted into, so I was forced to restore a slightly older Catalinabackup. (I spent most of my time in Windows during that weekend, so other thanthe need to upgrade macOS to Big Sur again, I didn’t really lose any data dueto this.)
Issue #2: It wasted time computing an inaccurate size estimate. Beforerestoring a backup, macOS first checks if it will fit on your drive. When itdoes that, an indeterminate progress bar is shown. macOS won’t tell you theresult of that computation, but you can read the final value from the fullInstaller Log (Cmd + L). On my Mac, the value was 96.2 GB. I was at the Macwhen it was getting close to that value. 94, 95, 96, 96.1, 96.2, 96.3… hold ona second, 96.3 GB? Hopefully that’s just a bunch of extra things that areinstalled from the system image directly, or something like that, right? Ofcourse, since the progress bar is based on the pre-computed size, it becameindeterminate and I couldn’t tell when it would end. 98, 100, 110, 120, 121.2GB is where it ultimately ended. So, not only did it waste 20+ minutescomputing a size, it was off by 25 GB.
Issue #3: The restore didn’t work. The System Restore finished and claimed tohave succeeded, but macOS wouldn’t boot. It showed an Unrecoverable error,SecurityAgent was unable to create requested mechanism. Most people who had asimilar error had it caused by a botched TeamViewer uninstall; I didn’t havethat installed, and it was referring to a different component. So, wipe andfresh reinstall it is.
I copied my stuff from the TM drive, and it was acting weird. Some apps failedto load their settings copied into Library, others started with a “Move to/Applications?” prompt (even though they were in that directory). For somereason, those files had some hidden attribute set on it. I worked around it byputting files in a
.zip archive with Keka, and then unzipping them;
xattr might also help. (The attribute was likely
After I got the Mac to work, I reinstalled Windows and set up rEFInd, and itnow works fine. (I only use rEFInd because I want virtualization in Windows,and that doesn’t work unless you’re warm-rebooting from macOS. I don’t needanything more advanced than the Option key boot menu, but Apple made me use athird-party bootloader.)
We now go back to the original post from June.
Dear Progress Bar Designers: can you please make your progress barsfunctional? The macOS progress bar might look sleek at just 7 px (non-Retina)/6pt = 12 px (Retina) high, but at the same time, you’re looking at individualpixels if you need to know if it works or if it’s stuck. I have had to point mymouse cursor at the end of the filled-in part just to know if it’s working ornot. Or sometimes, put a piece of paper in front of my screen, because there isno mouse cursor when macOS installs on the black screen. How to makethat progress bar easier to use and more informative? Just add numbers on top ofit. For long-running processes, I wouldn’t mind progress bars that said“12.34%”. That specific Setup/Migration Assistant window should be changed (itonly has a remaining time estimate and transfer speed, it should also showmoved data/total size), but wouldn’t more things benefit from a clearindication of the progress? Yes, perhaps it looks less sleek, perhaps itrequires more space for the bar.
Just compare: which is easier to parse? Which is more informative?
I’d honestly be happy enough with option 2, at least it can be read easily andyou can remember the number instead of a vague position.
After all this, I managed to get macOS Catalina installed. After variousfailures in built-in El Capitan recovery and Catalina Internet Recovery, I firstinstalled El Capitan with this hack, then jumped to Mojave because I thoughtthe new Software Update would help (it didn’t, same installer, samefailed-to-extract-package issue), then made a Catalina USB stick, and itfinally clean-installed, but I was worried about the backup disk’s operation,and I used a proxy on my local network to try and speed up Catalina downloadswithout much improvement… but hey, at least it works. Apple should really makeit easier to install their OS and to make boot media even when stuff doesn’twork, even from Windows. The Hackintosh folks can just find someone with aworking Mac and ask them to download from App Store and make install media, orfind less legitimate sources, they probably don’t care as much. But if my ownsystem crashes, I’d probably want to get working install media immediately,myself, and from Apple. Without all this mess.