我最近升级了我的 laravel vagrant box。从那以后,Virtual box 给了我同样的错误
被请求支持机器“default”的提供者“virtualbox”报告说它在这个系统上不可用。原因如下图:
VirtualBox 抱怨安装不完整。请运行
VBoxManage --version
以查看错误消息,其中应包含有关如何修复此错误的说明。
因此,经过一些研究,我发现内核驱动程序不可用。我尝试安装它并在尝试执行时出现以下错误modprobe vboxdrv
。
modprobe:错误:无法插入“vboxdrv”:所需密钥不可用
我有 4 天出现此错误,但我不知道该怎么办。有人可以帮助我吗?
这是另一种解决方案,无需禁用安全启动:
问题是vboxdrv
模块没有签名,因此没有加载内核。如果您的计算机激活了 SecureBoot 模式,就会发生这种情况,这在现代设备中很常见。
这就是为什么我在 Virtual Box 中打开任何机器时出现此错误的原因
未安装内核驱动程序 (rc=-1908)
执行以下步骤对驱动程序进行签名,并将其作为内核模块加载:
1.安装mkutil
包就可以做签名了。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mokutil
Run Code Online (Sandbox Code Playgroud)
2.生成签名文件:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"
Run Code Online (Sandbox Code Playgroud)
3.然后将其添加到内核中:
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
Run Code Online (Sandbox Code Playgroud)
4.为安全启动注册它。
重要的!这将要求您输入密码,输入您想要的密码,下次重新启动时您只需使用一次。
sudo mokutil --import MOK.der
Run Code Online (Sandbox Code Playgroud)
5.最后,重启电脑。将出现蓝屏并等待键盘,按要求您中断启动的键。
当您在蓝屏内时,选择
Enroll MOK > Continue > Yes > and it will ask you for the password
Run Code Online (Sandbox Code Playgroud)
之前输入过的,输入后会提示操作成功完成。
现在您的操作系统将启动,您现在可以毫无问题地使用 VirtualBox :)
我在 Ubuntu、Kubuntu 和 Debian 中对此进行了测试。希望这有助于某人。
归档时间: |
|
查看次数: |
5680 次 |
最近记录: |