How To

How To Resolve VirtualBox Kernel Driver Not Installed (rc=-1908) Error

February 16, 2026 6 minutter å lese Oppdatert: February 16, 2026

Security features like Secure Boot are there for a reason, but sometimes they cause real headaches with third-party kernel modules—think VirtualBox’s vboxdrv. Basically, if Secure Boot blocks loading unsigned or incompatible kernel extensions, VirtualBox just won’t start VM’s properly. This is a common snag on Macs and some Linux distros, especially after big OS updates or if you’re messing with custom kernels. Knowing how to handle it can save some serious time and frustration.

How to Fix This Error on macOS and Linux

Allow the Kernel Module on macOS

If you’re running VirtualBox on a Mac with newer macOS (say 10.13 or later), you’ll probably see a prompt or need to manually permit the extension. Linux has its own quirks, but macOS security settings are fairly straightforward to modify. This helps because macOS blocks unsigned or new modules from loading, which causes the VM kernel driver errors.

  1. Open System Preferences, then go to Security & Privacy.
  2. In the General tab, if you see a message about blocked software, click Allow next to it.
Note: The allow button only appears for about 30 minutes after the module request. If it’s not showing, try installing or enabling the module first (like opening VirtualBox so it prompts).On some setups, you might need to reboot or re-approve in recovery mode.

Restart VirtualBox Kernel Service

Sometimes, a good ol’ restart of the VirtualBox startup script can help fetch the signed kernel extension properly. Open terminal and run:

sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart

This command stops and then restarts the VirtualBox kernel extension loading process. On my Mac, I’ve seen that this method, coupled with the security prompt, makes VirtualBox recognize the driver just fine after a reboot.

Register the vboxdrv Kernel Extension

Another trick is manually registering the VirtualBox driver with

sudo kmutil load -p '/Library/Application Support/VirtualBox/VBoxDrv.kext'

This forces the OS to load the extension — kinda the “force it to pay attention” move. After executing this, reboot and see if VirtualBox can run the VM now. Sometimes, the system just doesn’t load the driver by default due to SIP (System Integrity Protection).

Approve Oracle’s Developer ID

If the above still doesn’t work, macOS might be blocking the driver because it doesn’t trust the developer. You’ll have to add Oracle’s developer ID manually to the system’s security assessment list. That way, it’s a bit like telling macOS, “Yeah, I trust this guy.”

Open your terminal and run:

spctl kext-consent add VB5E2TV963

This adds Oracle to the trusted list. To be thorough, it’s worth doing this step again from recovery mode, just in case SIP is preventing changes:

  1. Reboot your Mac and hold Command + R to enter recovery mode.
  2. Open Utilities > Terminal.
  3. Type the same command:
  4. spctl kext-consent add VB5E2TV963

  5. Reboot normally and check if VirtualBox can now load its driver without issues.

Install VirtualBox Extension Pack

If the driver still won’t load, installing the latest VirtualBox Extension Pack might help, especially since some features need extra kernel modules. Grab it from the VirtualBox downloads page. After installing VirtualBox, go to Tools > Extensions within VirtualBox and install the extension pack. Sometimes, this includes the signed drivers needed for your OS to accept the kernel modules.

Clear Kernel Extension Cache

macOS caches kernel extensions, and sometimes it gets stuck. Run in terminal:

sudo kextcache --clear-staging

This clears the cache. Reboot and see if that makes a difference. If not, try the command again after a reboot.

Try a Different VirtualBox Version

Sometimes, newer versions break compatibility with your current OS setup or security settings. Uninstall VirtualBox completely:

  1. Run the uninstall script, usually /Library/Application Support/VirtualBox/Uninstall.tool or similar.
  2. Restart and then download an older version or the latest one from the site. Sometimes, a different release plays nicer with your system.

Fix Kernel Extension Flags for SIP

Shadery stuff like SIP can block the loading of certain drivers if a flag isn’t set right. Boot into recovery mode (Command + R during startup), then in Terminal, run:

chflags restricted /Volumes/Macintosh\ HD/private/var/db/KernelExtensionManagement

Replace Macintosh\ HD with your actual disk name if different. Restart, reinstall VirtualBox, and test.

Disabling Secure Boot as Last Resort

If you’re desperate, flipping Secure Boot off is an option — but keep in mind, it weakens system security. To do it:

  1. Reboot into recovery mode (Command + R), then go to Utilities > Startup Security Utility.
  2. Set Secure Boot to No Security.
  3. Reboot, and this should permit unsigned or untrusted kernel extensions to load normally.

After this change, you’ll have to turn Secure Boot back on manually if needed, but for debugging, it’s a quick fix.

How to Fix This Error on Linux

Linux can be a headache because kernel modules depend heavily on your version, headers, and the signing process. When VirtualBox throws errors about vboxdrv not loading, here’s what’s likely going wrong.

Reboot First

Linux kernel updates often require a reboot before the vboxdrv module plays nice again. It’s a simple start—sometimes, that’s all it takes because kernel updates aren’t always immediately reflected.

Match Kernel and Headers

If your kernel just updated, the vboxdrv module might be incompatible. To fix this, reinstall the same kernel headers as your current kernel. On Debian/Ubuntu:

sudo apt purge virtualbox dkms linux-headers-$(uname -r) sudo apt install linux-headers-$(uname -r) sudo apt install virtualbox

On other distros, switch apt to whatever your package manager is, like dnf or yum. Then, reapply the kernel module:

sudo /etc/init.d/vboxdrv setup

or, for systems with DKMS:

sudo dkms autoinstall

Rolling Back to an Older Kernel

If your current kernel isn’t really supported or working, you might consider going back to a known-good version. Download older kernels from your distro’s mainline archive, install them, then reboot into that kernel. With the right version, the error tends to vanish.

Adjust GCC Version

Sometimes, the module was built with a specific compiler version. If your GCC differs, it can cause issues. To fix:

  1. Purge VirtualBox: sudo apt purge virtualbox
  2. Install GCC 8 (or your target version): sudo apt install gcc-8 g++-8
  3. Set it as default:
  4. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

Reinstall VirtualBox afterward, and most likely, the module will load fine.

Sign the Modules for Secure Boot

If you use Secure Boot and have signature errors, signing the kernel modules yourself might be necessary. Tools like signing scripts on GitHub can help with this process. But honestly, turning off Secure Boot is often faster for testing.

Disable Secure Boot (for Linux)

As a last measure, disable Secure Boot by entering your system’s firmware settings (often via the boot menu during startup), then look for “Secure Boot” and turn it off. Remember, this reduces the security posture but can be the difference between your VM running or not.

Note: Because kernel updates happen frequently, you might have to redo this signing or disable Secure Boot step after each update.

Hope this walkthrough helps someone avoid banging their head against it. Because of course, Secure Boot has to be the extra step making things more complicated than necessary.

Summary

  • Allow kernel extensions in macOS Security & Privacy settings
  • Reset or register VirtualBox kernel modules manually
  • Add Oracle’s developer ID to system policy
  • Install or update VirtualBox extension pack
  • Clear kernel extension cache
  • Reinstall different versions of VirtualBox
  • Disable Secure Boot if all else fails
  • On Linux, match kernel headers, consider kernel rollback, or change GCC versions
  • Disabling Secure Boot is often the simplest workaround — just remember to re-enable it later if needed

Wrap-up

Honestly, dealing with Secure Boot and virtual machine drivers is kind of a pain, but it’s mostly about making your system trust the software. Once you get the hang of allowing the modules or turning off Secure Boot temporarily, things tend to smooth out. Just remember, every setup is slightly different, so a bit of trial and error might be necessary. Hopefully, this shaves off a few hours for someone.