之前写过一篇关于kali 2016.1 下打不开VMware的解决方案,本篇文章可能会建立在以上一篇文章的基础下进行更改,传送门如下。
http://blog.csdn.net/byb123/article/details/52094840
先按照上一篇文章的方式对需要编译的部分修改,然后再参照本文解决。
先按照上一篇文章的方式对需要编译的部分修改,然后再参照本文解决。
先按照上一篇文章的方式对需要编译的部分修改,然后再参照本文解决。
今天滚动更新了系统,结果Chrome和VMware都打不开了,Chrome的话还是和以前的方式一样,更改启动方式,除去沙盘启动,制定启动目录,就能启动了,但是VMware的启动方式和以前又不一样。
因为VMware在启动过程中是靠内核头文件来编译的,所以这里的内核头文件内容变更了之后,对VMware的编译会受影响。
看他的编译过程,可以发现其中一个错误是这样的
/usr/lib/vmware/modules/source/test/vmmon-only/linux/hostif.c:1592:47: error: ‘NR_ANON_PAGES’ undeclared (first use in this function)
unsigned int anonPages = global_page_state(NR_ANON_PAGES);
少了一个宏NR_ANON_PAGES,而且我们不知道这个global_page_state( )函数里需要的参数是什么类型的,查找一下,最后找到在
/usr/src/linux-headers-4.6.0-kali1-common-rt/include/linux/mmzone.h
这个文件的128行。
那我们缺什么,就补什么。
cd /usr/lib/vmware/modules/source
tar xf vmmon.tar
cd vmmon-only/linux/
vim hostif.c
***********
在文件首部的地方添加
enum zone_stat_item_repair{
NR_ANON_PAGES,
};
**********
:wq
cd ../..
tar cvf vmmon.tar vmmon-only
然后,第二个错误
/usr/lib/vmware/modules/source/vmnet-only/netif.c:468:7: error:
‘struct net_device’ has no member named ‘trans_start’
dev->trans_start = jiffies;
^
这个文件的修改方法,是直接把netif.c 文件的468行的dev->trans_start = jiffies;
注释掉之后,就能正常编译了,最后把两个文件夹都打包回去,具体操作方法看本文章开头的那篇文章。
再说一下,关于第二个错误,可能在注释掉之后会产生问题,不过我现在还没发现,之后如果使用过程中没有什么问题,我也就不修改了,如果有问题或者有新的更完美的解决方案我会再更新到博客中。
如果有问题没搞明白的,或者有更好的解决办法,欢迎大家留言交流。