安全启动时在Linux下使用VMware

由于莫名其妙的原因,在ubunut下使用VMware workstation需要手动编译vmnetvmmon,而对于自己编译安装的内核组件来说,在bios启用安全启动选项的情况下是没法正常使用的,所以这时候我们就需要手工给内核签名了

首次使用

复制以下内容即可,请使用root用户

mkdir /root/vmware
cd /root/vmware
git clone https://github.com/mkubecek/vmware-host-modules
cd vmware-host-modules
git checkout workstation-16.2.3
sudo make ; sudo make install
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"
/usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
/usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
mokutil --import MOK.der

重启一次,并根据向导接受签名

后续使用

每次更新系统内核后都需要重新签名,使用以下命令即可

#!/bin/bash

rm -rf /root/vmware/vmware-host-modules
cd /root/vmware
git clone https://github.com/mkubecek/vmware-host-modules
cd vmware-host-modules
git checkout workstation-16.2.3
sudo make ; sudo make install

cd /root/vmware
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
mokutil --import MOK.der

其实Linux下使用KVM跑虚拟机会比使用VMware的体验好太多,在没有特别要求使用VMware的情况下强烈建议使用KVM。


安全启动时在Linux下使用VMware
https://blog.xianyu.one/2022/08/31/Linux/tutorial/vmware-on-ubuntu/
作者
咸鱼
发布于
2022年8月31日
许可协议