3 回答
VMWare 文章 2146460
在启用安全模式的 Linux 主机上,不允许加载任何未签名的驱动程序。因此,无法加载 vmmon 和 vmnet 等 VMware 驱动程序,从而阻止虚拟机开机。
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=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)
sudo mokutil --import MOK.der
sudo shutdown -r now
下次启动时,可能需要在启动过程中进入MOK管理,选择“ENROLL MOK”导入密钥,再重新启动一次。
对我有用的 Ubuntu 20.04 解决方案:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=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)
sudo su
mokutil --import MOK.der
input password:
input password again:
exit
sudo shutdown -r now
在启动“ENROLL MOK”和“重新启动”再次。
这可能适用于 Ubuntu,但对于 RHEL 7.8/8,我使用以下命令(以 root 身份):
openssl req -new -x509 -newkey rsa:2048 -keyout VMWare.priv -outform DEF -out VMWare.der -nodes -days 36500 -subj "/CN=VMware/"
/usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./VMWare.priv ./VMWare.der $(modinfo -n vmmon)
/usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./VMWare.priv ./VMWare.der $(modinfo -n vmnet)
mokutil --import VMWare.der
reboot
但是,当我签署 vmnet/vmmon 时,我得到Cant't find private key了,互联网上的其他文章表明这是可以的。
mok 已导入,然后我尝试运行 VMWare 并得到Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module 'vmmon' is loaded.. 如果我确保 RHEL 7.8 完全是最新的,则计算机不会出现 UEFI 启动画面。
这是我在 Unix/Linux 堆栈交换频道 https://unix.stackexchange.com/questions/605037/unable-to-run-vmware-on-rhel-8-after-signing-vmmon-and-vmnet上的帖子
