VMware Workstation 16 启动虚拟机失败(vmmon 版本问题)
问题简述
在 Manjora Linux 下,之前更新过系统,这次启动虚拟机居然就是失败了。
报错信息如下:
Version mismatch with vmmon module: expecting 401.0, got 398.0.
You have an incorrect version of the 'vmmon' kernel module.
Try reinstalling VMware Workstation.
解决办法
在网上检索一下相关文章,找到了解决的办法,在这里记录一下。
大概过程如下:
- 1、下载对应版本的
vmware-host-modules
源代码。 - 2、编译出对应的内核模块文件,拷贝到系统内核模块目录去。
- 3、先卸载旧模块,再加载新编译好的模块。
具体操作过程如下:
# 查看 vmware 具体版本号
$ vmware -v
VMware Workstation 16.1.0 build-17198959
# 下载对应版本的仓库
$ git clone -b workstation-16.1.0 https://github.com/mkubecek/vmware-host-modules.git
正克隆到 'vmware-host-modules'...
remote: Enumerating objects: 117, done.
remote: Counting objects: 100% (117/117), done.
remote: Compressing objects: 100% (95/95), done.
remote: Total 2704 (delta 84), reused 51 (delta 22), pack-reused 2587
接收对象中: 100% (2704/2704), 1.15 MiB | 776.00 KiB/s, 完成.
处理 delta 中: 100% (2149/2149), 完成.
# 编译
$ make
# 拷贝编译好的模块到系统目录
sudo mkdir -p /lib/modules/`uname -r`/misc
sudo cp vmmon-only/vmmon.ko /lib/modules/`uname -r`/misc/vmmon.ko
# sudo cp vmnet-only/vmnet.ko /lib/modules/`uname -r`/misc/vmnet.ko
# 先卸载模块,再加载模块
sudo modprobe -r vmmon
sudo modprobe -a vmmon
# 如果无法加载,就先执行下 sudo depmod 命令
执行完成上面操作之后,再启动虚拟机就是可以的了。
参考: