问题描述
我试图使用我的虚拟盒,这是我收到的错误 – (我刚刚更新到新的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.
最佳解决方法
最有可能你要做的就是跑步
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:
-
根据https://www.virtualbox.org/wiki/Linux_Downloads的体系结构和分发版本安装最新版本的virtualbox
-
运行
sudo apt-get install build-essential linux-headers-`uname -r`
-
运行
sudo /etc/init.d/vboxdrv setup
最后两个步骤引用了同一主题中的错误之一 – https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1016165
第四种方法
在12.10,这些解决方案都失败了。但是以下工作:
-
运行命令:
sudo gedit /etc/apt/sources.list.d/vbox.list
并粘贴在这一行,然后保存:
deb http://download.virtualbox.org/virtualbox/debian quantal contrib
-
跑:
sudo apt-get update && sudo apt-get -y upgrade
将您的机器更新到最新版本
-
跑:
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)一个:
-
sudo apt-get purge virtualbox virtualbox-4* virtualbox-5*
-
重启
-
sudo apt-get install virtualbox-5.0
第七种方法
可能发生这种情况的另一个原因是,当您尝试更新或重新安装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
。
保存并重启
您还可以使用以下可选模块:vboxnetadp
,vboxnetflt
和vboxpci
来自Vbox的维基:
当您打算使用“Host-only网络”功能时,需要vboxnetadp
和vboxnetflt
。更确切地说,需要vboxnetadp来在VirtualBox全局首选项中创建主机接口,并且需要vboxnetflt才能使用该网络接口启动虚拟机。
当您的虚拟机需要通过主机上的PCI设备时,需要vboxpci。
注意:如果在更新模块时在内核中加载了VirtualBox内核模块,则需要手动重新加载它们以使用新的更新版本。为此,请以root用户身份运行vboxreload。