我已经升级到 Ubuntu 17.10(从 17.04 开始)。一切似乎都正常,但是 VMware Workstation 12 无法启动。没有生成任何消息。请帮忙。
答案1
您需要升级到 VMWare Workstation 14。除非您修补它,否则 Workstation 12 将无法在 Ubuntu 17.10 中使用内核 (4.13)。修补程序可在此处获取:https://github.com/mkubecek/vmware-host-modules/commit/b50848c985f1
在终端中运行以下命令来修补(有两种方法可以执行此操作):
修补程序 1:
获得root用户访问权限:
sudo su
tar xvf vmmon.tar
tar xvf vmnet.tar
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
vim vmnet-only/bridge.c
cd vmmon-only/
make
cd ../vmnet-only/
make
cd ..
mkdir /lib/modules/4.13.0-16-generic/misc
cp *.o /lib/modules/4.13.0-16-generic/misc
insmod /lib/modules/4.13.0-16-generic/misc/vmmon.o
insmod /lib/modules/4.13.0-16-generic/misc/vmnet.o
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
vmware-networks --start
exit
以普通用户身份运行 VMWare:
/usr/lib/vmware/bin/vmware
或者
修补程序 2:
进入你的主目录,或者你可以临时存储文件的地方:
cd ~ [YOUR DIRECTORY]
将 vmmon 源 tar 包复制到您的临时位置:
cp /usr/lib/vmware/modules/source/vmmon.tar
提取 tar 包:
tar xf vmmon.tar
下载修改后的文件并覆盖 tar ball 中的内容:
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
将新修改的文件打包成 tar 包并替换原始文件:
sudo tar cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only
重建 VMware 内核模块:
sudo vmware-modconfig --console --install-all
重新启动系统:
sudo reboot
需要修补的来源:
https://communities.vmware.com/thread/571370?start=0&tstart=0
和
Ubuntu 17.10 升级导致 VMWare Workstation 12.5 崩溃
甚至更好,我建议升级到 Workstation 14,这将删除 Workstation 12。
在终端中运行以下命令来安装 VMware Workstation Player 14:
mkdir ~/vmware
cd ~/vmware
wget -c https://download3.vmware.com/software/player/file/VMware-Player-14.1.1-7528167.x86_64.bundle
或者
点击此处下载:
https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/14_0
授予包权限:
sudo chmod u+x VMware-Player-14.1.1-7528167.x86_64.bundle
最后,安装:
sudo ./VMware-Player-14.1.1-7528167.x86_64.bundle
安装程序启动后,请按照屏幕上的说明完成安装。
选择“我接受许可协议中的条款”,然后单击“下一步”。启动时更新;选择“是”(如果需要)。
反馈;选择是或否。
许可证密钥是可选的(可以留空)。
在下一个屏幕上单击“安装”。
完成后关闭。
卸载
sudo vmware-installer -u vmware-player
希望这可以帮助。
答案2
使用 Charly 的脚本superuser.com/questions/1328401/vmware-workstation-vmmon-broken-on-ubuntu-18-04/,我能够在 16.04LTS 上为内核 4.15.0-29-generic 构建所需的模块。脚本末尾有一个拼写错误,sudo ln -s /lib/x86_64-linux-gnu/libz.so.1
和之间不应该有换行符/usr/lib/vmware/lib/libz.so.1/libz.so.1
我建议的另一个补充是将sudo /etc/init.d/vmware restart
命令添加到上述脚本的末尾。
因此经过调整的实际解决方案脚本是:
#!/bin/bash
VMWARE_VERSION=workstation-12.5.9
TMP_FOLDER=/tmp/patch-vmware
rm -fdr $TMP_FOLDER
mkdir -p $TMP_FOLDER
cd $TMP_FOLDER
git clone https://github.com/mkubecek/vmware-host-modules.git
cd $TMP_FOLDER/vmware-host-modules
git checkout $VMWARE_VERSION
git fetch
make
sudo make install
sudo rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo /etc/init.d/vmware restart
请注意,这只适用于Workstation 12.5.9
,您可以通过运行轻松判断您拥有哪个版本vmware --version
,并且您可以更新脚本以使其适用于其他版本......但我还没有测试过。
答案3
此修复的另一个附加组件Ubuntu 20.04 LTS和Ubuntu 22.04 LTS:
您必须在 shell 中或桌面图标中使用文件的完整路径调用 vmplayer,如下所示:
ubuntu@ubuntu:~$ /usr/lib/vmware/bin/vmplayer
如果你没有在这些更高版本的Ubuntu中,显然会选择一些不同版本的共享库,并且应用程序崩溃而是出现了分段错误!这包括修复桌面图标信息文件。
仅供参考 - 您也可以选择将 vmplayer 本身安装在其他位置/usr/lib
。例如,要安装在以下位置,只需在运行安装程序包时/opt
添加参数即可。--set-setting vmware-installer libdir /opt