问题描述
我已经在 Ubuntu 16.04 LTS
上安装了 VirtualBox Version 5.1.18 r114002 (Qt5.5.1)
。虚拟化一切(Kali、Windows 10)。
我遇到以下错误:
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.
-
是什么导致了这个问题?
-
如何解决这个问题?
当我在终端中运行 dpkg --list virtualbox-*
时,我得到:
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)
最佳答案
如果您通过 official manual 安装了 VirtualBox,并且没有忘记从默认的 Ubuntu 存储库中删除已安装的 VirtualBox。
检查是否安装了 virtualbox-dkms
:
dpkg -l | grep virtualbox-dkms
如果是,则将其删除并安装 dkms
sudo apt-get purge virtualbox-dkms && \
sudo apt-get install dkms
重建 VirtualBox 内核模块:
sudo /sbin/vboxconfig
次佳答案
先读这个!
请注意,当运行 sudo /sbin/vboxconfig
或删除 virtualbox-dkms
和安装 dkms
等典型解决方案不起作用时,此答案旨在专门解决原始发布者的问题。
请首先尝试这些简单的解决方法,这些可能会立即对您有所帮助。
您的 virtualbox 安装版本似乎是 32 位架构,而您正在运行 64 位操作系统,这可能是导致此问题的原因。
我的解决方法是从 PPA 中删除已安装的版本,并从官方存储库安装 virtualbox。
要删除 virtualbox,请运行:
sudo apt autoremove --purge virtualbox*
之后,通过以下方式确保您的系统上没有安装其他版本:
dpkg -l 'virtualbox*' | grep ^i
你不应该得到任何输出,你也可以尝试运行 virtualbox 以确保它没有安装。
然后从 sources.list
和 sources.list.d
目录中删除所有相关的 PPA。前任:
mkdir ~/apt-tmp
sudo mv /etc/apt/sources.list.d/* ~/apt-tmp
确保 /etc/apt/sources.list
中除了官方存储库源之外没有其他内容。
并更新您的来源:
sudo apt update
现在我们可以搜索以查看可以安装的版本:
apt-cache madison virtualbox | grep -iv sources
产生这样的输出:
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
然后我会安装 xenial-updates
中提到的最后一个版本:
sudo apt install virtualbox=5.0.32-dfsg-0ubuntu1.16.04.2
sudo apt install virtualbox
也可以,但我会使用上面的命令来确保安装我想要的版本。
毕竟,请检查是否安装了正确的版本。
从命令行:
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
从 GUI:确保正在运行正确的版本。
帮助菜单 ->关于虚拟盒子
注意绿色高亮
第三种答案
所以,就我而言,内核模块没有被正确删除。
以下是详细信息:
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
问题:
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
使固定:
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)
在此之后,一切正常(至少在我的情况下)
希望能帮助到你。隐藏 查看完整的活动日志
我在 https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1736116 发布了回复
第四种答案
您的系统上似乎安装了两个不同版本的 VirtualBox!
我建议您完全卸载所有版本的 VirtualBox:
sudo apt-get autoremove 'virtualbox*'
然后直接从 Oracle virtualbox 重新安装。转到 VB download page ,向下滚动到“基于 Debian 的 Linux 发行版”,然后按照说明或下载所有发行版的 VB 二进制包,然后像这样运行安装程序:
cd /path/to/downloaded/file
chmod +x VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
./VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
第五种答案
如果重新安装 Virtualbox 不起作用。您应该尝试安装或重新安装 Virtualbox 的 dkms
验证是否有错误:
dpkg -P virtualbox-dkms
如果您有错误可能应该尝试这样做:
sudo apt-get install virtualbox-dkms
第六种答案
一个简单的 apt upgrade virtualbox
为我工作