从 内核版本 4.4.0-20 开始,在开启了 Secure Boot 的电脑上,未注册的 kernel 模块不再允许执行,所以如果想在保持 Secure Boot 的情况下依然允许执行,我们需要做的则是注册这些模块。可以依次执行如下操作:
1. 创建签名 keys
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/"
2. 注册模块
sudo /usr/src/linux-headers-@H_404_40@$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der @H_404_40@$(modinfo -n vBoxdrv)
其中 $uname -r
和 $modinfo -n vBoxdrv
表示执行命令后的结果填入
3. 注册 key 到 Secure Boot
sudo mokutil --import MOK.der
这条命令会要求输入密码,记住密码,下一步有用
最后重启电脑,会进入如下界面,按照下面的步骤执行即可,执行完后会再次重启。重启完成后再执行:sudo modprobe vBoxdrv
即可。