Can';t在Arch中安装virtualbox

Can';t在Arch中安装virtualbox,virtualbox,archlinux,pacman-package-manager,Virtualbox,Archlinux,Pacman Package Manager,我曾尝试使用pacman在Arch(4.7.0-1)上安装Virtualbox,在我尝试运行它之前,一切似乎都很顺利。我得到以下信息 警告:未加载vboxdrv内核模块。要么没有模块 可用于当前内核(4.7.0-1-ARCH)或无法 负载请重新编译内核模块,并通过 sudo /sbin/vboxconfig You will not be able to start VMs until this problem is fixed. VirtualBox:supr3Ha

我曾尝试使用pacman在Arch(4.7.0-1)上安装Virtualbox,在我尝试运行它之前,一切似乎都很顺利。我得到以下信息

警告:未加载vboxdrv内核模块。要么没有模块 可用于当前内核(4.7.0-1-ARCH)或无法 负载请重新编译内核模块,并通过

       sudo /sbin/vboxconfig

     You will not be able to start VMs until this problem is fixed.
VirtualBox:supr3HardendMainGetTrustedMain:dlopen(“/usr/lib/VirtualBox/VirtualBox.so”)失败:/usr/lib/libQt5Core.so.5:文件太短

我应该从哪里开始调试它呢

从5.0.16版开始,virtualbox主机模块arch和virtualbox主机dkms使用systemd-modules-load.service在引导时加载所有四个virtualbox模块

要手动加载模块,请运行:
modprobe vboxdrv


这个答案在我的例子中只在Ubuntu和Debian 9中测试过,但可能对你有用

我认为问题在于
vboxdrv
模块没有签名,因此没有加载内核。如果您的计算机激活了SecureBoot模式,就会发生这种情况,这在现代设备中非常常见

这就是为什么我在打开虚拟机盒中的任何机器时出现此错误

未安装内核驱动程序(rc=-1908)

执行以下步骤对驱动程序进行签名,并将其作为内核模块加载:

1。安装
mkutil
软件包,以便能够执行签名操作

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mokutil
2.生成签名文件:

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"
3.然后将其添加到内核:

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
4.为安全引导注册它

重要这将要求您输入密码,输入您想要的密码,您只需在下次重新启动时使用它一次

sudo mokutil --import MOK.der
5。最后,重新启动计算机。蓝色屏幕将出现,键盘等待,按要求您中断引导的键

当您在蓝色屏幕内时,选择

Enroll MOK > Continue > Yes > and it will ask you for the password
如果您之前已输入,您将输入它,并将被告知操作已成功完成

现在,您的操作系统将启动,您现在可以毫无问题地使用VirtualBox:)


希望这对某人有所帮助。

打开终端-验证版本/代码名

代码:

lsb\U发布-a

使用任何纯文本编辑器,如gedit/scite/bash

代码:

sudogedit/etc/apt/sources.list

将以下行添加到/etc/apt/sources.list中:

代码:

debhttp://download.virtualbox.org/virtualbox/debian xenial contrib

保存并关闭

添加密钥,并与下载和注册相结合

代码:

wget-qhttps://www.virtualbox.org/download/oracle_vbox_2016.asc -O-| sudo apt键添加-

wget-qhttps://www.virtualbox.org/download/oracle_vbox.asc -O-| sudo apt键添加-

确保安装了DKMS。可能需要重新安装到当前内核

代码:

dkms状态

此时您可能会遇到一个错误,抱怨linux头文件,只需通过
apt get install linux-headers-5.4.0-28-generic下载头文件包即可

确保计算机和操作系统是最新的

代码:

sudo-apt-get-autoclean sudo-apt-get-clean sudo-apt-get-autoremove sudo-apt-get-update sudo-apt-get-upgrade

为当前运行的内核重建所有DKMS模块:

代码:

dkms自动安装

安装最新版本的VirtualBox

代码:

sudo-apt-get-install-virtualbox