VirtualBox虚拟机卡在Started Update UTMP about System Runlevel Changes【Failed to load module "vboxvideo"】

为了能让Linux的虚拟机与宿主机共享文件夹,重新安装了一下VirtualBox提供的“Guest Additions”工具:

没想到【编译】安装完后重启虚拟机,图形界面无法启动了,具体表现就是:

解决方案:

这里先说解决方案,其实非常简单,只要关闭虚拟机后, 在虚拟机的设置里面把Graphics Controllers从“VBoxVGA”替换为“VSMVGA”即可。

问题起因:

其实这个“VSMVGA”才是默认选项【官方推荐的选项】,至于为什么我要把它换成VBoxVGA,是因为在安装CentOS时(这里我用的是CentOS),如果不选择VBoxVGA,安装界面是没有鼠标指针的,但是换成VBoxVGA就没有这个问题,所有在替换了之后,VBoxVGA这个选项也就一直保留了下来。

问题定位:

卡在这里不能操作了。博主尝试过在内核启动选项中加入init 3进入非图形界面

 发现是可以正常启动的。况且,Guest Addition Tools也只是编译安装一些附加的模块,并没有重新编译虚拟机的内核。所以系统挂了的可能性不大。由于现在可以正常操作,所以要去系统log里面查找一下线索。

果然, 在/var/log/message中发现了线索:

GdmLocalDisplayFactory: maximum number of X display failures reached: check X server log for errors.

原来是GDM【Xorg】出现了问题,那我们再到错误提示指定的 “X server log”里去看一下:【博主这里是/var/log/Xorg.5.log(每个机器上的log序号都不太一样,找比较新的几个都翻看一下)】

Failed to load module "vboxvideo" (module does not exist)

原来真的是因为编译安装了“Guest Addition Tools”引起的,难道说VirtualBox提供的这个附加模块有问题?算了,还是请教万能的互联网吧。搜索一番发现,有人遇到了同样的问题:https://www.virtualbox.org/ticket/18530【本来这个问题是没有回复的,后来博主注册了一个Oracle的账号回复了一下】

绝望,难道又得重新装一遍虚拟机了?博主看着这串“vboxvideo”陷入了深思。

突然灵机一动,想起来这个vboxXXX跟之前在虚拟机设置里面的VBoxVGA有点像.....于是,关闭虚拟机,找到设置中的Graphics Controller,修改回VSMVGA,重启虚拟机,Gnome竟然正常启动了!!泪奔。。。

博主有两台物理机,最开始用的VirtualBox版本是6.0.0,切换Graphics Controller的时候没有任何提示。另一台物理机上的VirtualBox版本比较新,是6.1.0。新版本VBox在检测到你选用了VBoxVGA时,会有如下警告:

人家本来就默认使用VMSVGA....所以你非要用VBoxVGA,那出问题的话,也是不足为奇的。

问题根本原因:

底层的Xorg相关的内容不是很了解,所以...希望有经验的大牛分享一下,这里我就不多BB了,解决问题才是王道。