VBox在14.04上:内核驱动程序未安装(rc=-1908)

内核驱动程序未安装(rc=-1908) VirtualBox Linux内核驱动程序(vboxdrv)未加载或/dev/vboxdrv存在权限问题。请以root身份执行'/etc/init.d/vboxdrv setup'重新安装内核模块。如果您的发行版中有此选项,请先安装DKMS软件包。该软件包可跟踪Linux内核的更改,并在必要时重新编译vboxdrv内核模块。
对于使用Virtual Box的每个人来说,这是一个熟悉的消息。自11.10以来,这个“错误”至少每隔几个月就会出现一次。我今天第一次在14.04上遇到了这个问题,不幸的是,重新安装virtualbox-dkms的classical solution没有任何效果。
sudo apt-get install linux-headers-generic build-essential dkms
sudo apt-get remove virtualbox-dkms
sudo apt-get install virtualbox-dkms

这个旧的修复方法失败的原因可能是什么?
更新:在评论中,用户bain提到了一个旧的帖子,据称报告了相同的问题。虽然错误消息相似,但在Ubuntu 14.04上,这个问题似乎具有不同的性质,与virtualbox-dkms软件包无关。例如,在Ubuntu 14.04上,virtualbox软件包是最新的。
$ sudo apt-cache policy virtualbox
virtualbox:
  Installed: 4.3.10-dfsg-1
  Candidate: 4.3.10-dfsg-1
  Version table:
 *** 4.3.10-dfsg-1 0
        500 http://de.archive.ubuntu.com/ubuntu/ trusty/multiverse amd64 Packages
        100 /var/lib/dpkg/status

尝试使用链接问题中的答案。确保所有更新都已安装(apt-get update && apt-get dist-upgrade),然后卸载VirtualBox(apt-get purge virtualbox*)并重新安装。 - bain
2嗨,bain。你链接的问题已经超过3年了,涉及到旧版Ubuntu,这个问题有不同的解决方案。 - Luís de Sousa
你试过直接运行错误信息中建议的命令吗?如果是的,发生了什么情况? - fkraiem
嗨fkraiem,结果一直是“文件未找到”。从11.10开始就是这样的。 - Luís de Sousa
2请重新打开这个问题。目前对于Ubuntu 14.04没有可行的解决方案。谢谢。 - Luís de Sousa
1@LuísdeSousa 我不明白为什么要重新打开这个问题。如果这是一个需要解决的错误,请将其报告为错误,并保持关闭状态,因为有成千上万个未解决的问题对我们没有好处 - 假设修复方案出现后,或许我们可以再次打开它。 - Thomas Ward
2那是你的逻辑很棒,Thomas。如果问题仍然关闭,别人怎么能发布新的修复呢? - Luís de Sousa
1个回答

14.04的修复确实有所不同,但并不完全不同。
sudo apt-get install linux-headers-generic build-essential dkms
sudo apt-get remove --purge virtualbox-dkms
sudo apt-get install virtualbox-dkms

安装 virtualbox-dkms 命令实际上未能应用 13.10 修复。通过完全清除该软件包,问题得到解决。

更新 [17-01-2015]: 在此 bug 的最新版本中,在第二个 apt-get install 命令之前需要重新启动系统。

更新 [07-02-2016]: 据报道,此修复方法在 Ubuntu 15.10 上可行。

更新 [29-09-2016]: 此修复方法在 Ubuntu 16.04 上也可行。also functional on Ubuntu 16.04


这些命令是在虚拟机上运行还是在主机上运行? - Dave
6问题出在主机上。这是VirtualBox本身的问题。 - Luís de Sousa
对我来说不起作用。在安装virtualbox-dkms时出现错误: ERROR (dkms apport):内核包linux-headers-4.0.9-040009-generic不受支持... - hako
@hako 你是怎么在14.04上安装了4.x内核的? - Rob Audenaerde
原来我的 Linux 版本 4.09 无法与 VirtualBox 兼容,所以我根据某处的阅读资料换成了 v4.16。果然如此。 - hako
我从http://kernel.ubuntu.com/~kernel-ppa/mainline/v4...下载了v4内核deb文件(共3个文件),然后使用sudo dpkg -i linux-headers-4.1.6*.deb linux-image-4.1.6*.deb命令进行安装。 - hako
我遇到了一个错误: 仅为3.19.0-33-generic构建 由于当前运行的内核没有安装此内核的内核源代码,因此跳过了对当前运行的内核的模块构建。
  • 停止VirtualBox内核模块 [ OK ]
  • 启动VirtualBox内核模块 * 未找到适用于当前运行的内核的合适模块 [失败] invoke-rc.d:initscript virtualbox,操作“restart”失败。
- mauek unak
我在Ubuntu 15.10上遇到了同样的问题,尝试了这个修复方法,它有效! - Nasik Shafeek
对我来说,在16.04版本上没有起作用。 - hugo der hungrige
1过度杀伤力,在您安装了DKMS的情况下,您可能正在运行VirtualBox,并且只需要重新构建内核模块。请参阅顶部提到的建议的重复问题。 - Constantin
6对我来说,真正的问题是boot-efi,这是ubuntu/kubuntu-14.04安装的默认设置。在卸载virtualbox-dkms并重新安装后,我收到了一个关于boot-efi以"secure"模式运行的弹窗,表示不允许加载这些驱动程序......所以,系统在MOK中重新启动,并且我在MOK中禁用了efi-boot的安全模式。现在一切都好了。 - Eric
这对我行得通,但需要在sudo apt-get remove之后重新启动(我没有尝试其他任何东西)。 - sancho.s ReinstateMonicaCellio
在16.04版本上对我有效,但只有按照更新部分所描述的那样进行系统重启才行。 - akavel
在14.04上对我有效。 - Amol Suryawanshi
如果在BIOS中禁用了UEFI的安全启动,它可以在16.04上运行。 - de-facto
在17.04版本上工作,并进行了系统重启。 - X09
无法在Linux Mint 18.2 Cinnamon上运行。 - flyingdrifter
不必完全重新安装 virtualbox-dkms,您可以只需重新配置它:sudo dpkg-reconfigure virtualbox-dkms。https://askubuntu.com/a/465455/250300 - Melebius
有没有一个永久性的解决方案,这样我就不需要在每次内核更新时重新修复了? - Aaron Franke
@Aaron Franke 我在2011年在Ubuntu论坛上开了一个关于这个问题的帖子。那个帖子和这个问题一起已经吸引了近50万次浏览。显然,没有人对彻底解决这个问题感兴趣。无论如何,随着像Docker这样的新兴技术的出现,VBox的重要性正在减弱。 - Luís de Sousa
@flyingdrifter 这个解决方案不适用于Mint系统,只适用于Ubuntu发行版。 - Luís de Sousa