如何在VirtualBox中修复“modprobe vboxdrv”错误?错误信息:无法插入'vboxdrv':所需的密钥不可用。

我在Ubuntu 16.04上安装了virtualBox,但是在安装并创建新的虚拟主机后显示了这个错误:

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please install virtualbox-dkms package and load the kernel module by executing

modprobe vboxdrv

as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.

当我尝试运行sudo modprobe vboxdrv时,我遇到了这个错误:
$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Required key not available

如何解决这个modprobe vboxdrv错误?

1你试过执行 'sudo modprobe vboxdrv' 吗? - Ali Razmdideh
看这个问题,几个小时前就有完全相同的问题。也许其中一个评论也能帮到你,因为Jimmi还没有说出是什么帮助了他。 - Ziazis
@AliRazmdideh OP在此评论中回答了您的问题:https://askubuntu.com/questions/920689/how-to-fix-modprobe-vboxdrv-error-in-virtualbox#comment1453951_920713 - Flimm
5个回答

执行以下命令作为第一步:

sudo modprobe vboxdrv

如果这些命令没有帮助,请运行以下命令:
sudo apt update
sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms

然后重新启动您的系统,并在重新启动后运行此命令:
sudo modprobe vboxdrv

如果不行,您必须在BIOS/UEFI设置中禁用安全启动,因为安全启动会防止未签名的模块被加载。

9嗨,运行sudo modprobe vboxdrv后,显示以下错误:modprobe: ERROR: could not insert 'vboxdrv': Required key not available - mySun
1@mySun 你的问题解决了吗?如果我的回答没有帮到你,请阅读这篇帖子的说明来解决“Required key not available”问题:https://askubuntu.com/questions/760671/could-not-load-vboxdrv-after-upgrade-to-ubuntu-16-04-and-i-want-to-keep-secur - Ali Razmdideh
4我读了这篇帖子,找到了我的问题:-) 谢谢。 - mySun
2我本来不需要重启,但你的apt install方法确实有效。 - flyingdrifter
怎样在启动时自动化它是最好的方式?我应该将它放在 /usr/lib/modules-load.d 中吗? - yuranos
或者在/etc/modules中。这样做有意义吗?这个模块会消耗很多资源吗?我不是每天都需要VirtualBox,所以只有在操作廉价的情况下才有意义。 - yuranos
这对我有用 +1 - ɹɐqʞɐ zoɹǝɟ
不起作用,第一次尝试 modprobe: FATAL: 在目录 /lib/modules/5.0.0-23-generic 中找不到 vboxdrv 模块 - Budi Mulyo
这个方法解决了我的问题,我在将电脑更新到Ubuntu 19.10后遇到了vagrant的问题。 - exts
我每次重新启动后都不需要这样做吗?我将vboxdrv放在/etc/modules中,但每次都需要运行sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms - Micha93

  1. 通过运行以下命令卸载virtualbox-dkms及其配置:

    sudo apt-get remove virtualbox-dkms
    sudo apt-get remove --purge virtualbox-dkms
    
  2. 通过运行以下命令安装Linux头文件和Linux镜像:

    sudo apt-get install -y linux-headers-amd64 linux-image-amd64
    
  3. 安装virtualbox-dkms:

    sudo apt-get install -y virtualbox-dkms
    

2我的系统找不到 linux-headers-amd64linux-image-amd64。尝试使用 apt dist-upgrade - david.perez
1Linux头文件的安装必须是通用的sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms - Nav



像@david.perez所揭示的那样,可以通过禁用UEFI安全启动来解决:
  1. 执行“关机/重启”
  2. 在第一个屏幕上选择“UEFI设置”
  3. 在Bios界面中,浏览到“UEFI”选项卡
  4. 将“启用”更改为“禁用”,保存并退出