Linux rc=-1908High

VirtualBox Kernel Module Error: How to Fix rc=-1908 on Linux

This article explains why the 'Kernel driver not installed' error occurs in VirtualBox on Linux and provides proven methods to fix it.

Updated at February 16, 2026
10-15 minutes
Medium
FixPedia Team
Применимо к:Ubuntu 22.04+Fedora 35+Debian 11+Arch Linux

What Does Error rc=-1908 Mean?

The rc=-1908 error with the message "Kernel driver not installed (rc=-1908)" occurs when trying to start VirtualBox or a virtual machine in Linux. This means the vboxdrv kernel module (the main VirtualBox driver) is not loaded into the system or is missing. Without this module, VirtualBox cannot manage virtual machines, and you will see this message immediately upon opening the program or when starting a VM.

The full error text usually looks like this:

Failed to create the VirtualBox COM object.
The VirtualBox kernel driver (vboxdrv) is not loaded.
Please load the kernel module by executing 'modprobe vboxdrv' as root.

Or:

Kernel driver not installed (rc=-1908)

This error is typical for most Linux distributions (Ubuntu, Fedora, Debian, Arch) and often appears after a kernel update, system reinstall, or when necessary packages are missing.

Causes

  1. Kernel headers (linux-headers) are not installed. The vboxdrv module requires header files for the current kernel version to compile. If they are missing, VirtualBox cannot build the module.
  2. Kernel and module version mismatch. After a kernel update, the old vboxdrv module becomes incompatible. DKMS (Dynamic Kernel Module Support) should automatically rebuild the module, but this doesn't always happen.
  3. Insufficient privileges to load the module. The kernel module requires superuser rights. If you run VirtualBox without sudo or without proper udev configuration, loading may be blocked.
  4. Corrupted or incomplete VirtualBox installation. For example, installing from your distribution's repository might result in a VirtualBox version that differs from the Oracle repository version, causing a conflict.
  5. Secure Boot blocks module loading. On systems with Secure Boot enabled (UEFI), unsigned kernel modules like vboxdrv may be rejected without explicit confirmation.
  6. Module is loaded but inactive. Sometimes the module exists but isn't loaded automatically at boot.

Solutions

This is the primary method that solves the problem in most cases. It ensures all necessary components are available for building and loads the module.

For Ubuntu/Debian and derivatives:

# 1. Install kernel headers and build tools
sudo apt update
sudo apt install linux-headers-$(uname -r) build-essential dkms

# 2. Rebuild the VirtualBox module
sudo /sbin/vboxconfig

# 3. Load the module manually (if not loaded automatically)
sudo modprobe vboxdrv

# 4. Verify the module is loaded
lsmod | grep vbox

If the vboxconfig command is unavailable, use:

sudo /etc/init.d/vboxdrv setup

For Fedora/RHEL/CentOS:

# Install headers and tools
sudo dnf install kernel-devel kernel-headers gcc make dkms

# Rebuild the module
sudo /sbin/vboxconfig

# Load the module
sudo modprobe vboxdrv

For Arch Linux:

# Install headers and dkms
sudo pacman -S linux-headers dkms

# Rebuild the module (VirtualBox from the repository)
sudo modprobe vboxdrv

If you installed VirtualBox from AUR, rebuild the package: sudo pacman -S virtualbox-host-modules-arch.

Method 2: Reinstall VirtualBox from the Official Oracle Repository

If the module fails to build due to version incompatibility, reinstall VirtualBox from Oracle's official repository. This ensures the VirtualBox and kernel module versions are aligned.

For Ubuntu/Debian:

  1. Remove the current version:
    sudo apt remove virtualbox virtualbox-*
    
  2. Add the Oracle repository (replace focal with your Ubuntu version, e.g., jammy for 22.04):
    echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian focal contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
    wget -q https://www.virtualbox.org/download/oracle_vbox_2016.gpg -O- | sudo apt-key add -
    
  3. Install the latest version:
    sudo apt update
    sudo apt install virtualbox-7.0  # or the current version
    
  4. During installation, the system will offer to build modules automatically. Confirm.

For Fedora:

sudo dnf remove VirtualBox
sudo dnf install https://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
sudo dnf install VirtualBox-7.0

After installation, run sudo /sbin/vboxconfig to build the module.

Method 3: Manual Module Loading and Dependency Check

Sometimes the module is already compiled but fails to load due to missing dependencies or blocks.

  1. Check if the module exists:
    find /lib/modules/$(uname -r) -name "vboxdrv.ko"
    

    If the file is missing, return to Method 1.
  2. Load the module manually:
    sudo modprobe vboxdrv
    
  3. If the command fails, check kernel logs:
    sudo dmesg | grep vbox
    sudo journalctl -xe | grep vbox
    

    Common errors: Invalid module format (version mismatch), Permission denied (Secure Boot issues).
  4. Ensure the module is set to load at boot:
    echo "vboxdrv" | sudo tee /etc/modules-load.d/virtualbox.conf
    

Method 4: Disable Secure Boot or Sign the Module

If your logs (dmesg) mention Secure Boot or module verification failed, the issue is a block on an unsigned module.

Option A: Temporarily disable Secure Boot in UEFI/BIOS

  1. Reboot, enter UEFI/BIOS settings (usually F2, Del, F10).
  2. Find the Secure Boot option and disable it.
  3. Save changes and reboot.
  4. Run sudo modprobe vboxdrv.

Option B: Sign the module with your own keys (more complex) This is recommended if you don't want to disable Secure Boot. Brief steps:

  1. Create MOK (Machine Owner Key) keys:
    sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
    
  2. Register the key in the system via mokutil.
  3. Sign the module and load it. Detailed instructions may vary by distribution. For most users, disabling Secure Boot is simpler.

Prevention

To avoid the error recurring after updates:

  1. Install DKMS. This daemon automatically rebuilds kernel modules when the kernel version updates. On Ubuntu/Debian it's usually installed with VirtualBox, but verify:
    sudo apt install dkms  # or sudo dnf install dkms
    
  2. Use Oracle's official repository to install VirtualBox, not your distribution's repository. Distribution versions often lag and may be incompatible with newer kernels.
  3. Don't skip kernel header updates. When updating the kernel via your package manager, headers are usually offered too. Install them alongside the kernel.
  4. After a major system update (e.g., dist-upgrade), check if the module is loaded:
    lsmod | grep vbox
    

    If not, run sudo modprobe vboxdrv.
  5. Create a helper script (optional). Save as ~/fix_vbox.sh:
    #!/bin/bash
    sudo apt install -y linux-headers-$(uname -r) build-essential dkms
    sudo /sbin/vboxconfig
    sudo modprobe vboxdrv
    

    Make it executable with chmod +x ~/fix_vbox.sh and run it when needed.

F.A.Q.

Why does the 'Kernel driver not installed' error occur in VirtualBox?
Is it necessary to reboot the computer after fixing?
Can this error be avoided when updating the kernel?

Hints

Check installed kernel headers
Rebuild the vboxdrv module
Load the kernel module
Restart VirtualBox
FixPedia

Free encyclopedia for fixing errors. Step-by-step guides for Windows, Linux, macOS and more.

© 2026 FixPedia. All materials are available for free.

Made with for the community