MacOS – Kextual Healing: How to remove Kexts that appear on startup

kernel-extensionsmacosterminal

On my Mac I have a load of Kexts appearing that read like this (there are 14 or so):

The system extension "/System/Library/Extensions/BJUSBLoad.kext" was installed improperly and cannot be used…

Now they didn't start appearing after I consciously did anything, and I've read various threads about it elsewhere. I wonder if there is a programming solution here (using Terminal, perhaps) – something that will suppress the kexts? They mostly seem to relate to hp printer drivers, that sort of thing. Stuff I never use.

None of them seem to relate to things in my Login Items in System Preferences.

After discussing this on StackOverflow, I received some advice to run kextutil -n on them:

kextutil -n /System/Library/Extensions/BJUSBLoad.kext

So I did that, and got this:

/System/Library/Extensions/BJUSBLoad.kext – dependency 'com.apple.kernel.libkern' not found. Diagnostics for /System/Library/Extensions/BJUSBLoad.kext: Warnings: Personality CFBundleIdentifier differs from containing kext's (not necessarily a mistake, but rarely done): IJ170b…etc.

The message goes on, and ends like this:

Kext has no executable or compatible version, so it should not declare any OSBundleLibraries.
Code Signing Failure: not code signed

Any idea why or what I need to do?

Best Answer

See this Apple Support Communities thread - it addresses your exact problem (specifically, this response).

If you still have issues, prevent the kext from loading by using sudo + kextunload instead of kextutil. For example:

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

kextutil would be appropriate for debugging purposes (corrupted, missing dependencies, deprecated, etc) in the hopes of repairing it. kextunload is the tool you are looking for - see the man page for more info on it.

Related Question