无法在 Arch 中安装 virtualbox
Can't install virtualbox in Arch
我尝试使用 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:文件太短
关于我应该从哪里开始调试它有什么想法吗?
Since version 5.0.16, virtualbox-host-modules-arch and virtualbox-host-dkms use systemd-modules-load.service to load all four VirtualBox modules at boot time.
To load the module manually, run: modprobe vboxdrv
https://wiki.archlinux.org/index.php/VirtualBox#Load_the_VirtualBox_kernel_modules
这个答案仅在 Ubuntu 和 Debian 9 中测试过,但也许对你有用。
我认为问题是 vboxdrv
模块没有签名,因此没有加载内核。如果您的计算机激活了 SecureBoot 模式,就会发生这种情况,这在现代设备中很常见。
这就是我在 Virtual Box 中打开任何机器时出现此错误的原因
Kernel driver not installed (rc=-1908)
执行以下步骤对驱动程序进行签名,并将其作为内核模块加载:
1.安装mkutil
包即可做signed.
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. 最后,重启电脑。会出现蓝屏,键盘等待,请按要求中断启动的键。
当你进入蓝屏时,select
Enroll MOK > Continue > Yes > and it will ask you for the password
你之前输入过的,你再输入,会提示你操作已经成功完成。
现在您的操作系统将启动,您现在可以毫无问题地使用 VirtualBox :)
希望这对某人有所帮助。
打开终端 - 验证版本/代号
代码:
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
保存并关闭
添加Key,结合下载注册;
代码:
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
下载头包即可
确保计算机和 OS 是最新的
代码:
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
我尝试使用 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:文件太短
关于我应该从哪里开始调试它有什么想法吗?
Since version 5.0.16, virtualbox-host-modules-arch and virtualbox-host-dkms use systemd-modules-load.service to load all four VirtualBox modules at boot time.
To load the module manually, run:
modprobe vboxdrv
https://wiki.archlinux.org/index.php/VirtualBox#Load_the_VirtualBox_kernel_modules
这个答案仅在 Ubuntu 和 Debian 9 中测试过,但也许对你有用。
我认为问题是 vboxdrv
模块没有签名,因此没有加载内核。如果您的计算机激活了 SecureBoot 模式,就会发生这种情况,这在现代设备中很常见。
这就是我在 Virtual Box 中打开任何机器时出现此错误的原因
Kernel driver not installed (rc=-1908)
执行以下步骤对驱动程序进行签名,并将其作为内核模块加载:
1.安装mkutil
包即可做signed.
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. 最后,重启电脑。会出现蓝屏,键盘等待,请按要求中断启动的键。
当你进入蓝屏时,select
Enroll MOK > Continue > Yes > and it will ask you for the password
你之前输入过的,你再输入,会提示你操作已经成功完成。
现在您的操作系统将启动,您现在可以毫无问题地使用 VirtualBox :)
希望这对某人有所帮助。
打开终端 - 验证版本/代号
代码:
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
保存并关闭
添加Key,结合下载注册;
代码:
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
确保计算机和 OS 是最新的
代码:
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