Inf*_*ner 3 linux virtualbox packages ubuntu
我正在尝试在 Ubuntu 20.04(主机)上设置 Windows 10(来宾)VM,但在尝试启动它时遇到以下问题。
虚拟机“Windows 10 Pro”在启动过程中意外终止,退出代码为 1 (0x1)。
结果代码:NS_ERROR_FAILURE (0x80004005)
组件:MachineWrap
接口:IMachine {85632c68-b5bb-4316-a900-5eb28d3413df}
未安装内核驱动程序 (rc=-1908)
VirtualBox Linux 内核驱动程序未加载或未正确设置。请以 root 身份执行“/sbin/vboxconfig”来尝试重新设置。
如果您的系统启用了 EFI 安全启动,您可能还需要对内核模块(vboxdrv、vboxnetflt、vboxnetadp、vboxpci)进行签名,然后才能加载它们。请参阅 Linux 系统的文档以获取更多信息。
其中:suplibOsInit 内容:3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - 未安装支持驱动程序。在 Linux 上,打开返回 ENOENT。**
在终端中:
$ 虚拟机
警告:未加载 vboxdrv 内核模块。要么就是没有模块
适用于当前内核(5.13.0-051300-generic),或者无法使用
加载。请重新编译内核模块并安装它
sudo /sbin/vboxconfig
在解决此问题之前,您将无法启动虚拟机。
当我输入给定的命令时:
$ sudo /sbin/vboxconfig
vboxdrv.sh:停止 VirtualBox 服务。
vboxdrv.sh:启动 VirtualBox 服务。
vboxdrv.sh:构建 VirtualBox 内核模块。
该系统当前尚未设置为构建内核模块。
请安装与当前内核匹配的Linux内核“头”文件
用于向系统添加新的硬件支持。
包含标头的分发包可能是:
linux-headers-generic linux-headers-5.13.0-051300-generic
该系统当前尚未设置为构建内核模块。
请安装与当前内核匹配的Linux内核“头”文件
用于向系统添加新的硬件支持。
包含标头的分发包可能是:
linux-headers-generic linux-headers-5.13.0-051300-generic
设置 VirtualBox 时出现问题。要重新启动设置过程,请运行
/sbin/vboxconfig
作为根。如果您的系统使用 EFI 安全启动,您可能需要签署
加载之前的内核模块(vboxdrv、vboxnetflt、vboxnetadp、vboxpci)
他们。请参阅 Linux 系统的文档以获取更多信息。
奇怪的是,当我尝试安装该软件包时,出现以下结果:
$ sudo apt-get install linux-headers-$(uname -r) 正在阅读包裹清单...完成 构建依赖树 读取状态信息...完成 软件包 linux-headers-5.13.0-051300-generic 不可用,但被另一个软件包引用。 这可能意味着该包丢失、已过时或 只能从其他来源获得 E:软件包“linux-headers-5.13.0-051300-generic”没有安装候选者
$ apt 列表 | grep linux-headers-5.13 警告:apt 没有稳定的 CLI 界面。在脚本中谨慎使用。 linux-headers-5.13 .0-051300/now 5.13.0-051300.202106272333 全部 [已安装,本地]
我知道那里有两个问题:
这两个问题有联系吗?知道为什么我找不到所需的 linux-headers 以及如何找到它们吗?
我尝试过的:
$ sudo apt install virtualbox
$ sudo apt install --reinstall virtualbox-dkms && sudo apt install libelf-dev
PS:我不想停用安全启动
感谢您的帮助
小智 5
我今天在自己的设置中遇到了完全相同的问题并已修复。
正如本博客中提到的,该错误与未签名的 Virtualbox 模块有关,这些模块无法在启用了安全启动的 Linux 主机中工作。
看完博客,我发现它基本上就是创建RSA密钥对,然后对内核进行签名。我相信我在安装 Ubuntu 主机系统后已经完成了此操作。因此,我跳过了这些步骤,并尝试在 root 权限下使用以下命令来验证未签名的 Virtualbox 模块是否是问题所在:
root@ubuntu:~# modinfo -n vboxdrv
modinfo: ERROR: Module vboxdrv not found.
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索上述错误后,我从 StackExchange 找到了另一个有用的答案,它展示了如何安装模块:
apt install virtualbox-ext-pack
Run Code Online (Sandbox Code Playgroud)
然后我尝试重新配置模块,但发现缺少一些构建实用程序:
root@ubuntu:~# /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
This system is currently not set up to build kernel modules.
Please install the gcc make perl packages from your distribution.
This system is currently not set up to build kernel modules.
Please install the gcc make perl packages from your distribution.
There were problems setting up VirtualBox. To re-start the set-up process, run
/sbin/vboxconfig
as root. If your system is using EFI Secure Boot you may need to sign the
kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load
them. Please see your Linux system's documentation for more information.
Run Code Online (Sandbox Code Playgroud)
然后我尝试安装它们并重新运行它:
root@ubuntu:~# apt install gcc make perl
Run Code Online (Sandbox Code Playgroud)
root@ubuntu:~# /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
root@derrick-XPS:~# modinfo -n vboxdrv
/lib/modules/5.10.0-1034-oem/misc/vboxdrv.ko
Run Code Online (Sandbox Code Playgroud)
最后,我能够在 Ubuntu 主机上毫无问题地安装 Windows 10。
希望这可以帮助。如果没有,请先参考此博客创建RSA密钥对。
| 归档时间: |
|
| 查看次数: |
76007 次 |
| 最近记录: |