如何安装virtualbox-dkms软件包?


26

尝试安装VirtualBox内核模块时出现以下错误:

------------------------------
Deleting module version: 4.1.18
completely from the DKMS tree.
------------------------------
Done.
Loading new virtualbox-4.1.18 DKMS files...
Building only for 3.5.0-17-generic
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.

我已经尝试安装linux-source软件包,但是不确定Ubuntu如何处理内核源代码和标头。

从Ubuntu的角度来看,有关如何执行此操作的任何想法?

Answers:


17

我的Virtual Box告诉我未安装内核驱动程序。我跑了

sudo apt-get remove virtualbox-dkms   

删除驱动程序,然后重新安装它们

sudo apt-get install virtualbox-dkms 

重建了驱动程序,我能够毫无问题地运行virtualbox


4
或使用--reinstall选项:sudo apt install --reinstall virtualbox-dkms
visoft

11

其它的办法:

apt-get install linux-headers-`uname -r`
dpkg-reconfigure virtualbox-dkms

正常方式:

/etc/init.d/vboxdrv setup

1
想知道为什么在“正常”方法之前提到“另一种方法”。但是,dpkg-reconfigure似乎是正确的选择。
Melebius

1
要添加到这一点,我发现下面的顺序工作时,我unpgraded到16.04:sudo apt-get install linux-headers-`uname -r` 那么 sudo dpkg-reconfigure virtualbox-dkms,最后sudo dpkg-reconfigure virtualbox
戴夫

这将使您(再次)在每次内核更新时处于OP状态。
EarthmeLon

5

您还需要内核头文件。根据您的输出,sudo apt-get install kernel-headers-3.5.0-17-generic应该可以做到。在来宾VM上,可以自动运行ISO映像,也可以从shell提示符下执行sudo sh ./VBoxLinuxAdditions.run。似乎这是最新的12.10版本中的一个已知问题。


2

没为我工作。通过运行来解决:

gksudo synaptic

搜索“ dkms”,然后(重新)为VirtualBox安装一个,然后按“应用”按钮。输出应显示virtualbox内核驱动程序已启动并正在运行。


2

这是由内核头文件不可用引起的。这些标头通常不是必需的,但可以帮助其他应用程序使用它们来构建内核模块,以与您的发行版和所使用的版本保持同步。

您可以安装特定的标头,也可以安装“通用”或“当前”:

sudo apt install linux-headers-generic

这样可以确保当您使用新内核时,也将安装这些内核的标头。当您更新内核时,VirtualBox将能够使用最新的匹配标头进行自身更新。有时,可以通过其他名称(例如linux-headers-amd64在其他发行版中)找到这些名称。

获得标题后,可以清除/重新安装VirtualBox,或让VirtualBox重建模块并完成设置:

sudo dpkg-reconfigure virtualbox-dkms  
sudo modprobe vboxdrv
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.