VirtualBox“未安装内核驱动程序”错误,尽管运行/sbin/vboxconfig。

启动VirtualBox虚拟机时,我遇到以下问题:

VirtualBox - Error in suplibOsInit

运行`sudo /sbin/vboxconfig`不能解决问题。 如何修复呢?
VirtualBox 5.0.10 r104061

对我来说,解决方法是安装最新版本的VirtualBox。(在6.1.12版本遇到错误后升级到了6.1.34版本)。sudo dpkg -i <下载的文件.deb> - S2L
6个回答

和我有同样的问题,如果你不使用vagrant就放弃它吧。
当我运行vagrant up时的输出:
The provider 'virtualbox' that was requested to back the machine
'default' is reporting that it isn't usable on this system. The
reason is shown below:

VirtualBox is complaining that the kernel module is not loaded. Please
run `VBoxManage --version` or open the VirtualBox GUI to see the error
message which should contain instructions on how to fix this error.

输出 VBoxManage --version 的结果:
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (3.19.0-47-generic) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/rcvboxdrv setup

         You will not be able to start VMs until this problem is fixed.
5.0.14r105127

输出 sudo /sbin/rcvboxdrv setup:
Bad argument setup

运行以下命令后,我的问题得到解决:sudo /usr/lib/virtualbox/vboxdrv.sh setup
$ sudo /usr/lib/virtualbox/vboxdrv.sh setup
Stopping VirtualBox kernel modules ...done.
Recompiling VirtualBox kernel modules ...done.
Starting VirtualBox kernel modules ...done.
$ VBoxManage --version
5.0.14r105127

你可以随时使用modprobe来添加一个内核模块。我在我的服务器上通过以下方式解决了同样的问题:
[root@mageia5][/home/afk]# modprobe -a vboxdrv

在这种情况下,模块未加载通常不是问题。当您安装了另一个内核(通常作为软件包更新)但其中尚未包含vboxdrv模块时,就会出现此错误。因此,您需要使用sudo /sbin/rcvboxdrv setup编译和安装该模块到新的内核上。据我所知,现在错误消息中提到的命令是这个,而不是sudo /sbin/vboxconfig - Henning Kockerbeck

我找到了以下与virtualbox dkms相关的软件包:

  • virtualbox-dkms
  • virtualbox-guest-dkms

您安装了这些软件包吗?


我确实没有安装这些软件包。 - Nicolas Raoul
这对我有用。之后,我只需运行vagrant up来使其运行。 - Artur Barseghyan

警告:vboxdrv内核模块未加载。可能是当前内核(4.7.1-1-ARCH)没有可用的模块,或者加载失败。请重新编译内核模块并通过sudo /sbin/vboxconfig进行安装。
在解决此问题之前,您将无法启动虚拟机。
对我来说,解决这个问题的方法是安装linux-headers软件包。

这似乎是一个已知的错误
运行以下命令可以解决问题:
sudo /sbin/vboxconfig
sudo /sbin/rcvboxdrv setup

很抱歉,每次重新启动后您都需要运行这些命令。

您不应该需要在每次重新启动后运行这些命令,只需针对每个新安装的内核运行一次(可能是来自软件包更新),这些内核尚未包含vboxdrv模块。 rcvboxdrv setup编译该模块,并将其与当前运行的内核设置好。 - Henning Kockerbeck
我同意,我们不应该在每次重启后都需要运行/sbin/vboxconfig,但当我将系统从18.04升级到20.04时,我发现自己正处于这种情况中 - 使用Virtualbox 6.1。 - MangoCat

遇到了同样的问题。花了几天时间寻找解决方法。 最后发现是EFI阻止了一些功能。我的解决方法是:

  1. 重启电脑
  2. 进入BIOS
  3. 在"安全"选项下禁用"安全启动"(具体配置名称可能因机器和使用的BIOS而有所不同,但应该类似)

希望这能帮助像我一样苦苦寻找答案的旅行者。