错误:找不到内核头文件。 (但他们到位了)

我正在尝试在VirtualBox 4.04中安装Guest Additions。 主机操作系统是Ubuntu桌面11.04 64位,客户操作系统是Ubuntu服务器11.10 64位。

$ sudo ./VBoxLinuxAdditions.run 

输出一些后,打印出这一行:

 The headers for the current running kernel were not found. 

但是头文件安装,至少相应于dpkg

 $ dpkg --get-selections | grep linux-headers linux-headers-3.0.0-12 install linux-headers-3.0.0-12-server install linux-headers-server install 

正在运行的内核是:

 $ uname -a Linux foobar 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 X86_64 GNU/Linux 

如何解决问题,以便Guest Additions安装程序能够找到内核头文件?

更新:添加完整输出。

 The headers for the current running kernel were not found. If the module compilation fails then this could be the reason. Building the main Guest Additions module ...done. Building the shared folder support module ...fail! (Look at /var/log/vboxadd-install.log to find out what went wrong) Installing the Window System drivers ...fails! (Could not find the X.Org or XFree86 Window System). 

我不关心失败#2,因为那是一台服务器,我不需要X服务器。 但我需要共享文件夹支持。

一些进一步细节:

 $ tail /val/log/vboxadd-install.log .......... cc1: some warnings being treated as errors make[2]: *** [/tmp/vbox.0/vfsmod.o] Error 1 make[1]: *** [_module_/tmp/vbox.0] Error 2 make: *** [vboxsf] Error 2 

要使VirtualBox ubuntu服务器guest虚拟机正确接受guest-adds安装,您需要安装最小的xorg软件包:

 sudo apt-get install xserver-xorg xserver-xorg-core 

通过这样做,您将获得共享文件夹支持。

正如您所发现的,guest添加的是一个非常大的脚本 – “VBoxLinuxAdditions.run”

你可以解开这个文件 – 我不推荐它,因为随着更新版本的virtualbox的发布,访客添加的版本通常也会受到影响。

另外,我建议(如果你还没有),安装dkms 。 更新较新的ubuntu内核时,将自动编译guest-addeds内核模块。 如果没有dkms您将在进行内核更新时丢失共享文件夹支持。

资源

该消息具有误导性。

在我的情况下,它实际上是在安装添加运行之前缺少dkms

 sudo apt-get install build-essential linux-headers-`uname -r` dkms 

(即使这个问题有一个公认的答案,我正在添加这个答案,以防它帮助其他人……)

虽然我有相同的症状,但我尝试了对这个问题的每一个建议,但没有任何效果。 我终于发现这个post暗示VirtualBox版本不是Linux内核版本的最新版本。

因此,如果没有任何方法可以帮助您,请尝试安装最新版本: http : //download.virtualbox.org/virtualbox/ (在撰写本文时,对于基于Debian的系统,这是4.2.6 )。

我通过安装dkms并升级我的VirtualBox版本来修复此错误。 原来版本的VirtualBox guest虚拟机添加通常不适用于最新的内核。

关于你需要X来使用客人添加的答案只是荒谬。 它在安装X之后工作的原因是它将libglib作为依赖项拉出来,但安装整个X服务器只是为了让添加运行起来真的是不必要的。

您需要的所有包裹如下:

  • 建立必要的
  • Linux的头,`uname-r`
  • libglib2.0-0

显然,它只是build-essential和libglib的一部分,而不是确切地调查哪些包是必需的,让它们更容易让它们依赖它们。

旁注是这些与vmware机器上的vmware等效“VMware Tools”所需的软件包完全相同。

使用以下命令安装建议的软件包后:

sudo apt-get install build-essential linux-headers-`uname -r` dkms

我按照dwurf的建议升级了我的VirtualBox版本。 那为我修好了。

对我有用的唯一解决方案是删除Virtual Box并从VirtualBox网站安装最新版本(版本:4.3.10(repo)与4.3.22(网站))。

我已经尝试了以上所有解决方案,我很确定我已经安装了正确的标题,但仍然没有运气!

 root@test:~# dpkg --get-selections | grep linux-headers linux-headers-4.0.0-kali1-amd64 install linux-headers-4.0.0-kali1-common install linux-headers-amd64 install 

我还安装了最新版本的Virtual Box,从今天开始5.0.4但在尝试安装Guest Additions时仍然出现错误

 The headers for the current running kernel were not found. 

方案:

最终解决了我的问题是从/ root目录运行VBoxLinuxAdditions.run而不是像/ home / !!!这样的其他目录

我原来是从/home/目录运行VBoxLinuxAdditions.run并且一直有这个大坝错误但是从根目录下面使用命令之后,它很好,问题解决了!

 cp /media/cd-rom/VBoxLinuxAdditions.run /root/ chmod 755 /root/VBoxLinuxAdditions.run cd /root ./VBoxLinuxAdditions.run 

在此之后你可以简单地使用reboot ,然后你应该正确完成Guest Additional和FULL Screen! 好极了 !!!

通常我通过virtualbox直接安装guest-addeds(mount cdrom,sh ./VBoxLinuxGuestAddtions.run)。 但是,大多数Linux发行版都为您提供了一个可以通过包管理器安装的软件包。 对我来说,以下命令解决了问题:

 sudo apt-get install virtualbox-guest-dkms 

我认为这个错误是由于使用旧版本的Virtual Box 或至少旧版本的Guest Additions ISO映像造成的。

我通过下载VBox Guest Additions的新ISO并运行VBoxLinuxAdditions.run脚本取得了成功我去了Virtual Box 下载站点并获得了新的ISO。

由于原因(过于沉闷)我无法在(Windows)主机上更新我的VirtualBox版本,但我可以将新的ISO文件复制到文件系统上的本地位置。

然后,在VM窗口的“设备”菜单中,我选择了一个新的虚拟CD / DVD并选择了下载新ISO映像的位置。

然后在Debian VM中我去了\media\cdrom并以root身份运行了新的VBoxLinuxAdditions.run脚本。 (我已经安装了dkms,当前的内核头文件等)然后脚本停止错误地抱怨丢失的头文件(它们没有丢失)并构建了所需的内核对象。

这样做的全部原因是X.org会给我额外的显示分辨率,我可以在比保守设置的默认值更高的分辨率下运行VM。

在尝试使用各种风格的K / Ubuntu 13.04客户编译VirtualBox Guest Additions v4.1.12时,我得到了与OP相同的错误。

 Building the shared folder support module ...fail! 

这是由于针对Linux源的各个部分(在GUEST中)的VirtualBox Guest Additions的错误(或未满足的期望)。 不幸的是,Oracle选择将VirtualBox Host版本与VirtualBox Guest Additions版本非常接近地链接,因此如果Guest Additions中存在错误,那么您必须同时升级Host。

我在Ubuntu 12.04 LTS主机上安装了以下虚拟机版本:

 virtualbox 4.1.12-dfsg-2ubuntu0.3 virtualbox-dkms 4.1.12-dfsg-2ubuntu0.3 virtualbox-qt 4.1.12-dfsg-2ubuntu0.3 

根据以下说明: http : //www.ubuntuupdates.org/ppa/virtualbox?dist =precise

我升级到4.2.10-dfsg-0ubuntu2~ubuntu12.04.1~ppa1使用:

 sudo add-apt-repository ppa:debfx/virtualbox sudo apt-get update sudo apt-get install virtualbox virtualbox-dkms virtualbox-qt cd ~/.VirtualBox http://download.virtualbox.org/virtualbox/4.2.10/VBoxGuestAdditions_4.2.10.iso 

现在,K / Ubuntu 13.04客户可以构建和安装他们的VirtualBox Guest Additions:

 sudo apt-get update sudo apt-get upgrade sudo apt-get install make gcc build-essential linux-headers-`uname -r` dkms cd /media/VBOXADDITIONS_4.2.10_81404 sudo ./VBoxLinuxAdditions.run sudo shutdown -r 0 

我想你错过了什么。 尝试安装

  • Linux的头,3.14 kali1常见
  • Linux的头,3.14 kali1,AMD64
  • Linux的源极 – 3.14
  • libdw1
  • libunwind7

对我来说是kali linux 3.14

最好的祝福。

我遇到了这个问题,并通过运行以下命令修复它:

 sudo apt-get remove dkms build-essential linux-headers-* sudo apt-get install dkms build-essential linux-headers-$(uname -r) 

更多信息

  1. sudo apt-get install --assume-yes build-essential dkms linux-headers-generic linux-headers-$(uname -r)
  2. sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h

  1. sudo reboot

+奖励: 共享文件夹“秘密”;)

  1. sudo gpasswd -a vboxsf
  2. sudo reboot
  3. 完成。
  4. ???
  5. 利润;)