Ubuntu 安裝 VMware Workstation Pro
安装
-
下载依赖:
# Ubuntu 22.04 及以前 sudo apt install libaio1 # Ubuntu 24.04 及以后 sudo apt install libaio1t64 sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1 -
打开博通产品页面 BroadCom VMware Workstation Pro,下载
VMware Workstation Pro for Personal Use (For Linux) x.x.x。 -
在下载目录下,运行如下命令:
sudo ./VMware-Workstation-*.bundle
卸载
sudo vmware-installer --uninstall-product vmware-workstation
参考:
Troubleshooting
安装时 Python 报错
UnicodeEncodeError: 'ascii' codec can't encode character '\u2018' in position 1059: ordinal not in range(128)
解决方法:
-
下载补丁包(第三方):
wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-{version}.tar.gz{version}变量根据你的 VMware Workstation Pro 版本来确定。在 Branches 处查看所有可用补丁包。 -
安装补丁包:
tar -xzf workstation-*.tar.gz cd vmware-host-modules-workstation-* tar -cf vmmon.tar vmmon-only tar -cf vmnet.tar vmnet-only sudo cp vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/ # 安装补丁包 sudo vmware-modconfig --console --install-all # 重新编译 VMware 模块 -
检查安装补丁包时的输出。如果看到:
Starting VMware services: Virtual machine monitor failed Virtual machine communication interface done VM communication interface socket family done Virtual ethernet failed VMware Authentication Daemon done Unable to start services注意到
Virtual machine monitor和Virtual ethernet的启动状态是failed,这有可能是启用了 BIOS 的安全启动(Secure Boot)功能导致的。在安全启动模式中,只有经过签名的模块才能被加载到内核中。我们可以通过创建机主密钥(Machine Owner Key,MOK),并使用机主密钥对模块签名的方式来允许指定模块加载到内核中。关于Secure Boot和MOK的详细介绍可以查看这篇回答:What exactly is MOK in Linux for? | Stack Exchange-
生成密钥对:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/" -
将公钥导入 BIOS MOK 列表:
sudo mokutil --import MOK.der设置一个简单的密码。
-
重启并在 BIOS 中注册密钥:
sudo systemctl reboot在 BIOS 界面选择
Enroll MOK以注册 MOK。 -
编译 VMware 模块:
sudo vmware-modconfig --console --install-all -
用密钥对模块签名:
sudo kmodsign sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon) sudo kmodsign sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet) -
加载模块:
sudo depmod -a # 处理和更新内核模块的依赖关系 sudo modprobe vmmon # 加载内核模块 vmmon sudo modprobe vmnet # 加载内核模块 vmnet sudo systemctl restart vmware # 重启 VMware 服务 -
检查模块是否已加载:
sudo lsmod | egrep '(vmmon|vmnet)' # 此时应该能够看到 vmmon 和 vmnet
-
参考:

浙公网安备 33010602011771号