我目前正在使用Ubuntu 18.04
VirtualBox GUI Version 5.2.18
,但遇到了以下错误:
未安装内核驱动程序(rc=-1908)
VirtualBox Linux 内核驱动程序 (vboxdrv) 未加载或 /dev/vboxdrv 存在权限问题。请重新安装 virtualbox-dkms 软件包并通过执行加载内核模块
'modprobe vboxdrv'
作为根。
其中:suplibOsInit 内容:3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - 未安装支持驱动程序。在 Linux 上,open 返回 ENOENT。
我不知道如何修复它,这很烦人,因为我无法启动任何虚拟机。
编辑:我已经尝试过:
sudo apt-get install dkms build-essential linux-headers-generic
和
sudo apt-get install dkms
sudo /etc/init.d/vboxdrv setup
和
sudo modprobe vboxdrv
输出是modprobe: ERROR: could not insert 'vboxdrv': Operation not permitted
但它们都不起作用。
答案1
如果您的系统具有 UEFI 固件并且启用了安全启动,这可能可以解释为什么您不“被允许”加载(未签名)内核模块。
Ubuntu 应该有一个第三方模块的自动化签名过程,但该过程可能没有按预期工作。例如,如果您在安装 Ubuntu 后更新了系统的 UEFI 固件(“BIOS 更新”),则该更新可能会导致系统 NVRAM 完全重置。在这种情况下,此命令应启动重新注册过程:
sudo update-secureboot-policy --enroll-key
如果自动生成的密钥已注册,或者在其他一些可能的情况下,此命令将仅打印一条有关系统上安全启动密钥状态的消息,因此无论如何尝试它应该是安全的,并且该消息可能会提供信息。
但如果需要重新注册密钥,该命令会要求您设置密码。然后,您需要重新启动系统一次,重新启动后,负责重新注册密钥的组件将立即要求您再次输入该密码。此过程旨在确保在用户不知道发生了什么情况的情况下无法注册安全启动密钥。一旦成功注册密钥,就不再需要该密码,因此无需长期存储它。
但如果这不能解决问题,则可能是其他地方出了问题。
dmesg
要获取更多信息,您应该在尝试加载模块后查看内核消息缓冲区的尾部(命令输出)。换句话说,请执行以下操作:
sudo modprobe vboxdrv
sudo dmesg | tail -30
输出应包含有关模块加载失败原因的更详细描述。如果安全启动密钥不是问题,那么请将第二个命令的结果添加到您原来的问题中。
答案2
我遇到过同样的问题。当我用谷歌搜索解决方案时发现了这个。
显然sudo apt install virtualbox
解决了我的案例的问题。