问题描述
在需要安装来宾插件之前,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发行版”,然后按照说明进行操作。
然后再试一次。
顺便说一句,您不需要将grep
与dpkg
一起使用。这是命令的更好替代方法:
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中,然后注销并重新登录。