Virtualbox fails to load kernel module after updating Debian from Stretch to Buster. I have Virtualbox 6.1 and the next kernel version:
~$ uname -a Linux debian 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) x86_64 GNU/Linux
Also, I have legacy support on my Bios and secureboot disabled. Debian is also configured to boot from Legacy
I've seen a bunch of similar cases however all of the proposed workarounds don't work for me.
I've tried the next solutions:
~$ sudo /sbin/vboxconfig vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building
VirtualBox kernel modules. vboxdrv.sh: failed: modprobe vboxdrv
failed. Please use 'dmesg' to find out why.
There were problems setting up VirtualBox. To re-start the set-up
process, run /sbin/vboxconfig as root. If your system is using EFI
Secure Boot you may need to sign the kernel modules (vboxdrv,
vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see
your Linux system's documentation for more information.
~$ sudo modprobe vboxdrv modprobe: ERROR: could not insert 'vboxdrv': Exec format error
~$ sudo dpkg-reconfigure virtualbox-6.1 dkms addgroup: The group
`vboxusers' already exists as a system group. Exiting. vboxdrv.sh:
failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.
There were problems setting up VirtualBox. To re-start the set-up
process, run /sbin/vboxconfig as root. If your system is using EFI
Secure Boot you may need to sign the kernel modules (vboxdrv,
vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see
your Linux system's documentation for more information.
~$ sudo apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
virtualbox-6.1 --reinstall ... Unpacking linux-headers-amd64
(4.19+105+deb10u7) over (4.19+105+deb10u7) ... Setting up
linux-headers-amd64 (4.19+105+deb10u7) ... Setting up virtualbox-6.1
(6.1.16-140961~Debian~buster) ... addgroup: The group `vboxusers'
already exists as a system group. Exiting. vboxdrv.sh: failed:
modprobe vboxdrv failed. Please use 'dmesg' to find out why.
There were problems setting up VirtualBox. To re-start the set-up
process, run /sbin/vboxconfig as root. If your system is using EFI
Secure Boot you may need to sign the kernel modules (vboxdrv,
vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see
your Linux system's documentation for more information. Processing
triggers for mime-support (3.62) ... Processing triggers for
hicolor-icon-theme (0.17-2) ... Processing triggers for systemd
(241-7~deb10u4) ... Processing triggers for shared-mime-info (1.10-1)
... Processing triggers for desktop-file-utils (0.23-4) ...
:~$ sudo /sbin/rcvboxdrv
setup vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh:
Building VirtualBox kernel modules. vboxdrv.sh: failed: modprobe vboxdrv failed.
Please use 'dmesg' to find out why.
Also i've tried another possible workarounds:
- Reboot my PC and try to perform modprobe and vboxconfig commands
- run virtualbox as root
- install Virtualbox 5.2, 6.0, 6.1 from Debian repo
- Install the latest Virtualbox directly from the .deb package
- sudo /opt/VirtualBox/vboxdrv.sh force-reload
- sudo /opt/VirtualBox/vboxdrv.sh setup
All the failed operations related to vboxdrv kernel module returning in stdout or in dmesg this message:
module: vboxdrv: Unknown rela relocation: 4