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

Sof*_*mur 16 virtualbox 11.04 pae kernel-modules

我正在尝试在我的 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
Run Code Online (Sandbox Code Playgroud)

在解决此问题之前,您将无法启动 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
Run Code Online (Sandbox Code Playgroud)

的内容/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
Run Code Online (Sandbox Code Playgroud)

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

Lek*_*eyn 19

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

要安装 VirtualBox,请运行:

sudo apt-get install virtualbox-ose
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get install linux-headers-$(uname -r)
Run Code Online (Sandbox Code Playgroud)

uname -r 提供加载的内核版本并避免您手动输入内核版本。