如何解决 VirtualBox 中“安装的支持驱动程序与用户的版本不匹配”问题,以便可以再次启动实例?

如何解决 VirtualBox 中“安装的支持驱动程序与用户的版本不匹配”问题,以便可以再次启动实例?

由于以下原因,在 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 上,我最终成功解决了这个问题。

  1. 使用控制面板卸载 VirtualBox”程序和功能“ 工具。暂时不要重启
  2. 手动检查以下文件夹,如果它们仍然存在,请将其删除:
    • 目录:
    • C:\Program 文件(x86)\Oracle\VirtualBox

注意:文件夹可能位于不同的位置,具体取决于您的安装位置Oracle VirtualBox(如果您更改了安装目录,请确保检查正确的文件夹)。

  1. %用户资料%目录(例如C:\users\me:)并删除以下文件夹(如果您想稍后尝试重新导入虚拟机,请不要忘记备份这些文件):

    • .VirtualBox
    • VirtualBox VMs
  2. 转到regeditWIN+R并输入regedit),然后单击Computer最顶部的。

    • 然后点击“编辑 > 搜索”或点击CTRL+F。输入virtualbox并勾选全部复选框。
    • 找到钥匙Oracle > VirtualBox。它应该在 中Computer\HKEY_CURRENT_USER\SOFTWARE\Oracle\VirtualBox。取出VirtualBox钥匙。
  3. 重要提示:立即重启。重启您的计算机!

  4. 安装 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

当已安装的扩展包版本与虚拟盒版本不匹配时,也会出现此错误。这种情况可能发生在虚拟盒更新后,或者当您将扩展包与便携式虚拟盒一起使用并移至另一台电脑时(这显然违背了便携式虚拟盒的用途)。要解决此问题,您必须安装或更新适合您当前虚拟盒版本的扩展包。之后您需要重新启动电脑(重新启动虚拟盒可能也足够了,但我没有测试过)。

相关内容