这个答案在我的情况下仅在Ubuntu和Debian 9中进行了测试,但也许对你有用。
我认为问题在于vboxdrv模块没有签名,因此没有与内核一起加载。如果您的计算机启用了SecureBoot模式,则会发生这种情况,这是现代设备中非常普遍的事情。
这就是为什么我在Virtual Box中打开任何机器时都会收到以下错误:
内核驱动程序未安装(rc=-1908)
执行以下步骤以签署驱动程序并将其加载为内核模块:
1. 安装mkutil软件包以进行签名。
sudo apt-get update
sudo apt-get upgrade
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/"
3. 然后将其添加到内核中:
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
4. 为其注册安全启动。
重要提示! 这会要求您输入密码,请输入您想要的密码,您只需要在下一次重新启动时使用它一次。
sudo mokutil --import MOK.der
5. 最后,重启电脑。会出现一个带有等待键盘的蓝色屏幕,请按要求中断启动的按键。
![enter image description here](https://istack.dev59.com/NAinu.webp)
当您处于蓝色屏幕内时,请选择
Enroll MOK > Continue > Yes > and it will ask you for the password
如果您之前输入的信息正确,您将重新输入并且会收到操作已成功完成的通知。
现在您的操作系统将启动,您可以正常使用VirtualBox :)
希望这能对某些人有所帮助。