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


VirtualBox – RTR3InitEx 失败,rc=-1912 (rc=-1912)

,

问题描述

我已经在 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. enter image description here

  • 是什么导致了这个问题?

  • 如何解决这个问题?

当我在终端中运行 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.listsources.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 为我工作

参考资料

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