当前位置: 首页>>技术问答>>正文


未安装Virtualbox内核驱动程序

, ,

问题描述

我试图使用我的虚拟盒,这是我收到的错误 – (我刚刚更新到新的Ubuntu),我在这个Linux操作系统上非常新。

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

‘/etc/init.d/vboxdrv setup’

as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

kernel,virtualbox,ubuntu

最佳解决方法

最有可能你要做的就是跑步

sudo apt-get install dkms

(或从软件中心安装dkms)

然后跑

sudo /etc/init.d/vboxdrv setup

并写下你的密码。

如果您对此命令有任何错误,请使用此命令

sudo modprobe vboxdrv

次佳解决方法

首先是Re-install virtualbox-dkms包装

sudo apt-get autoremove virtualbox-dkms
sudo apt-get install build-essential linux-headers-`uname -r` dkms virtualbox-dkms

之后您可以手动启用它

sudo modprobe vboxdrv
sudo modprobe vboxnetflt

第三种解决方法

这是解决方案,适用于12.10:

  1. 根据https://www.virtualbox.org/wiki/Linux_Downloads的体系结构和分发版本安装最新版本的virtualbox

  2. 运行sudo apt-get install build-essential linux-headers-`uname -r`

  3. 运行sudo /etc/init.d/vboxdrv setup

最后两个步骤引用了同一主题中的错误之一 – https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1016165

第四种方法

在12.10,这些解决方案都失败了。但是以下工作:

  1. 运行命令:

    sudo gedit /etc/apt/sources.list.d/vbox.list
    

    并粘贴在这一行,然后保存:

    deb http://download.virtualbox.org/virtualbox/debian quantal contrib
    
  2. 跑:

    sudo apt-get update && sudo apt-get -y upgrade
    

    将您的机器更新到最新版本

  3. 跑:

    sudo apt-get remove virtualbox
    

    然后安装Oracle的版本:

    sudo apt-get install virtualbox-4.3
    

应该现在工作。不要忘记从http://www.virtualbox.org下载扩展包。

第五种方法

在Ubuntu 14.04,64位中,对我有用的是

sudo dpkg-reconfigure virtualbox-dkms

第六种方法

我的/etc/apt/sources.list中有deb http://download.virtualbox.org/virtualbox/debian precise contrib,可以使用Virtualbox 5.x.

面对同样的错误,我在这里尝试了所有的方法,没有一个工作但是这个(bandwith-wasting)一个:

  1. sudo apt-get purge virtualbox virtualbox-4* virtualbox-5*

  2. 重启

  3. sudo apt-get install virtualbox-5.0

  4. https://www.virtualbox.org/wiki/Downloads安装最新的扩展包

第七种方法

可能发生这种情况的另一个原因是,当您尝试更新或重新安装VirtualBox时,您将旧的GCC版本(如我在Ubuntu 16.04上安装了GCC 4.8)设置为默认版本(例如,使用update-alternatives)。

回到VirtualBox安装发行版附带的默认GCC版本,它会正常工作。

然后,您可以在安装VirtualBox后切换回较旧的GCC版本。

第八种方法

我有同样的问题,并通过以下两个步骤解决:

sudo apt-get install linux-headers-`uname -r`

然后

/etc/init.d/vboxdrv setup

第九种方法

sudo apt-get install linux-headers-generic build-essential dkms
sudo apt-get remove --purge virtualbox-dkms
sudo apt-get install virtualbox-dkms

只需对ubuntu用户使用三个命令。

第十种方法

花了我很长时间才解决这个问题。有两个发行版(Ubuntu和Arch)的vBox有这个问题。

我有dkms和所有模块已经安装并编译到我的内核中,但当我尝试运行vBox虚拟机时,我仍然收到模块相关的错误消息。

如果您的vBox GUI顺利启动但在尝试运行虚拟机时出现错误,告知安装VBoxDrv内核模块,那么您的问题与将模块安装到内核无关,而是在模块安装脚本的modprobe中激活它们没有做到。

要手动加载模块(例如在您的情况下为vboxdrv),请打开终端提示并输入:

sudo modprobe vboxdrv

如果您之后运行的虚拟机没有给出错误消息,则可以通过转到/etc/modules-load.d/并生成.conf文件(例如vbox.conf)来永久激活vboxdrv模块。在.conf文件中,您要添加的vbox内核模块的名称,例如:vboxdrv

保存并重启

您还可以使用以下可选模块:vboxnetadpvboxnetfltvboxpci

来自Vbox的维基:

当您打算使用“Host-only网络”功能时,需要vboxnetadpvboxnetflt。更确切地说,需要vboxnetadp来在VirtualBox全局首选项中创建主机接口,并且需要vboxnetflt才能使用该网络接口启动虚拟机。

当您的虚拟机需要通过主机上的PCI设备时,需要vboxpci。

注意:如果在更新模块时在内核中加载了VirtualBox内核模块,则需要手动重新加载它们以使用新的更新版本。为此,请以root用户身份运行vboxreload。

参考资料

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