Hackintosh

I recently experimented with Hackintosh (essentially, a normal PC that has Mac OS installed), and the whole process is intimidating because everybody seems to be giving you a “cookbook” type instructions where you just follow steps without actually understanding what’s going on, and when it works, you end up being no smarter. So, I decided to add the part that’s usually missing.

Basically, it works like this: Mac has specific hardware, such as SMC, that makes it quite different from a PC, and Mac OS gets its basic sensor info and other stuff from the SMC. On a PC, those things are done differently, but if you add a software layer that will trick the OS into thinking it’s talking to Mac hardware, while the software in fact translates the commands and data between the OS and PC hardware, everything will work. Also, there are kernel extensions that trick the OS into thinking some piece of hardware is compatible. This is the complicated part where everybody’s eyes get blurry and they say something along the lines of “fuck all”. However, the good part is that you don’t need to know much about this in order for things to work. You just need to find the “recipe” someone else made for your hardware, copy it to the right place, possibly make adjustments and it will work.

The basic principle is this: there’s a piece of software called Clover, which takes place of your normal bootloader, but it also serves as an intermediary layer that tricks Mac OS. It scans for all bootable drives on your system, exposes them in form of a list, from which you then pick a drive you want to boot. This means that for basic booting into Mac OS, you need a drive with Clover installed, and a Mac OS bootable drive. Everybody is telling you to download Mac OS installation file on a real Mac, enter a few commands to make a bootable USB drive, and suffocate you with technobabble. I have a simpler explanation. Get a Clover ISO somewhere, and burn it onto the USB stick. Get pre-cooked EFI for your hardware. Copy this EFI onto the clover boot drive. At that point, if you connect both the Clover USB stick and a drive that would boot into Mac OS, such as the Time Machine backup drive, boot into the Clover stick, wait for the Clover to give you the list of bootable drives, and boot into the Time Machine system recovery partition or whatever it’s called. It will give you the option to install Mac OS on an empty drive. I assume you already have one, so format it in Disk Utility, exit disk utility, choose to either install a fresh copy of the OS or to restore from backup, go through the steps, and when it reboots, again boot into Clover and pick the right partition to boot into, and after a few steps you’ll have a working system. Theoretically, if your Mac has a standard SATA drive, you could just pull it out of a mac, plug it into a PC, boot into Clover, select the Mac drive and boot into it and you’d have a working Hackintosh. There’s just one more step, and that’s transferring Clover onto your Mac drive, so that you can dispense with the Clover USB stick. Boot into Hackintosh, install a tool called Multibeast, and it will transfer Clover onto your Mac OS system drive, after which point this drive is no longer safely bootable in a real Mac. Then use the Clover configuration tool to mount the EFI, and then copy the EFI cookbook specific for your hardware from the Clover stick to the EFI on the Mac OS drive. Unmount, reboot, pull the Clover stick out, go to the BIOS and select the Mac OS drive as the first boot option, and you should then boot into the Clover menu, and you know what you do from there.

I’m starting to sound as complicated as the guys who are making the Hackintosh instructions, but what I wanted to say is that you need 2 things: a drive that would boot into Mac OS on Mac hardware, and the Clover bootable stick with an EFI cookbook for your hardware. After that point everything starts making sense. The only thing to avoid is putting a drive with Clover EFI into a real Mac. That will make your Mac unbootable until you do a NVRAM/SMC reset, and even that might not work because I haven’t tried.

There’s a reason why it’s called Hackintosh: it’s janky as fuck. The only thing I can think of that’s as unintuitive, creates as much problems without solving any, and wastes as much time, is trying to install Windows 95 or something similar onto modern hardware. Try it once, you won’t try it again. In comparison, Linux is the most intuitive and user friendly thing ever. Also, there’s a much better chance you’ll get all your hardware working in Linux. I’m not kidding. Stuff like Bluetooth/wifi will almost certainly not work, and you better not have a Nvidia GPU, because you can get it to work but will almost certainly suffer stability issues. Also, on a major OS update everything will break.

The reason why you would want to do it is not to get a normal Mac desktop on PC hardware, it’s to get a basic barely-working Mac desktop on PC hardware where you can run things such as the xcode compiler needed to build iOS and Mac executables, and you won’t mind much if you don’t have Airdrop or Bluetooth or if sound doesn’t work. Essentially, it’s a way to get a very fast Mac OS platform for running some obscure Mac OS piece of software that you need for some specific task, do whatever you have to do with it, and then boot back into a normal OS where everything works properly.