我无法执行命令 modprobe vboxdrv

问题描述 投票:0回答:2

我最近升级了我的 laravel vagrant box。从那时起,虚拟盒子给了我同样的错误

被请求支持机器的提供商“virtualbox” “默认”报告它在此系统上不可用。原因 如下图:

VirtualBox 抱怨安装不完整。请 运行

VBoxManage --version
查看错误消息,应该 包含有关如何修复此错误的说明。

因此,做了一些研究,我发现内核驱动程序不可用。我尝试安装它,但在尝试执行时出现以下错误

modprobe vboxdrv

modprobe:错误:无法插入“vboxdrv”:所需密钥不可用

这个错误让我有 4 天的时间,但我不知道该怎么办。有人可以帮助我吗?

linux virtualbox
2个回答
61
投票

这是一个不涉及禁用安全启动的解决方案:

问题在于

vboxdrv
模块未签名,因此未随内核一起加载。如果您的计算机激活了安全启动模式(这在现代设备中很常见),就会发生这种情况。

这就是为什么我在打开 Virtual Box 中的任何机器时都会遇到此错误

未安装内核驱动程序(rc=-1908)

执行以下步骤对驱动程序进行签名,并将其作为内核模块加载:

1. 安装

mkutil
软件包才能进行签名。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mokutil

2.生成签名文件:

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. 最后,重新启动计算机。会出现蓝屏并等待键盘,按要求您中断启动的键。

当您处于蓝屏状态时,选择

Enroll MOK > Continue > Yes > and it will ask you for the password

您之前输入过,输入后会提示您操作已成功完成。

现在您的操作系统将启动,您现在可以毫无问题地使用 VirtualBox :)

我在 Ubuntu、Kubuntu 和 Debian 中对此进行了测试。希望这对某人有帮助。


6
投票

我遇到了同样的问题

通过禁用安全启动选项解决了这个问题。

进入 BIOS 配置并禁用安全启动。

© www.soinside.com 2019 - 2024. All rights reserved.