在开启了secure boot的ubuntu电脑上安装virtualbox无法直接使用,原因是virtualbox新安装的module需要签名才能加载。否则会报错
Kernel driver not installed (rc=-1908)
ask ubuntu的帖子给出的方法可以解决这个问题,具体方法摘录如下
- 对文件签名并生成新的kernel
#生成MOK.der和MOK.priv文件 sudo /sbin/vboxconfig #安装签名工具 sudo apt-get install mokutil #生成签名文件 openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/" # 将签名文件添加到kernel sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv) # 将新的kernel注册到secure boot sudo mokutil --import MOK.der
在上述步骤的最后一步需要设定一个密码,需要记住这个密码(重启电脑后要用)
重启电脑,会进入Perform MOK mangement为标题的蓝色界面 -> 选择Enroll MOK
,一路继续到输入刚刚设定的密码 -> 重启电脑。
再次重启电脑后,virtual box就应该可以使用了