无法在Arch中安装virtualbox

时间:2016-08-19 03:28:52

标签: virtualbox archlinux pacman

我曾尝试使用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:supR3HardenedMainGetTrustedMain:dlopen(" /usr/lib/virtualbox/VirtualBox.so",)失败:/usr/lib/libQt5Core.so.5:文件太短

关于我应该从哪里开始寻找调试的想法?

3 个答案:

答案 0 :(得分:3)

  

从版本5.0.16开始,virtualbox-host-modules-arch和virtualbox-host-dkms使用systemd-modules-load.service在启动时加载所有四个VirtualBox模块。

     

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

https://wiki.archlinux.org/index.php/VirtualBox#Load_the_VirtualBox_kernel_modules

答案 1 :(得分:0)

就我而言,此答案仅在 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。。最后,重新启动计算机。键盘等待时,将出现一个蓝屏,按要求您中断启动的键。

enter image description here

在蓝屏内部时,选择

Enroll MOK > Continue > Yes > and it will ask you for the password

您先前输入的内容将被输入,并且将通知您操作已成功完成。

现在您的操作系统将启动,您现在可以使用VirtualBox了,没有问题:)

希望这对某人有所帮助。

答案 2 :(得分:0)

打开终端-验证版本/代号

代码:

lsb_release -a

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

代码:

sudo gedit /etc/apt/sources.list

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

代码:

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

保存并关闭

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

代码:

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

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

代码:

dkms status

此时,您可能会在抱怨linux-headers时遇到错误,只需通过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 autoinstall

安装VirtualBox的最新版本

代码:

sudo apt-get install virtualbox