Virtual box fails to boot any VMs, suspect its due to a kernel update
Kernel driver not installed (rc=-1908)
The VirtualBox Linux kernel driver (vboxdrv
) is either not loaded or there is a permission problem with /dev/vboxdrv
. Please reinstall virtualbox-dkms package and load the kernel module by executing
modprobe vboxdrv
as root.
where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) – The support driver is not installed. On linux, open returned ENOENT.
when you try reinstalling the dkms
sudo apt-get install --reinstall virtualbox-dkms
Building for 5.0.0-23-generic
Building initial module for 5.0.0-23-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-dkms.0.crash'
Error! Bad return status for module build on kernel: 5.0.0-23-generic (x86_64)
Consult /var/lib/dkms/virtualbox/5.2.18/build/make.log for more information.
Make log is as follows:
DKMS make.log for virtualbox-5.2.18 for kernel 5.0.0-23-generic (x86_64)
Sun Aug 4 08:04:13 IST 2019
make: Entering directory '/usr/src/linux-headers-5.0.0-23-generic'
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/linux/SUPDrv-linux.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/SUPDrv.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/SUPDrvGip.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/SUPDrvSem.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/SUPDrvTracer.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/SUPLibAll.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/alloc-r0drv.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/initterm-r0drv.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/memobj-r0drv.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/mpnotification-r0drv.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/powernotification-r0drv.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o
CC [M] /var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o
/var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.c: In function ‘VBoxHost_RTR0MemUserIsValidAddr’:
/var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.c:69:55: error: macro "access_ok" passed 3 arguments, but takes just 2
bool fRc = access_ok(VERIFY_READ, (void *)R3Ptr, 1);
^
/var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.c:69:16: error: ‘access_ok’ undeclared (first use in this function)
bool fRc = access_ok(VERIFY_READ, (void *)R3Ptr, 1);
^~~~~~~~~
/var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.c:69:16: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:284: recipe for target '/var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o' failed
make[2]: *** [/var/lib/dkms/virtualbox/5.2.18/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
scripts/Makefile.build:515: recipe for target '/var/lib/dkms/virtualbox/5.2.18/build/vboxdrv' failed
make[1]: *** [/var/lib/dkms/virtualbox/5.2.18/build/vboxdrv] Error 2
Makefile:1606: recipe for target '_module_/var/lib/dkms/virtualbox/5.2.18/build' failed
make: *** [_module_/var/lib/dkms/virtualbox/5.2.18/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.0.0-23-generic'
If i try
sudo modprobe vboxdrv
modprobe: FATAL: Module vboxdrv not found in directory /lib/modules/5.0.0-23-generic
Any idea how to fix this ?
Best Answer
You need to purge and reinstall VirtualBox.
Back up your virtual machines somewhere safe.
Purge Virtualbox:
Get rid of old deps and configs:
Install a shiny new VBox
There are two options for installing VBox. From standard repos (Option 1) or from a PPA (Option 2). Do one or the other NOT both.
Option 1. You can install directly from the standard repos like this:
Option 2. Install from the PPA
If you want the absolute latest version of VBox and any potential closed source drivers follow these steps to install from the PPA.
4.2.1. Add the following line to your /etc/apt/sources.list:
4.2.2. Download Oracle public key:
4.2.3. Install VirtualBox:
More info on PPA install here.