VirtualBox – RTR3InitEx failed with rc=-1912 (rc=-1912)
I have installed VirtualBox Version 5.1.18 r114002 (Qt5.5.1)
on Ubuntu 16.04 LTS
. To virtualize everything (Kali, Windows 10).
I encounter the following error:
RTR3InitEx failed with rc=-1912 (rc=-1912)
The VirtualBox kernel modules do not match this version of VirtualBox.
The installation of VirtualBox was apparently not successful.
Executing‘/sbin/vboxconfig’
may correct this. Make sure that you do not mix the OSE version and
the PUEL version of VirtualBox.where: supR3HardenedMainInitRuntime what: 4
VERR_VM_DRIVER_VERSION_MISMATCH (-1912) – The installed support driver
doesn’t match the version of the user.
- What causes this problem?
- How can this problem be solved?
When i run dpkg --list virtualbox-*
in terminal, I get:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
rc virtualbox-5.0 5.0.32-11293 i386 Oracle VM VirtualBox
rc virtualbox-5.1 5.1.18-11400 i386 Oracle VM VirtualBox
un virtualbox-gue <none> <none> (no description available)
un virtualbox-gue <none> <none> (no description available)
un virtualbox-ose <none> <none> (no description available)
Read This first!
Please note that this answer is intended to specifically solve the original poster’s problem when typical solutions like running sudo /sbin/vboxconfig
or removing virtualbox-dkms
and installing dkms
does not work.
Please first try these simple workarounds, these might help you right away.
It seems that your installation version of virtualbox is for 32-bit architecture while you are running 64-bit operation system which can be the cause of this problem.
My workaround would be to remove the installed version from PPA, and installing virtualbox from official repositories.
To remove virtualbox, run:
sudo apt autoremove --purge virtualbox*
After that make sure there is no other version installed on your system by:
dpkg -l 'virtualbox*' | grep ^i
You shouldn’t get any output, also you can try to run virtualbox to make sure it’s not installed.
Then remove all related PPAs from your sources.list
and sources.list.d
directory. ex:
mkdir ~/apt-tmp
sudo mv /etc/apt/sources.list.d/* ~/apt-tmp
Make sure there is nothing except official repositories sources in /etc/apt/sources.list
.
And update your sources:
sudo apt update
Now we can search to see which versions are available to install:
apt-cache madison virtualbox | grep -iv sources
Which produces an output like this:
virtualbox | 5.0.32-dfsg-0ubuntu1.16.04.2 | http://mirrors.kernel.org/ubuntu xenial-updates/multiverse amd64 Packages
virtualbox | 5.0.18-dfsg-2build1 | http://mirrors.kernel.org/ubuntu xenial/multiverse amd64 Packages
Then I would install the last version mentioned in xenial-updates
:
sudo apt install virtualbox=5.0.32-dfsg-0ubuntu1.16.04.2
Also sudo apt install virtualbox
, would be fine, but I would go with the above command to make sure my desired version is going to be installed.
And after all, check that the correct version is installed.
From command line:
dpkg -l virtualbox* | grep ^i
ii virtualbox 5.0.32-dfsg-0ubuntu1.16.04.2 amd64 x86 virtualization solution - base binaries
ii virtualbox-dkms 5.0.32-dfsg-0ubuntu1.16.04.2 all x86 virtualization solution - kernel module sources for dkms
ii virtualbox-qt 5.0.32-dfsg-0ubuntu1.16.04.2 amd64 x86 virtualization solution - Qt based user interface
From GUI: to make sure correct version is running.
Help menu -> about virtualbox
Pay attention to green highlight
It seems you have two separate versions of VirtualBox installed on your system!
I would recommend that you fully uninstall all versions of VirtualBox:
sudo apt-get autoremove 'virtualbox*'
Then reinstall directly from Oracle virtualbox. Go to the VB download page, scroll down to “Debian-based Linux distributions“, and follow the instructions or download VB binary package for all distributions and then run the installer like this:
cd /path/to/downloaded/file
chmod +x VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
./VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
Check that you have vbox modules loaded:
lsmod | grep vbox
On my machine, I have vboxpci
, vboxnetadp
, vboxnetflt
, and vboxdrv
Check if they are the correct version:
modinfo vboxdrv
Very likely that the version of this module would be 5.0.32 rxxxxxx
, but you are running virtualbox 5.1
If this is not the case, this answer might not help solve your problem.
Otherwise, this might be caused by not removing the modules left over by your old-version virtualbox, and the new modules are not overwriting.
Simply remove all those old modules and reboot, and it should fix the problem:
# This command list all files in the same directory of the vboxdrv module
# Double check they are all vbox* modules and are outdated
# Then change "ls" to "rm" to remove all
ls $(dirname $(modinfo vboxdrv | sed -n 's/filename: *(.*)/1/p'))/*
I removed virtualbox using the command given below:
sudo apt autoremove --purge virtualbox*
but it did not work.
I found that the old vboxdrv mod was not getting removed and had to manually remove vboxdrv.ko from “/lib/modules/$(uname -r)/updates/dkms/”.
If reinstall Virtualbox not work. You should Try install or reinstall the dkms
of Virtualbox
verify if have errors:
dpkg -P virtualbox-dkms
If you have error probably should try do:
sudo apt-get install virtualbox-dkms
If you installed VirtualBox by official manual and didn’t forget to delete installed one from default Ubuntu repository.
Check if virtualbox-dkms
is installed:
dpkg -l | grep virtualbox-dkms
If yes, then delete it and install dkms
sudo apt-get purge virtualbox-dkms &&
sudo apt-get install dkms
Rebuild VirtualBox kernel modules:
sudo /sbin/vboxconfig
So, in my case, the kernel modules were not removed properly.
Here are the details:
root@Dell5280 [~]# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS
root@Dell5280 [~]# uname -r
4.13.0-31-generic
Problem:
root@Dell5280 [~]# modinfo vboxdrv
filename: /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko
version: 5.0.40_Ubuntu r115130 (0x00240000)
license: GPL
description: Oracle VM VirtualBox Support Driver
author: Oracle Corporation
srcversion: 6D8B4900A693FC50489A130
depends:
name: vboxdrv
vermagic: 4.13.0-31-generic SMP mod_unload
FIX:
root@Dell5280 [~]# rm /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko
root@Dell5280 [~]# modinfo vboxdrv
filename: /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko
modinfo: ERROR: could not get modinfo from 'vboxdrv': No such file or directory
[1] root@Dell5280 [~]# /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.
root@Dell5280 [~]# modinfo vboxdrv
filename: /lib/modules/4.13.0-31-generic/misc/vboxdrv.ko
version: 5.2.7 r120349 (0x00290000)
license: GPL
description: Oracle VM VirtualBox Support Driver
author: Oracle Corporation
srcversion: 4880B21EFF1B605D6402982
depends:
name: vboxdrv
vermagic: 4.13.0-31-generic SMP mod_unload
parm: force_async_tsc:force the asynchronous TSC mode (int)
After this, everything works (at least in my case)
Hope it helps.
Hide
See full activity log
I posted the reply at https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1736116
If you want to use the latest version of virtualbox, you need to remove modules in the dkms folder.
VB 5.1 and older places modules in misc while VB 5.0 in the fork stores them in dkms folder.
- Purge all virtualbox with apt
-
Check
modinfo vboxdrv
to see if it outputs version 5.0:$ modinfo vboxdrv filename: /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko version: 5.0.40_Ubuntu r115130 (0x00240000) license: GPL description: Oracle VM VirtualBox Support Driver author: Oracle Corporation srcversion: 6D8B4900A693FC50489A130 depends: name: vboxdrv vermagic: 4.13.0-31-generic SMP mod_unload parm: force_async_tsc:force the asynchronous TSC mode (int)
-
If it does output 5.0, delete the modules in dkms folder:
$ sudo -i # sudo rmmod vboxnetadp vboxnetflt vboxpci vboxdrv # cd /lib/modules/(kernelversion)-generic/updates/dkms # rm vbox*
-
Run
sudo /sbin/rcvboxdrv setup
(then check whethermodinfo vboxdrv
gives the correct version)$ modinfo vboxdrv filename: /lib/modules/4.10.0-42-generic/misc/vboxdrv.ko version: 5.2.6 r120293 (0x00290000) license: GPL description: Oracle VM VirtualBox Support Driver author: Oracle Corporation srcversion: 4880B21EFF1B605D6402982 depends: vermagic: 4.10.0-42-generic SMP mod_unload parm: force_async_tsc:force the asynchronous TSC mode (int)
a simple apt upgrade virtualbox
worked for me
after updating to 6.0 this message also appeared. In case you didn’t do it, restart your system so that all new modules be loaded into the kernel. Sometimes it’s as simple as that.