我正在安装新的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.
答案 0 :(得分:0)
在搜索引擎中输入“没有成员名为'f_dentry'”表示这是内核3.19的known issue,引入了对struct file
的重大更改,这使得(较旧的)VirtualBox 4.3.20代码无法编译。
关于Linux kernel maintainers' policy on such breaking changes,我坚定地咬紧牙关,我担心你只需要弄清楚降级内核或升级VirtualBox是否是解决问题的“正确”。