解决ubuntu启动到UI界面卡在不动的一种情况

虚拟机平台:virtualbox

虚拟机:ubuntu 18.04

问题如下图所示,界面不会动,也无法使用Ctrl + Alt + F2 ,Ctrl + Alt + F3 ,Ctrl + Alt + F4等切换到其他shell;

原因:polkitd 依赖的libgio-2.0.so 版本不匹配,导致polkitd无法启动,进而使systemd 卡在启动Authorization Manager服务;

然后重启虚拟机,在启动期间快速按下Ctrl + Alt + F3 切换到shell界面;


可看到一直有 Failed to start Authorization Manager. 错误,若是不去管,则它将一直在尝试等

Authorization Manager启动成功,且无法进入到login界面;

从 linux系统polkit无法启动_polkit服务起不来-CSDN博客 这里了解到 Authorization Manager

是 polkit ,他的方式是重新安装再重启该服务;

而当前的情况下,只能进入recover 模式去尝试;

从 当VirtualBox中的Ubuntu黑屏无法启动时如何进入终端_virtualbox启动ubuntu黑屏-CSDN博客
了解到进入 recover 模式的方式:  立即反复快速地按 Esc 键(还按了 Shift 键) 才进入如到recover 模式;

因为网络不通,所以不考虑重新安装 polkit 的方式,首先查看下该服务的状态:(dead)

尝试restart 该服务:

再使用journalctl -ex 查看log

如图所示,也没有看出什么;

再尝试手动启动该应用:

这下总算看出点问题了,/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 中 存在一个未定义的符号

g_module_open_full;尝试grep下,真有这个符号;

而另一台虚拟机中/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 并没有g_module_open_full 这个符号;

且polkitd能运行;

计划用u 盘拷贝该正常虚拟机上的/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5600.4 到有问题的虚拟机里;

但是突然发现有问题的虚拟机里也有libgio-2.0.so.0.5600.4 的版本库,那就简单了,直接改这里的软连接就行;

如下图所示,删除 libgio-2.0.so 和 libgio-2.0.so.0 两个软链接文件,再用 libgio-2.0.so.0.5600.4 

来生成新的 libgio-2.0.so 和 libgio-2.0.so.0 ,然后再尝试启动polkitd,可见其也能运行了;

最后尝试重启(reboot),虚拟机就能正常启动了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值