I love Hackintoshes. In fact, my primary Mac is a Hackintosh that I built in the long, dark days of no Mac Pro updates. It cost me less and works beautifully with my official Apple hardware. However, it does require a little hand holding, and it’s certainly not the plug-and-play experience you get from running official Apple hardware. You’ll often need to install kexts on a Hackintosh to get important hardware running, or fiddle with kexts to iron out post-installation bugs.
Kexts, or kernel extensions, allow macOS’ Darwin kernel to communicate with all the hardware connected to your Mac. Just like Windows’ drivers, kexts make it possible for the kernel communicate with your computer’s hardware, translating kernel commands into something the hardware understands and vice versa. On an official Mac, these files typically require no maintenance. But if you’re putting together a Hackintosh, you might need to install a kext or two to support your non-standard hardware. Tools like MultiBeast help by installing a bunch of these kexts for your up front, but if you need an old kext or your hardware isn’t supported by MultiBeast, you might be on your own.
Where Are Kexts Found?
You can find kexts in two places on your Mac. Most live in the “System/Library/Extensions” directory which is the primary home for kexts that function for every user. Some are also found in the “/Library/Extensions” folder as well, but that’s less common. They’re typically related to per-user hardware.
You can recognize the files by their .kext extension as well as their plugin-style LEGO icon.
Removing or Unloading Kexts
You can get a kext off your system in two ways. The standard method is using the Terminal command
1. Determine which kext you need to remove. Be absolutely certain you’ve got the right one. Removing a system-critical kext can cause major problems, and kext names are often cryptic.
2. Open Terminal and enter the following command:
sudo kextunload /System/Library/Extensions/kext.kext
Make sure to change “kext.kext” to the name of your kext file. For example, if the kext you want to remove is named “AppleIntelE1000e.kext,” the command would be:
sudo kextunload /System/Library/Extensions/AppleIntelE1000e.kext
3. Type your administrator password and press Enter. Remember that the cursor will not move as you type in your password.
kextunload doesn’t work for you, it’s possible to simply delete the kext file using the Terminal command
1. Type the following Terminal command and press Enter:
sudo rm -rf /System/Library/Extensions/kext.kext
Make sure to change “kext.kext” to the name of your kext file. For example, if the kext you want to remove is named AppleIntelE1000e.kext, the command would be:
sudo rm -rf /System/Library/Extensions/AppleIntelE1000e.kext
2. Enter your admin password and press Enter. Remember that the cursor will not move as you type in your password.
3. Restart your computer to unload the text from the kernel completely.
Installing Kexts Automatically
When you’re reading to install a new kext, there are a few ways to approach it. However, it’s not as simple as removing a kext. To install kexts on a Hacktinosh, you can use a manual approach with Terminal or a kext installation utility like KextBeast. KextBeast was created to install kexts on a Hackintosh, but it will work just as well on a vanilla Mac.
1. Download KextBeast. If you don’t have a free account with tonymacx86.com yet, you’ll need to create one to download the file.
2. Move the kext file you want to install to your Desktop. The program will automatically operate on any kext files in the “~/Desktop ” directory, so make sure you’ve got the right one.
3. Open KextBeast and click “Continue.”
4. Click “Continue” again.
5. Choose your system’s boot drive as the installation destination and click “Continue.”
6. Tick the box next to “/System/Library/Extensions” or “/Library/Extensions” to choose an installation destination. If you’re not sure which installation designation you should pick, then “/System/Library/Extensions” is the safer bet.
7. Once you chosen you destination, click “Continue.”
8. Enter your administrator password and click “Install Software” to install the kexts from your Desktop.
9. Wait for the installation success scene, then click “Close.”
10. When KextBeast is closed, restart your computer to load up all your new kexts.
Installing Kexts Manually
If you absolutely must, you can install kexts on a Hackintosh manually as well. It’s a more cumbersome process, however, and your Mac really doesn’t like you installing kexts like this. You might get wonk warnings about things being installed incorrectly, and it’s really not recommended.
1. Drag and drop your kext file into “/System/Library/Extensions”.
2. Click “Authenticate” to allow the copy operation to take place.
3. Enter your administrator password to permit the copy.
4. Once the copy is finished, open Terminal and use the command
sudo kextload kext.kext to load your newly copied kext file. Make sure to replace “kext.kext” with the name of your kext file.
5. Enter your administrator password. Remember that the cursor will not move as you type in your password.
6. If your hardware doesn’t start working right away, restart your Mac to finalize the process.
You shouldn’t need to install kexts on a Hackintosh too frequently, but don’t be surprised if you need to do a lot of it when you’re first getting the machine up and running. The kexts are, in some ways, the core of the Hackintoshing experience, allowing non-standard hardware to run with macOS as the operating system. Programs like tonymacx86’s Multibeast are a huge help when installing the basic text you need to get started.