错误提示:Could not open /dev/vmmon: No such file or directory
发生此问题的根本原因是安全启动(secure boot ),该启动不允许内核模块加载而不用可信证书进行数字签名。 因此,我们需要创建一个受信任的**,并使用它来对新编译的模块vmmon
和vmnet
进行签名。
这些命令已针对VMWare 15和Ubuntu 18.04(最高19.04)进行了测试。
1.安装VMware
2.运行如下命令
sudo vmware-modconfig --console --install-all
3.使用openssl生成一个key
openssl req -new -x509 -newkey rsa:2048 -keyout VMWARE15.priv -outform DER -out VMWARE15.der -nodes -days 36500 -subj "/CN=VMWARE/"
4.使用生成的key来签名内核模块vmmon
和vmnet
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMWARE15.priv ./VMWARE15.der $(modinfo -n vmmon)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMWARE15.priv ./VMWARE15.der $(modinfo -n vmnet)
5.检查签名是否正确
tail $(modinfo -n vmmon) | grep "Module signature appended"
如果看到如下信息,说明是正确的:Binary file (standard input) matches
6.现在,通过使用以下命令将其导入到机器所有者**(MOK)管理系统中,使该**受信任。 在这里,您可以了解有关MOK在Linux中的工作的更多信息。
sudo mokutil --import VMWARE15.der
这将要求您输入密码,输入一些新密码,例如1515vmware
。 重新输入相同的密码。
7.重新启动,重新启动时,系统会显示蓝屏背景菜单,您必须自行注册(enroll
)**并输入刚创建的密码,这种操作仅发生一次,然后继续启动。
8.要测试正确安装的驱动程序/模块,请输入以下命令
mokutil --test-key VMWARE15.der
如果你得到如下信息,说明可以正常工作了:VMWARE15.der is already enrolled
注意:我发现在涉及内核(或类似的东西)的一些Linux更新之后,此修复程序停止工作,您必须再次执行所有步骤才能使其再次工作。 (无需重新安装vmware)
原文:https://askubuntu.com/questions/1096052/vmware-15-error-on-ubuntu-18-4-could-not-open-dev-vmmon-no-such-file-or-dire