无法在Kali 2.0上安装Guest Additions

时间:2015-11-10 13:06:33

标签: linux virtualbox kernel-module

我正在安装新的Kali(2.0),我无法成功安装guest虚拟机添加。

我向你解释我所做的所有步骤:

首先,我确保拥有正确的存储库(我认为这些是正确的存储库):

deb http://http.kali.org/kali sana main non-free contrib
deb http://security.kali.org/kali-security sana/updates main contrib non-free
deb-src http://http.kali.org/kali sana main non-free contrib
deb-src http://security.kali.org/kali-security sana/updates main contrib non-free

我已更新并升级。

然后我安装了linux-headers(可能错误就在这里,但我不这么认为)

apt-get install linux-headers-$(uname -r)
apt-get install dkms linux-source linux-headers-$(uname -r)

然后我挂了CD,给它755权限并执行它。这就是我得到的:

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)
Doing non-kernel setup of the Guest Additions ...done.
Installing the Window System drivers
Warning: unknown version of the X Window System installed.  Not installing
X Window System drivers.
 ...done.
Installing graphics libraries and desktop services components ...done.

我安装了以下内容:

apt-get install virtualbox-guest-x11
apt-get install open-vm-tools

但我仍然得到相同的结果。

有关详细信息,请参阅我的内核:

root@kali:~# uname -r
4.0.0-kali1-686-pae

似乎我安装了模块,但它不起作用:

root@kali:~# lsmod | grep vbox
vboxguest             180224  5

我的虚拟机版本是4.3.20 任何的想法?非常感谢你。

/var/log/vboxadd-install.log

In file included from /tmp/vbox.0/dirops.c:19:0:
/tmp/vbox.0/dirops.c: In function ‘sf_getdent’:
/tmp/vbox.0/dirops.c:129:29: error: ‘struct file’ has no member named ‘f_dentry’
     sf_g = GET_GLOB_INFO(dir->f_dentry->d_inode->i_sb);
                             ^
/tmp/vbox.0/vfsmod.h:144:60: note: in definition of macro ‘GET_GLOB_INFO’
 # define GET_GLOB_INFO(sb)       ((struct sf_glob_info *) (sb)->s_fs_info)
                                                            ^
/tmp/vbox.0/dirops.c:135:16: error: ‘struct file’ has no member named ‘f_dentry’
     inode = dir->f_dentry->d_inode;
                ^
/usr/src/linux-headers-4.0.0-kali1-common/scripts/Makefile.build:263: recipe for target '/tmp/vbox.0/dirops.o' failed
make[4]: *** [/tmp/vbox.0/dirops.o] Error 1
/usr/src/linux-headers-4.0.0-kali1-common/Makefile:1407: recipe for target '_module_/tmp/vbox.0' failed
make[3]: *** [_module_/tmp/vbox.0] Error 2
Makefile:145: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
/tmp/vbox.0/Makefile.include.footer:79: recipe for target 'vboxsf' failed
make: *** [vboxsf] Error 2
Creating user for the Guest Additions.
Creating udev rule for the Guest Additions kernel module.

1 个答案:

答案 0 :(得分:0)

在搜索引擎中输入“没有成员名为'f_dentry'”表示这是内核3.19的known issue,引入了对struct file的重大更改,这使得(较旧的)VirtualBox 4.3.20代码无法编译。

关于Linux kernel maintainers' policy on such breaking changes,我坚定地咬紧牙关,我担心你只需要弄清楚降级内核或升级VirtualBox是否是解决问题的“正确”。