![如何解决 VirtualBox 中“安装的支持驱动程序与用户的版本不匹配”问题,以便可以再次启动实例?](https://linux22.com/image/1465719/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%20VirtualBox%20%E4%B8%AD%E2%80%9C%E5%AE%89%E8%A3%85%E7%9A%84%E6%94%AF%E6%8C%81%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%B8%8E%E7%94%A8%E6%88%B7%E7%9A%84%E7%89%88%E6%9C%AC%E4%B8%8D%E5%8C%B9%E9%85%8D%E2%80%9D%E9%97%AE%E9%A2%98%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%8F%AF%E4%BB%A5%E5%86%8D%E6%AC%A1%E5%90%AF%E5%8A%A8%E5%AE%9E%E4%BE%8B%EF%BC%9F.png)
由于以下原因,在 VirtualBox 中启动实例失败:
RTR3InitEx failed with rc=-1912 (rc=-1912)
where: supR3HardenedMainInitRuntime
what: 4
VERR_VM_DRIVER_VERSION_MISMATCH (-1912) - The installed support driver doesn't match the version of the user.
启动实例成功5.0.2.102096
但失败5.0.4.102546
尝试解决问题
根据此问答和此问答可以通过重新安装解决此问题5.0.4.102546
目前的结果
重新安装后问题仍然存在
问题
如何解决这个问题?
答案1
要删除 virtualbox,请运行:
sudo apt autoremove --purge virtualbox*
现在,通过以下方式确保您的系统上没有安装其他版本:
dpkg -l virtualbox* | grep ^i
您不应该得到任何输出。
sources.list
然后从你的和目录中删除所有相关的 PPA sources.list.d
。例如:
mkdir ~/apt-tmp
sudo mv /etc/apt/sources.list.d/* ~/apt-tmp
确保除了官方存储库源之外没有其他内容
/etc/sources.list.
并更新您的来源:
sudo apt update
现在我们可以搜索一下有哪些版本可以安装:
apt-cache madison virtualbox | grep -iv sources
产生如下输出:
virtualbox | 5.1.38-dfsg-0ubuntu1.16.04.1 | http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages
virtualbox | 5.0.18-dfsg-2build1 | http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages
然后安装上面提到的最新版本:
sudo apt install virtualbox=5.1.38-dfsg-0ubuntu1.16.04.1
另外sudo apt install virtualbox
,也可以,但我会使用前面的命令来确保我想要的版本能够被安装。
最后,检查是否安装了正确的版本。
从命令行:
dpkg -l virtualbox* | grep ^i
输出结果为:
ii virtualbox 5.1.38-dfsg-0ubuntu1.16.04.1 amd64 x86
virtualization solution - base binaries
ii virtualbox-dkms 5.1.38-dfsg-0ubuntu1.16.04.1 all x86
virtualization solution - kernel module sources for dkms
ii virtualbox-qt 5.1.38-dfsg-0ubuntu1.16.04.1 amd64 x86
virtualization solution - Qt based user interface
然后你也可以运行:
sudo apt upgrade
万一。
答案2
在 Windows 上,我最终成功解决了这个问题。
- 使用控制面板卸载 VirtualBox”程序和功能“ 工具。暂时不要重启
- 手动检查以下文件夹,如果它们仍然存在,请将其删除:
- 目录:
- C:\Program 文件(x86)\Oracle\VirtualBox
注意:文件夹可能位于不同的位置,具体取决于您的安装位置Oracle VirtualBox(如果您更改了安装目录,请确保检查正确的文件夹)。
去%用户资料%目录(例如
C:\users\me
:)并删除以下文件夹(如果您想稍后尝试重新导入虚拟机,请不要忘记备份这些文件):.VirtualBox
VirtualBox VMs
转到
regedit
(WIN+R
并输入regedit
),然后单击Computer
最顶部的。- 然后点击“编辑 > 搜索”或点击
CTRL+F
。输入virtualbox
并勾选全部复选框。 - 找到钥匙
Oracle > VirtualBox
。它应该在 中Computer\HKEY_CURRENT_USER\SOFTWARE\Oracle\VirtualBox
。取出VirtualBox
钥匙。
- 然后点击“编辑 > 搜索”或点击
重要提示:立即重启。重启您的计算机!
安装 VirtualBox 并享受吧!
答案3
问题中没有提到 Linux,但我的问题与 VirtualBox 5.2 中的问题一模一样,问题发生在 Ubuntu 16.04 中。同样,使用正确的文件卸载重新安装也会导致相同的错误消息。该问题类似于 Windows 问题,但就我而言,dkms 持有一些与最新 Virtual Box 版本冲突的旧模块。
对于我来说解决方案(根据您的版本进行更改):
sudo apt-get purge virtualbox-5.2
sudo dpkg -P virtualbox-5.2
sudo apt-get autoremove
我包含了 apt-get purge,以防您在解决其他问题时从 apt-get 安装。
在 autoremove 命令中,您应该看到 dkms 更新删除了几个较旧的 virtualbox 版本模块。啊哈,参考了我们问题的根源,virtualbox 错误中模块版本错误...:
vboxpci.ko:
- Uninstallation
- Deleting from: /lib/modules/4.4.0-112-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod....
DKMS: uninstall completed.
------------------------------
Deleting module version: 5.0.40
completely from the DKMS tree.
------------------------------
重新启动以确保安全
sudo reboot now
然后,下载并安装匹配版本的 virtualbox 和扩展(更新为您当前的版本): https://www.virtualbox.org/wiki/Linux_Downloads
sudo dpkg -i ~/Downloads/virtualbox-5.2_5.2.6-120293~Ubuntu~xenial_amd64.deb
sudo VBoxManage extpack install ~/Downloads/Oracle_VM_VirtualBox_Extension_Pack-5.2.6-120293.vbox-extpack
如果第一次安装出现 libsdll 错误,请尝试:
sudo apt-get -f install
希望您有一个可以正常运行的 VirtualBox,或者能够处理新的错误(VT-X 崩溃等...)。
(请不要因为是僵尸线程而大发雷霆,我是通过搜索来到这里,并且有同样的症状。认为其他人将来也可能会用到这些信息。)
答案4
当已安装的扩展包版本与虚拟盒版本不匹配时,也会出现此错误。这种情况可能发生在虚拟盒更新后,或者当您将扩展包与便携式虚拟盒一起使用并移至另一台电脑时(这显然违背了便携式虚拟盒的用途)。要解决此问题,您必须安装或更新适合您当前虚拟盒版本的扩展包。之后您需要重新启动电脑(重新启动虚拟盒可能也足够了,但我没有测试过)。