当前位置: 首页>>技术教程>>正文


VirtualBox内核模块与VirtualBox的版本不匹配

, , , ,

问题描述

在需要安装来宾插件之前,Ubuntu 12.04上的VirtualBox 4.2.12运行良好。安装后:

 Failed to open a session for the VM Win 7 exit code 1;

 RTR3Init failed with rc=-1912(rc=1912)

运行dpkg --list | grep virtualbox之后:

ii  virtualbox                             4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - base binaries
rc  virtualbox-4.2                         4.2.6-82870~Ubuntu~precise              Oracle VM VirtualBox
ii  virtualbox-dkms                        4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-guest-additions             4.1.12-1                                transitional package for virtualbox-guest-additions-iso
ii  virtualbox-guest-additions-iso         4.1.12-1                                guest additions iso image for VirtualBox
ii  virtualbox-qt                          4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - Qt based user interface

任何帮助表示赞赏…

谢谢…

最佳方案

您似乎安装了两个单独的VirtualBox版本!

我建议您完全卸载VirtualBox的所有版本:

sudo apt-get autoremove 'virtualbox*'

然后直接从Oracle重新安装。转到VB download page,向下滚动到“基于Debian的Linux发行版”,然后按照说明进行操作。

然后再试一次。

顺便说一句,您不需要将grepdpkg一起使用。这是命令的更好替代方法:

dpkg --list 'virtualbox*'

次佳方案

侵入性较小的解决方案可能是:

sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox

Source详细信息。

第三种方案

从ubuntu repo版本切换到ppa版本后,出现了这个问题。问题的根本原因与错误消息中所述的完全相同:内核模块版本不匹配。我已经用

modinfo vboxdrv

从5.0版开始。 (从PPA,我有vbox 5.1)。

我已经卸载了virtualbox-dkms,因为安装它还会安装来自ubuntu repo的常规vbox版本。但是内核模块仍然是由DKMS(/lib /modules /(kernelversion)-generic /updates /dkms /)处理的模块之一,所以我在猜测,这就是脚本不起作用的原因:

我试过了

sudo /sbin/vboxconfig

似乎照常执行了所有操作,停止了内核模块,重新编译,重新加载了(据说)新的内核模块。除了检查模块版本还是5.0。

然后我尝试

sudo /sbin/rcvboxdrv setup

结果相同:没有版本更改。

然后我决定删除模块,因为我不喜欢它们在dkms文件夹中的事实。为此,您需要使用以下命令卸载内核模块

sudo rmmod vboxnetadp vboxnetflt vboxpci vboxdrv

然后从/lib /modules /(kernelversion)-generic /updates /dkms中删除模块文件。然后跑

sudo /sbin/rcvboxdrv setup

再次确认新模块为v5.1,并且不再在dkms下,我的VM正在运行。

现在,我想起来了,也许模块已经在/lib/modules/4.4.0-59-generic/misc/中正确地重新编译了,但是在加载dkms模块时可能具有优先权。不幸的是,我没有更多时间对此进行调查。

ps .:如果您从回购版本到ppa进行了相同的转换,请确保将自己添加到(新创建的)组vboxusers中,然后注销并重新登录。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8563.html,未经允许,请勿转载。