CentOS 8 升级内核以后,发现 vmware workstation pro 16 不能运行了,其体现为 vmmon.ko 重新编译失败,经过反复查看,发现在内核升级后,原来的一些系统定义发生了改变,造成编译 vmmon.ko 失败,解决办法如下:
step 1: 解开 vmmon.tar 文件,修改其中的源码
# cd /usr/lib/vmware/modules/source
# tar xvf vmmon.tar
# mv vmmon.tar vmmon.tar.bak
step 2: 修改 /usr/lib/vmware/modules/source/vmmon-only/linux/hostif.c 文件
/* 该文件的错误有两处,分别如下: */
第 1688 行:
将:
extern unsigned long totalram_pages
修改为:
extern unsigned long totalram_pages(void)
第 1719 行:
将:
lockedPages += global_node_page_state(NR_SLAB_UNRECLAIMABLE);
修改为:
lockedPages += global_node_page_state(NR_SLAB_UNRECLAIMABLE_B);
step 3: 将修改完成后的源码文件重新打包为 vmmon.tar
# cd /usr/lib/vmware/modules/source
# tar cvf vmmon.tar vmmon-only
step 4: 编译 vmware workstation pro 16 的所有驱动包
# vmware-modconfig --console --install-all
step 5:编译完成后,就可以启动 vmware 了。
阅读(1495) | 评论(0) | 转发(0) |