If you have attempted to install VirtualBox in macOS Mojave you may have noticed the installation sometimes fails with a generic “The installation failed” error message. Then, when trying to run VirtualBox you may experience another error saying “Kernel driver not installed” and VirtualBox fails to function.
The reason for the installation failure and the inability for the kernel module to load successfully is due to security restrictions in MacOS Mojave, and thus to be able to successfully install VirtualBox and run the app you will need to make a relatively simple bypass of those aforementioned security restrictions (alternatively, you can also disable Gatekeeper completely but that is generally not recommended). By the way, while this article is obviously focused on VirtualBox you will find this same general process is necessary for installing other apps that include kernel extensions.
Assuming you have already downloaded VirtualBox onto the Mac (it’s free to download here), here is how you can successfully install and run VirtualBox in MacOS Mojave:
- Run the VirtualBox installer as usual, you’ll eventually see the “Installation Failed” message
- Quit out of the VirtualBox installer after it fails
- Now pull down the Apple menu and open System Preferences
- Choose “Security & Privacy” and go to the ‘General’ tab within Security preference panel, then click the lock button and enter the administrator password
- At the bottom of the Security General section, look for the message stating “System software from developer ‘Oracle America, Inc’ was blocked from loading” and click the “Allow” button
- Relaunch the VirtualBox installer and proceed through the installation as usual, it should now succeed as expected
Go ahead and run VirtualBox as usual, it should load fine without any further kernel driver error messages. In the screenshot below you see VirtualBox running in MacOS 10.14.x with BeOS / Haiku OS.
If you’re an advanced user (and you probably are you’re running virtualization software and virtual machines in the first place) then you might be interested in allowing apps to be installed from anywhere in MacOS by adjusting Gatekeeper as instructed here.
For some quick background, GateKeeper is the Mac OS security mechanism that aims to prevent untrusted apps from being run. By default, the more modern versions of MacOS have particularly strict Gatekeeper settings and will throw error messages stating that an app can’t be opened because it is from an unidentified developer and so forth, though simply right-clicking and choosing “Open” on most apps allows you to bypass that mechanism, and you can also bypass that from the Security preference panel too. The newest macOS releases, like Mojave, take this further and also will require Gatekeeper bypass for installing certain software that bundles kernel extensions as well, such as VirtualBox. If you’re not thrilled with those protective mechanisms to MacOS, you can always disable Gatekeeper completely and disable System Integrity Protection as well, though doing so is generally not recommended.