VirtualBox报错“kernel driver not installed(rc=-1908)”

软件环境:
  Ubuntu16.04
  VirtualBox5.1.34

安装VirtualBox在打开虚拟机时出现如下错误提示:
vboxdrv_error
先按照提示用root权限执行modprobe vboxdrv重新加载模块,却又提示无法找到vboxdrv模块,
于是尝试重新安装软件包virtualbox-dkms:

$ sudo apt install --reinstall virtualbox-dkms
...
Error! Bad return status for module build on kernel: 4.13.0-38-generic (x86_64)
Consult /var/lib/dkms/virtualbox/5.1.34/build/make.log for more information.
...

软件包安装失败,打开make.log,查看更详细的错误信息:

DKMS make.log for virtualbox-5.1.34 for kernel 4.13.0-38-generic (x86_64)
Fri Apr  6 12:53:19 CST 2018
make: Entering directory '/usr/src/linux-headers-4.13.0-38-generic'
  AR      /var/lib/dkms/virtualbox/5.1.34/build/built-in.o
  AR      /var/lib/dkms/virtualbox/5.1.34/build/vboxdrv/built-in.o
  CC [M]  /var/lib/dkms/virtualbox/5.1.34/build/vboxdrv/linux/SUPDrv-linux.o
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/var/lib/dkms/virtualbox/5.1.34/build/vboxdrv/linux/SUPDrv-linux.o' failed
make[2]: *** [/var/lib/dkms/virtualbox/5.1.34/build/vboxdrv/linux/SUPDrv-linux.o] Error 1
scripts/Makefile.build:581: recipe for target '/var/lib/dkms/virtualbox/5.1.34/build/vboxdrv' failed
make[1]: *** [/var/lib/dkms/virtualbox/5.1.34/build/vboxdrv] Error 2
Makefile:1550: recipe for target '_module_/var/lib/dkms/virtualbox/5.1.34/build' failed
make: *** [_module_/var/lib/dkms/virtualbox/5.1.34/build] Error 2
make: Leaving directory '/usr/src/linux-headers-4.13.0-38-generic'

原来是编译工具gcc出现了问题,联想到之前为了编译Android5.1代码,降级安装了gcc-4.8,而Ubuntu16.04自带的版本为gcc-5,很有可能这就是原因所在,于是尝试恢复gcc-5版本:

  • 配置gcc/g++两个版本(4.8、5)的优先级,因为平时编译需求,4.8版本的优先级更高:
$ sudo update-alternatives --install gcc /usr/bin/gcc /usr/bin/gcc-5 90
$ sudo update-alternatives --install g++ /usr/bin/gcc /usr/bin/g++-5 90
$ sudo update-alternatives --install gcc /usr/bin/gcc /usr/bin/gcc-4.8 100
$ sudo update-alternatives --install g++ /usr/bin/gcc /usr/bin/g++-4.8 100
  • 手动选择gcc/g++版本为5.0:
$ sudo update-alternatives --config gcc
$ sudo update-alternatives --config g++

再次执行:

$ sudo apt install --reinstall virtualbox-dkms
$ sudo modprobe vboxdrv

然后打开VirtualBox加载虚拟机,顺利解决!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 虚拟机软件VirtualBox报错rc=-104通常是由于虚拟机的配置文件损坏或丢失所致。解决方法是删除虚拟机的配置文件,然后重新创建虚拟机。具体操作步骤如下: 1. 关闭VirtualBox软件。 2. 找到虚拟机的配置文件,一般在用户目录下的VirtualBox文件夹中,例如C:\Users\用户名\VirtualBox。 3. 找到对应虚拟机的文件夹,文件夹名字为虚拟机的名称。 4. 删除该文件夹中的所有文件,包括.vbox、.vbox-prev、.vdi等。 5. 重新打开VirtualBox软件,创建一个新的虚拟机,按照向导进行配置即可。 如果以上方法无法解决问题,可以尝试卸载并重新安装VirtualBox软件。 ### 回答2: VirtualBox是一款非常流行的虚拟化软件,它可以在不同的操作系统中运行虚拟机。但是,在使用VirtualBox的过程中,有时候会遇到各种各样的错误。其中,在启动虚拟机时,可能出现rc=-104错误的情况,这是因为VirtualBox没有正确访问硬件设备。 rc=-104错误可能有多种原因,下面是一些可能的解决方法: 1. 检查虚拟机设置。要检查VirtualBox的虚拟机设置,确保所有的配置都是正确的。首先,检查是否正确设置了虚拟机的网络和存储控制器等。然后,确保CPU和内存等设置都是正确的。 2. 禁用Hyper-V。如果在Windows 10中运行VirtualBox时遇到rc=-104错误,则需要禁用Hyper-V。在Windows中,可以通过控制面板 > 程序和功能 > 启用或关闭Windows功能来禁用Hyper-V。 3. 更新VirtualBox版本。如果您的VirtualBox版本过低,则可能会导致rc=-104错误。如果是这种情况,请尝试更新VirtualBox的最新版本,并重新启动虚拟机。 4. 重新安装VirtualBox。如果以上方法均无效,可以尝试重新安装VirtualBox。卸载现有版本,并安装最新版本。 总之,rc=-104错误可能源于多种原因。通过检查虚拟机设置、禁用Hyper-V、更新VirtualBox版本或重新安装VirtualBox,您可能可以解决这个问题。如果您的问题无法解决,请考虑寻求有关VirtualBox技术支持的帮助。 ### 回答3: VirtualBox的错误码rc=-104是指该虚拟机的硬盘空间不足,我们可以通过清理磁盘空间、移除不需要的应用或文件等方式来解决该问题。 下面是具体的解决步骤: 1. 确认硬盘空间:打开VirtualBox,找到该虚拟机的设置选项,点击“存储”,查看该虚拟机的硬盘空间占用情况。 2. 清理虚拟机垃圾:在虚拟机内部,可以采用清理系统自带的磁盘清理工具,如Windows系统的磁盘清理工具,来清理无用的文件和数据,从而腾出更多的硬盘空间。 3. 移除不必要的虚拟机:如果有其他不需要的虚拟机,可以将其移除或者导出至外部硬盘进行备份,从而释放虚拟机的硬盘空间。 4. 虚拟机硬盘扩容:如果以上方法无法解决问题,可以考虑对虚拟机的硬盘进行扩容。具体方法可以查阅VirtualBox的官方文档,或通过搜索引擎查询相关的操作方法。 5. 检查主机硬盘空间:如果以上方法也不能解决问题,需要检查主机硬盘空间是否足够,并将其进行清理。如果主机硬盘空间也不足,需要考虑更换硬盘或者添加外部硬盘。 综上所述,rc=-104的问题主要是由于虚拟机硬盘空间不足所引起的。我们可以通过清理磁盘空间、移除不需要的应用或文件等方式来解决该问题,或者对虚拟机硬盘进行扩容,以确保更多的硬盘空间可用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值