安装VirtualBox时,遇到一个启动虚拟机卡在20%的问题。翻了ArchLinux的BBS和Wiki,可算找到了解决方案,疑似是11代Intel的锅。

安装过程

首先通过uname -r查看系统的内核版本,例如

1
6.1.19-1-MANJARO

可以查看到我的内核版本是6.1,接下来使用pacman安装VirtualBox

1
sudo pacman -S virtualbox

会出现很多选项,选择对应的内核版本即可。接下来我们安装vbox的拓展包

1
sudo pacman -Ss virtualbox-ext-oracle

然后我们需要重启或者使用命令载入vboxdrv模块

1
sudo modprobe vboxdrv

问题出现

当我们打开vbox,创建虚拟机,启动虚拟机时,发现虚拟机的界面卡在了正在启动虚拟机,然后查看vbox页面,卡在了20%。

(我似乎忘记留存问题的图了,后面复刻问题后再补上)

经过我查找问题,发现问题似乎出现在11代Intel CPU上,接下来是在BBS和Wiki发现解决问题链接:

https://wiki.archlinux.org/title/VirtualBox#Freeze_during_virtual_machine_startup_with_11th_generation_Intel_CPU

https://bbs.archlinux.org/viewtopic.php?id=277500

通过这两篇,我经过尝试证明解决方案仍可用,虽然不太能理解为什么需要这样操作。接下来是简述解决方案

首先我们需要用编辑器通过root权限打开/etc/default/grub

1
sudo nvim /etc/default/grub

找到GRUB_CMDLINE_LINUX_DEFAULT=" ",在原先有的内容上追加ibt=off,例如我的如下所示

1
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor udev.log_priority=3 ibt=off"

然后我们需要应用我们对grub的修改

1
sudo grub-mkconfig -o /boot/grub/grub.cfg

接着我们重启计算机,打开虚拟机,即可正常使用

后记

我昨天在用中文在互联网里刨了整天屎都没找到任何有效的解决方案,然后今天起床尝试使用英语在搜索引擎检索相关问题表现,翻阅了几个帖子和Wiki后,成功找到了有效可用解决方案。

emm,不知道怎么描述这种感觉,果然使用中文检索计算机问题只会直通屎山(CSDN包括但不限于)吗?