由于缺少内核模块而无法安装VirtualBox


16

我正在尝试在Ubuntu上安装VirtualBox。

我首先尝试sudo apt-get install virtualbox-ose在终端中尝试,但是在配置步骤之后,它失败并显示错误

找不到适合运行内核的合适模块继续启动时virtualbox,出现以下错误:警告:字符设备/ dev / vboxdrv不存在。请安装virtualbox-ose-dkms软件包和适当的头文件,最有可能是linux-headers-generic。

在解决此问题之前,您将无法启动VM。

因此,我从http://www.virtualbox.org/尝试了该软件包,但是启动VirtualBox失败并显示:

警告:vboxdrv内核模块未加载。当前内核没有可用的模块(2.6.38-8-generic-pae),或者模块加载失败。请重新编译内核模块并通过安装

  sudo /etc/init.d/vboxdrv setup

在解决此问题之前,您将无法启动VM。

所以我跑了sudo /etc/init.d/vboxdrv setup,但是也失败了:

* Stopping VirtualBox kernel modules                                                           [ OK ] 
* Uninstalling old VirtualBox DKMS kernel modules                                                            [ OK ] 
* Trying to register the VirtualBox kernel modules using DKMS                                                       
Error! Your kernel headers for kernel 2.6.38-8-generic-pae cannot be found at
/lib/modules/2.6.38-8-generic-pae/build or /lib/modules/2.6.38-8-generic-pae/source.

* Failed, trying without DKMS
* Recompiling VirtualBox kernel modules                                                                             
* Look at /var/log/vbox-install.log to find out what went wrong

的内容/var/log/vbox-install.log

由于我坚持,我也尝试安装kernel-develyum,还是无果而终:

root@ubuntu# yum install kernel-devel
Setting up Install Process
No package kernel-devel available.
Nothing to do

现在我不知道如何解决这个问题。有任何想法吗?


1
yum?您在使用ubuntu吗?谁说你需要kernel-devel
enzotib 2011年

Pffft,从存储库中安装Virtualbox。
nickguletskii 2011年

我仍然停留在百胜:(
binW 2011年

您可以/var/log/kern.logpaste.ubuntu.com上发布内容并在此处发布链接吗?
Lekensteyn 2011年

1
@ Lekensteyn这是/var/log/kern.log
SoftTimur,2011年

Answers:


18

通过使用suyum软件包管理器以root身份执行所有操作,这适合基于Redhat的发行版,但不适用于Ubuntu。在Ubuntu中,您可以通过在命令前面加上前缀来以根用户身份运行命令sudo。Ubuntu使用的软件包管理器是apt。

要安装VirtualBox,请运行:

sudo apt-get install virtualbox-ose

这将处理软件包中包含的依赖项,如内核头文件linux-headers-generic。如果您有PAE内核,则需要先安装标头(在您的情况下linux-headers-2.6.38-8-generic-pae),可通过以下步骤完成:

sudo apt-get install linux-headers-$(uname -r)

uname -r 给出加载的内核版本,并避免您手动输入内核版本。


感谢您的回复,实际上我一开始尝试了这种方法,但是遇到了一些问题,请您看看吗?askubuntu.com/questions/49052/…– SoftTimur
2011年

1
virtualbox-4.0不在默认存储库中。您是否安装了第三方PPA?删除该PPA或软件包并安装virtualbox-ose
Lekensteyn 2011年

@SoftTimur您不应发布重复的问题,如果它们与同一问题有关,则可能会被标记为此类。
托马斯·沃德

伙计们,谢谢您的答复,我已经编辑了链接的2个问题……希望有解决的办法……
SoftTimur 2011年

1
@SoftTimur:别忘了在(sudo apt-get purge virtualbox-4.0 virtualbox-ose)之前清除virtualbox
Lekensteyn 2011年

2

我有同样的问题。我已经linux-headers-<version>-generic-pae安装了,但具有讽刺意味的是没有安装linux-headers-generic-pae。如果您安装了那些应该会有所帮助的东西。

祝好运!


1

安装build-essentials

apt-get install build-essentials 

并安装linux-kernel-headers

apt-get install linux-kernel-headers 

要么

apt-get install linux-kernel-*

安装dkms

apt-get install dkms

对不起,我错了缩进.. apt-get install build-essential linux-
kernel-

目前是没有这样的包build-essentials,它的build-essentiallinux-kernel-*包不存在,它的命名linux-headers-...-generic,其中...的内核版本。
Lekensteyn
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.