VirtualBox不能为虚拟电脑打开一个新任务——The VirtualBox kernel modules do not match this version of VirtualBox

一、问题产生的环境

物理机操作系统:Ubuntu 17.10
(Ubuntu版本查看命令:cat /etc/issue )

二、问题产生的背景

我目前使用的主力操作系统是Ubuntu,原来安装的VirtualBox是在Ubuntu的软件中心里下载的,但是无法安装VirtualBox 5.2.8 Oracle VM VirtualBox Extension Pack 这个扩展,所以也无法在虚拟机中使用U盘。为了解决这个问题,我在这里下载了Ubuntu 17.04 (“Zesty”) / 17.10 (“Artful”) 的AMD64位版本并进行了安装(安装之前只是关闭了本机正在运行的VirtualBox并没有卸载原来的VirtualBox),安装完成后又下载安装了VirtualBox 5.2.8 Oracle VM VirtualBox Extension Pack 这个扩展并进行了安装。至此上述下载和安装步骤并没有报错,但是我在启动虚拟系统时却出现了报错(具体报错内容见下文)。

三、报错内容

VirtualBox - Error In supR3HardenedMainInitRuntime

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.

不能为虚拟电脑 CentOS2_DHCP1 打开一个新任务.

The virtual machine 'CentOS2_DHCP1' has terminated unexpectedly during startup with exit code 1 (0x1).

返回 代码: NS_ERROR_FAILURE (0x80004005)
组件: MachineWrap
界面: IMachine {85cd948e-a71f-4289-281e-0ca7ad48cd89}

四、报错分析

根据上述报错信息我们知道,有可能是安装新的VirtualBox之前没有卸载原来的VirtualBox导致了VirtualBox内核版本的不匹配。此时,最简单直接的解决办法就是将本机上现有的VirtualBox以及相关扩展和依赖关系都清除,然后重新安装。(我之前在Windows上使用VirtualBox时也遇到过“VirtualBox不能为虚拟电脑打开一个新任务”的报错,但是当时的报错是因为我打开了虚拟机的USB控制器,却没有安装相应的扩展。关于当时的报错内容和解决办法可以点击这里

五、解决步骤

1 关闭VirtualBox.

2 卸载VirtualBox:

sudo apt-get autoremove virtualbox-5.2

注:上述操作将自动卸载VirtualBox及其相关依赖。

3 更新系统:

sudo apt-get update

sudo apt-get upgrade

4 安装VirtualBox
通过下载的.deb安装包重新安装VirtualBox

5 安装USB控制器扩展
关于USB控制器扩展VirtualBox 5.2.8 Oracle VM VirtualBox Extension Pack的作用和安装方法,可以查看我的这篇文章Click Here.

之后再次启动虚拟系统,没有出现报错,问题解决。