如何修复和防止未安装 VirtualBox 内核驱动程序

onk*_*ows 26 linux virtualbox kernel ubuntu

今天我注意到我的 VirtualBox 虚拟机不再启动。有消息

The virtual machine 'CGI' has terminated unexpectedly during startup with exit code 1 (0x1).

Result Code:
NS_ERROR_FAILURE (0x80004005)
Component:
MachineWrap
Interface:
IMachine
Unknown macro: {b2547866-a0a1-4391-8b86-6952d82efaa0} 
Run Code Online (Sandbox Code Playgroud)

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 reinstall the kernel module by executing

'/sbin/vboxconfig'

as root.

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

这似乎是由内核更新引起的。我实际上并不知道 Ubuntu 正在做自动内核更新。日志/var/log/dpkg.log显示内核更新正在问题开始之前进行。

sudo dpkg --list | grep linux-image 显示了许多 4.8、4.10 和 4.13 版本的图像行。

[user:~] $ uname -a
Linux io 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

不幸的是,针对此问题的建议解决方案不起作用。

[root:~] # /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
depmod: ERROR: could not open directory /lib/modules/4.10.0-27-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.10.0-28-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.10.0-30-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.10.0-32-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.10.0-33-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.10.0-35-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.10.0-37-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.10.0-38-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.10.0-40-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.8.0-41-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.8.0-45-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.8.0-46-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.8.0-49-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.8.0-52-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.8.0-54-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.8.0-56-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
depmod: ERROR: could not open directory /lib/modules/4.8.0-58-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: Look at /var/log/vbox-install.log to find out what went wrong.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.
[root:~] # 
Run Code Online (Sandbox Code Playgroud)

安装日志/var/log/vbox-install.log太大,无法在此处发布,但它以以下消息开头

make[1]: warning: -jN forced in submake: disabling jobserver mode.
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (        \
echo >&2;                           \
echo >&2 "  ERROR: Kernel configuration is invalid.";       \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
echo >&2 ;  
Run Code Online (Sandbox Code Playgroud)

现在我认为实际上有三个问题 * 如何修复内核配置?* 如何修复 VirtualBox?我应该删除并重新安装吗?* 我如何防止这些类型的问题?我应该禁用内核的自动更新吗?

在此处输入图片说明 在此处输入图片说明

小智 27

VirtualBox 升级到 5.2.6 r120293 后我遇到了同样的问题

Linux 内核版本 4.14.13-041413-generic

以下命令序列对我有帮助:

$ sudo apt install --reinstall virtualbox-dkms && sudo apt install libelf-dev
$ sudo /sbin/vboxconfig
Run Code Online (Sandbox Code Playgroud)

  • 在 ubuntu 18.04 上对我不起作用。 (2认同)
  • 不适用于 Ubuntu 18.04(2020 年 1 月 20 日)。正在运行 v 6.0,完全卸载 6.0,然后安装 6.1,现在它可以工作了。祝大家好运! (2认同)

小智 9

$ sudo apt install --reinstall virtualbox-dkms && sudo apt install libelf-dev

这在我的 Kubuntu 18.4.2 上解决了同样的问题

  • 您提供的答案与之前提供的答案相同。看第一个答案。如果您想对此说些什么,可以写评论,也可以对之前的答案进行投票。 https://superuser.com/a/1286104/774524 (4认同)
  • 这不是和之前的答案一样吗? (2认同)

小智 5

virtualbox-dkms如上重新安装后,您可能还需要sudo modprobe vboxdrv重新加载内核模块。