I just upgraded to kernel 4.18.7 in my Arch Linux system and it broke the VirtualBox. VirtualBox has stopped working after updating the kernel. When I start a VM, I got this error:
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 the kernel module by executing '/sbin/vboxconfig' as root. where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.
And this error too:
The virtual machine 'Ubuntu 18.04 LTS Server' has terminated unexpectedly during startup with exit code 1 (0x1).
|Result Code:||NS_ERROR_FAILURE (0x80004005)|
Weird? I ran the command the following command as suggested in the first image to reinstall the kernel module.
$ sudo /sbin/vboxconfig
But my Arch Linux systems said there was no such command:
sudo: /sbin/vboxconfig: command not found
Then, I head over to Arch Linux forum. While looking through the forum, someone has suggested to run this command:
$ sudo modprobe vboxdrv
And.. I got this error:
modprobe: ERROR: could not insert 'vboxdrv': Exec format error
After spending few more minutes on the forum, finally I fixed this error by updating virtualbox-host-modules package.
If ever run into this error, all you have to do is update your virtualbox-host-modules package or better run a complete update.
To do so, simply run:
$ sudo pacman -Syyu
Finally, run this command to reload the kernel module:
$ sudo /sbin/rcvboxdrv setup Unloading modules: Loading modules: vboxnetadp vboxnetflt vboxpci vboxdrv
VirtualBox should work now.
For Ubuntu systems, refer this link:
This guide is bit old. I can't guarantee this guide still applies to the new kernel.
If you still get the same error, find the installed virtualbox host modules:
$ pacman -Q | grep virtual virtualbox 5.2.18-1 virtualbox-guest-iso 5.2.18-1 virtualbox-host-modules-arch 5.2.18-8 virtualbox-sdk 5.2.18-1
And, replace virtualbox-host-modules-arch package with virtualbox-host-dkms
package like below.
$ sudo pacman -Syu
$ sudo pacman -S virtualbox-host-dkms
You will prompted to remove virtualbox-host-modules-arch package. Just type Y and hit ENTER to install virtualbox-host-dkms.
Make sure you have installed the kernel headers:
$ sudo pacman -S linux-headers
Finally, run the following commands:
$ sudo modprobe vboxdrv
$ sudo /sbin/rcvboxdrv setup
Reboot the system and now VirtualBox should work.