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