Ubuntu 16.04 LTS/系统上的 Virtualbox 当前未设置构建内核模块

Ubuntu 16.04 LTS/系统上的 Virtualbox 当前未设置构建内核模块

通过 apt-get 设置 virtualbox 后,我遇到了一个错误

~# sudo systemctl status vboxdrv
● vboxdrv.service - VirtualBox Linux kernel module
Loaded: loaded (/usr/lib/virtualbox/vboxdrv.sh; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mi 2017-01-18 14:23:55 UTC; 1min 17s ago
Process: 22299 ExecStart=/usr/lib/virtualbox/vboxdrv.sh start (code=exited, status=1/FAILURE)

Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]: vboxdrv.sh: Starting VirtualBox services.
Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]: vboxdrv.sh: Building VirtualBox kernel modules.
Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]: dpkg-query: Kein Pfad gefunden, der auf Muster /lib/modules/4.4.0-042stab113.11/kernel passt
Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]: This system is not currently set up to build kernel modules (system extensions).
Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]: Running the following commands should set the system up correctly:
Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]:   apt-get install -headers-4.4.0-042stab113.11
Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]: (The last command may fail if your system is not fully updated.)
Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]:   apt-get install -headers
Jan 18 14:23:55 HOSTNAME vboxdrv.sh[22299]: vboxdrv.sh: failed: Look at /var/log/vbox-install.log to find out what went wrong.`

它告诉我执行

~# apt-get install -headers-4.4.0-042stab113.11
E: Command line option 'e' [from -headers-4.4.0-042stab113.11] is not understood in combination with the other options.

~# apt-get install -headers
E: Command line option 'e' [from -headers] is not understood in combination with the other options.

日志文件:

~# cat /var/log/vbox-install.log
Makefile:185: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.  Stop.
[for each time i've tried]

/lib/modules/4.4.0-042stab113.11/ 中没有名为“kernel”的文件夹,而我实际上期望如此。

那么,我该如何解决这个错误?

This system is not currently set up to build kernel modules (system extensions)

有任何想法吗?


这是我目前所做的:

现在,这是我的输出。

~# sudo apt-get 安装 linux-headers-4.4.0-042stab113.11

Paketlisten 已发布... Fertig
平衡表将得到执行。
状态信息已输入.... Fertig
E:无法生成软件包 linux-headers-4.4.0-042stab113.11。
E:已安装 »linux-headers-4.4.0-042stab113.11« 的会员将不会收到任何包裹。
E:中级常规打印 »linux-headers-4.4.0-042stab113.11« 未生成任何包裹。

无法找到软件包 linux-headers-4.4.0-042stab113.1

~# sudo apt-get 安装 linux-headers

Paketlisten 已发布... Fertig
平衡表将得到执行。
状态信息已输入.... Fertig
Paket linux-headers 是一个虚拟的包,其内容来自:
  Linux-headers-4.4.0-1001-aws 4.4.0-1001.10
  linux-headers-4.8.0-34-低延迟 4.8.0-34.36~16.04.1
  linux-headers-4.8.0-34-通用 4.8.0-34.36~16.04.1
  linux-headers-4.8.0-32-低延迟 4.8.0-32.34~16.04.1
  linux-headers-4.8.0-32-通用 4.8.0-32.34~16.04.1
  linux-headers-4.8.0-30-低延迟 4.8.0-30.32~16.04.1
  linux-headers-4.8.0-30-通用 4.8.0-30.32~16.04.1
  linux-headers-4.8.0-28-低延迟 4.8.0-28.30~16.04.1
  linux-headers-4.8.0-28-通用 4.8.0-28.30~16.04.1
  Linux 标头-4.4.0-59-低延迟 4.4.0-59.80
  Linux 头文件 4.4.0-59-通用 4.4.0-59.80
  linux-headers-4.4.0-57-低延迟 4.4.0-57.78
  linux-headers-4.4.0-57-通用 4.4.0-57.78
  linux-headers-4.4.0-53-低延迟 4.4.0-53.74
  linux-headers-4.4.0-53-通用 4.4.0-53.74
  linux-headers-4.4.0-51-低延迟 4.4.0-51.72
  linux-headers-4.4.0-51-通用 4.4.0-51.72
  linux-headers-4.4.0-47-低延迟 4.4.0-47.68
  linux-headers-4.4.0-47-通用 4.4.0-47.68
  linux-headers-4.4.0-45-低延迟 4.4.0-45.66
  linux-headers-4.4.0-45-通用 4.4.0-45.66
  linux-headers-4.4.0-43-低延迟 4.4.0-43.63
  linux-headers-4.4.0-43-通用 4.4.0-43.63
  linux-headers-4.4.0-42-低延迟 4.4.0-42.62
  linux-headers-4.4.0-42-通用 4.4.0-42.62
  linux-headers-4.4.0-38-低延迟 4.4.0-38.57
  linux-headers-4.4.0-38-通用 4.4.0-38.57
  linux-headers-4.4.0-36-低延迟 4.4.0-36.55
  linux-headers-4.4.0-36-通用 4.4.0-36.55
  linux-headers-4.4.0-34-低延迟 4.4.0-34.53
  linux-headers-4.4.0-34-通用 4.4.0-34.53
  linux-headers-4.4.0-31-低延迟 4.4.0-31.50
  linux-headers-4.4.0-31-通用 4.4.0-31.50
  linux-headers-4.4.0-28-lowlatency 4.4.0-28.47
  linux-headers-4.4.0-28-通用 4.4.0-28.47
  linux-headers-4.4.0-24-低延迟 4.4.0-24.43
  linux-headers-4.4.0-24-通用 4.4.0-24.43
  linux-headers-4.4.0-22-低延迟 4.4.0-22.40
  linux-headers-4.4.0-22-通用 4.4.0-22.40
  linux-headers-4.4.0-21-低延迟 4.4.0-21.37
  linux-headers-4.4.0-21-通用 4.4.0-21.37
您必须说明选择安装方式。

E: 对于 »linux-headers« 包,没有安装请求。

它是由...提供的虚拟包,选择一个明确的包进行安装。

~# apt-get 安装 linux-headers-4.4.0-42-generic
Paketlisten 已发布... Fertig
平衡表将得到执行。
状态信息已输入.... Fertig
linux-headers-4.4.0-42-generic 已经是最新版本 (4.4.0-42.62)。
0 已更新、0 新安装、0 提交且 0 未更新。

已经更新。

~# sudo apt-get 升级

Paketlisten 已发布... Fertig
平衡表将得到执行。
状态信息已输入.... Fertig
已将 Paketaktualisierung (Upgrade) 设置为... Fertig
0 已更新、0 新安装、0 提交且 0 未更新。

这里要注意

~# sudo apt-get 安装 linux-headers-$(uname -r)
Paketlisten 已发布... Fertig
平衡表将得到执行。
状态信息已输入.... Fertig
E:无法生成软件包 linux-headers-4.4.0-042stab113.11。
E:已安装 »linux-headers-4.4.0-042stab113.11« 的会员将不会收到任何包裹。
E:中级常规打印 »linux-headers-4.4.0-042stab113.11« 未生成任何包裹。

无法找到软件包 linux-headers-4.4.0-042stab113.11。

答案1

从 virtualbox网站

对于基于 Debian 和 Ubuntu 的发行版,您必须安装正确版本的 linux-headers,通常是 linux-headers-generic 、 linux-headers-amd64 、 linux-headers-i686 或 linux-headers-i686-pae 中与内核版本名称最匹配的版本;如果存在 linux-kbuild 包。基本 Ubuntu 版本应该默认安装了正确的包。

apt-cache policy linux-generic*您可以通过执行并查找输出中包含 *** 的包来找到您已安装的包。对我来说,它是linux-generic-lts-xenial,所以我需要安装的头文件包是linux-headers-generic-lts-xenial

您可能还需要安装build-essential 包裹

答案2

在你的情况下

$ sudo apt-get install linux-headers-4.4.0-042stab113.11
$ sudo apt-get install linux-headers

如果最后一条命令失败,你可能需要执行

$ sudo apt-get update
$ sudo apt-get upgrade

一般来说

使用以下方式安装标头

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

相关内容