关于 VMware 在 Linux Kernel 4.13+ 上无法正常启动的问题

在 Ubuntu 18.04 上使用 VMware 时,遇到了一个很奇怪的问题,在正常安装好了以后,运行 VMware 却报错:

/usr/lib/vmware/bin/vmware-modconfig: Relink `/lib/x86_64-linux-gnu/libbsd.so.0′ with `/lib/x86_64-linux-gnu/librt.so.1′ for IFUNC symbol `clock_gettime’

经查询以后,发现是大概是 VMware 自己代码写太差造成的问题,这个问题在 12.5+ 的版本都存在,需要对内核模块进行 patch 以后才能正常工作。

经过 patch 的内核模块在这里:https://github.com/mkubecek/vmware-host-modules

在这个 repo 中,不同的 branch 对应了不同版本的 VMware 的内核模块代码,切换到自己需要的版本以后,这样应用:

git clone https://github.com/mkubecek/vmware-host-modules.git
git checkout <branch>
make
make install
modprobe -r vmmon
insmod /lib/modules/$(uname -r)/misc/vmmon.ko
insmod /lib/modules/$(uname -r)/misc/vmnet.ko 
rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1  # see https://communities.vmware.com/thread/572259
vmware-networks --start  # see https://forum.chakralinux.org/viewtopic.php?id=8579

之后正常运行 VMware 就可以了。

参考资料:

https://askubuntu.com/questions/966585/ubuntu-17-10-upgrade-broke-vmware-workstation-12-5
https://github.com/mkubecek/vmware-host-modules

发表评论

电子邮件地址不会被公开。 必填项已用*标注