VMware17.5.2启动踩坑

最近听说VMware17.5.2个人版可以免费使用了,故在Linux下安装用用,顺便记录一下踩的坑。

我是想在Linux上想用Uniapp,用wine的体验不是很好,故打算用虚拟机跑Windows。安装好VMware17.5.2后,配置好windows镜像后,点击启动,却报了这样的错:

Could not open /dev/vmmon: ???. Please make sure that the kernel module `vmmon’ is loaded.

搜了一下发现是原因为VMware无法访问其必要的内核模块vmmon

我首先是尝试了手动启用VMware模块,然后执行命令安装缺失的模块

1
2
3
sudo /etc/init.d/vmware start

sudo vmware-modconfig --console --install-all

但是还是无效,在查看别人的博客后,我手动去编译安装缺失的vmmonvmnet模块:

1
2
3
4
5
6
git clone https://github.com/mkubecek/vmware-host-modules
cd vmware-host-modules
git checkout workstation-17.5.1

sudo make
sudo make install

执行完成后,这两个模块将会安装到/lib/modules/6.1.0-18-amd64/misc

1
2
3
4
5
kerolt  /usr/lib/modules/6.1.0-18-amd64/misc     
$ ls -l
总计 7164
-rw-r--r-- 1 root root 3996784  5月27日 18:48 vmmon.ko
-rw-r--r-- 1 root root 3337384  5月27日 18:48 vmnet.ko

本以为到现在已经结束,结果再次启动VMware,还是不信,于是我想着可能是内核模块没有加载,采用如下命令查看:

1
lsmod | grep vmmon

不出意外,没有输出,手动加载模块:

1
2
sudo modprobe vmmon
# modprobe: ERROR: could not insert 'vmmon': Key was rejected by service

根据该错误询问ChatGPT,其给出的答复为:启用了安全启动(Secure Boot),导致系统拒绝加载未签名或未正确签名的内核模块

重启计算机,进入 BIOS/UEFI 设置,将Secure Boot 设置为 Disabled,之后再次启动VMware时就没有问题了~