VirtualBox故障build立客户添加模块

在使用Mac OS X 10.8(Mountain Lion)运行VirtualBox / Vagrant时,无法安装GuestAdditions。 我以前没有用过VB和Vagrant,也没有用过Linux,所以寻找一些指导。

错误! 内核2.6.32-38-server的内核头文件无法在/lib/modules/2.6.32-38-server/build或/lib/modules/2.6.32-38-server/sourcefind。

错误可以在shell输出的底部find(见下)

vagrant@lucid64:~$ sudo apt-get install dkms -y Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: fakeroot make patch Suggested packages: make-doc diffutils-doc The following NEW packages will be installed: dkms fakeroot make patch 0 upgraded, 4 newly installed, 0 to remove and 23 not upgraded. Need to get 458kB of archives. After this operation, 2,359kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu/ lucid/main make 3.81-7ubuntu1 [166kB] Get:2 http://us.archive.ubuntu.com/ubuntu/ lucid/main patch 2.6-2ubuntu1 [121kB] Get:3 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main dkms 2.1.1.2-2ubuntu1 [70.8kB] Get:4 http://us.archive.ubuntu.com/ubuntu/ lucid/main fakeroot 1.14.4-1ubuntu1 [101kB] Fetched 458kB in 1s (337kB/s) Selecting previously deselected package make. (Reading database ... 44864 files and directories currently installed.) Unpacking make (from .../make_3.81-7ubuntu1_amd64.deb) ... Selecting previously deselected package patch. Unpacking patch (from .../patch_2.6-2ubuntu1_amd64.deb) ... Selecting previously deselected package dkms. Unpacking dkms (from .../dkms_2.1.1.2-2ubuntu1_all.deb) ... Selecting previously deselected package fakeroot. Unpacking fakeroot (from .../fakeroot_1.14.4-1ubuntu1_amd64.deb) ... Processing triggers for man-db ... Setting up make (3.81-7ubuntu1) ... Setting up patch (2.6-2ubuntu1) ... Setting up dkms (2.1.1.2-2ubuntu1) ... Setting up fakeroot (1.14.4-1ubuntu1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode. vagrant@lucid64:~$ sudo vbox/VBoxLinuxAdditions.run Verifying archive integrity... All good. Uncompressing VirtualBox 4.1.18 Guest Additions for Linux......... VirtualBox Guest Additions installer Removing installed version 4.1.16 of VirtualBox Guest Additions... tar: Record size = 16 blocks Removing existing VirtualBox DKMS kernel modules ...done. Removing existing VirtualBox non-DKMS kernel modules ...done. Building the VirtualBox Guest Additions kernel modules The headers for the current running kernel were not found. If the following module compilation fails then this could be the reason. Building the main Guest Additions module ...fail! (Look at /var/log/vboxadd-install.log to find out what went wrong) Doing non-kernel setup of the Guest Additions ...done. Installing the Window System drivers ...fail! (Could not find the X.Org or XFree86 Window System.) 

看一下/var/log/vboxadd-install.log:

 vagrant@lucid64:~$ cat /var/log/vboxadd-install.log Uninstalling modules from DKMS Attempting to install using DKMS Creating symlink /var/lib/dkms/vboxguest/4.1.18/source -> /usr/src/vboxguest-4.1.18 DKMS: add Completed. Error! Your kernel headers for kernel 2.6.32-38-server cannot be found at /lib/modules/2.6.32-38-server/build or /lib/modules/2.6.32-38-server/source. You can use the --kernelsourcedir option to tell DKMS where it's located, or you could install the linux-headers-2.6.32-38-server package. Failed to install using DKMS, attempting to install without /tmp/vbox.0/Makefile.include.header:97: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again. Stop. Creating user for the Guest Additions. Creating udev rule for the Guest Additions kernel module. 

错误! 内核2.6.32-38-server的内核头文件无法在/lib/modules/2.6.32-38-server/build或/lib/modules/2.6.32-38-server/sourcefind。

您可以使用--kernelsourcedir选项来告诉DKMS所在的位置, 或者您可以安装linux-headers-2.6.32-38-server软件包。

无法使用DKMS进行安装,尝试在不安装/tmp/vbox.0/Makefile.include.header:97的情况下进行安装:***错误:无法find当前Linux内核的源代码。 指定KERN_DIR =并再次运行Make。 停止。

 # sudo apt-get install linux-headers-2.6.32-38-server 

然后再试一次。