- 使用openssl生成rsa2048公钥对,将来用于对 vmmon 和 vmnet模块进行签名:
$openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj “/CN=VMware/”
这里MOK 是你生成的公钥对的名字,可以修改,会生成俩文件,MOK.der和MOK.priv,发布者为"/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)
或者
s u d o / u s r / s r c / l i n u x − h e a d e r s − sudo /usr/src/linux-headers- sudo/usr/src/linux−headers−(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
s u d o / u s r / s r c / l i n u x − h e a d e r s − sudo /usr/src/linux-headers- sudo/usr/src/linux−headers−(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)
- 将公钥MOK.der导入到MOK列表:
$sudo mokutil --import MOK.der
然后输入两次密码,记住这个密码(在重启后的mok enrollemnt里面还会用到)
- 重启
按F1进入BIOS界面
等待一段时间,进入MOK management控制台/BIOS界面,选择"mok enrollment"选项,然后yes,然后reboot,等待一段时间后,进入ubuntu页面,启动vmware,一切正常.
如果还是不行,则对kernel下的vmmon和vmnet签名:
$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)