How to Add and Remove Kexts from macOS

Mac Laptop Folded

Kexts, or kernel extensions, expand the basic functionality of macOS’s Darwin kernel. They’re analogous to drivers under Windows, and they let the kernel communicate with your computer’s hardware. Most of the time, these files require no maintenance. But if you’re having problems, you may need to fiddle with a kext or two. In this article, you’ll learn how to add and remove Kexts on macOS.

Do Macs on Big Sur and Later Use Kexts?

Apple no longer recommends using kexts with your macOS device. To make thing worse, macOS Big Sur doesn’t even support some kexts; you can find a list of those here.

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. Some are also found in the “/Library/Extensions” folder as well, but that’s less common.

You can recognize the files by their .kext extension as well as their plugin-style icon.

Mac Kernel Extensions Folder

How to Remove Kexts

There are two ways to remove kexts. The first is by using the Terminal command kextunload.

1. Determine which kext you need to remove. Be absolutely certain you have 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 “AppleMobileDevice.kext,” the command would be:

sudo kextunload /System/Library/Extensions/AppleMobileDevice.kext

3. After typing in your kext, press Enter, then type your administrator password and press Enter again.

Mac Remove Kext Terminal

If that fails to work, you can also just force-delete the kext using rm.

1. Use the following Terminal command to remove the kext file:

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
Remove Kext Rm Mac

2. Enter your admin password and press Enter.

Remove Kexts From Macos Terminal Big Sur

3. Restart your computer.

Mac Restart Device

How to Install Kexts Automatically

The steps below to remove kexts will only work if you are using a Mac operating system prior to Big Sur and utilize the KextBeast utility that was initially created for use with Hackintoshes.

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 have the right one.

add-remove-kexts-macos-move-kexts-file

3. Open KextBeast and click “Continue.”

kextbeast-installation

4. Click “Continue” again.

kextbeast-installation-continue

5. Choose your system’s boot drive as the installation destination and click “Continue.”

kextbeast-select-hd

6. Tick the box next to “/System/Library/Extensions” or “/Library/Extensions,” depending on where your kext needs to be installed. If you don’t know which one to pick, choose “/System/Library/Extensions.”

kextbeast-select-installation-folder

8. Click “Continue.”

kextbeast-installation-more-continue

9. Enter your administrator password and click “Install Software.”

kextbeast-installation-admin-password

10. Wait for the installation to finish and click “Close.”

kextbeast-installation-successful

11. Restart your computer.

kextbeast-restart-computer

How to Install Kexts Manually

If you use a Mac running on Big Sur or later, you’ll probably want to look at kernel extension alternatives. Apple recommends DriverKit and Network Extension, among other things.

Still, if you use an operating system earlier than Big Sur, kexts can be installed manually. It’s a more cumbersome process, however, and your Mac really doesn’t like you installing kexts like this.

1. Drag and drop your kext file into “/System/Library/Extensions”.

kextbeast-drag-to-extensions-folder

2. Click “Authenticate.”

kextbeast-authenticate

3. Enter your admin password.

kextbeast-authenticate-with-admin-password

4. 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.

kextload command

5. Enter your administrator password.

kextload-admin-password

6. Restart your computer.

kexts-restart-computer

Frequently Asked Questions

1. How do I access my Big Sur system extensions?

Go to “System Preferences -> Extensions” to find extensions installed on your device – both native and third party.

2. A system extension on my Mac is blocked. What should I do?

Go to “System Preferences -> Security & Privacy -> General.”

In the bottom right of your window, you should see an “Allow” button next to the message: “System software from developer [Developer’s Name] was blocked from loading.”

Click on the padlock in the bottom left and enter your password, then tap on the “Allow” button.

3. Are system extensions and kernel extensions the same?

System extensions and kernel extensions were designed with the same end goal but work a little differently. Both aim to make background tasks on your Mac run more smoothly.

However, system extensions don’t work within the kernel (working instead like individual apps). Therefore, they don’t pose as much of a threat to your Mac if an issue arises.

Wrapping Up

You shouldn’t need to mess with kexts too often. And if your device runs on Big Sur or later, you’ll almost never need to install one.

If you do need to remove a kext at some point, you can use the Terminal to delete it without much trouble. And if you use an older Mac and need to install a kext, use KextBeast to simplify the process.

When it comes to macOS maintenance, something else you might occasionally need help with is deleting files that won’t delete the usual way.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox