今天,在公司遇到的第一个任务就是修复机器开不了机的问题。
参考资料
- 在Ubuntu上使用恢复模式及Recovery Mode各选项的使用方法
- ubuntu的recovery mode解决用户一些实际问题
- Ubuntu开机一直卡在OK Started GNOME Display Manager处,解决方案!
环境和问题描述
ubuntu 18.04
- 开机进不了桌面,一直卡在开机的
ubuntu
的图标上 - 如果进入查看引导启动「按 esc」
- 会卡在
[OK] Started GNOME Display Manager
「其实也不一定,但是,就是卡在某一步的 OK 进行不下去」
- 会卡在
查阅资料可知,出现这种情况一般有两种
- 硬盘空间不足
- 软件更新错误
排查
首先,在卡住开机的时候,进入引导项,就是,在开机画面中按一下 「ESC 当然,不同的机器可能不一样,试一下就行」
会出现类似下面的画面
一般网上教程是让你按
alt+ctrl+F1~F6
,进入命令行,输入用户名和密码,然后操作。
但是,我这边已经卡死,进也进不了。所以,这个方法放弃。
重启,然后不断的按 esc
或者 del
。会进入一个系统修改,然后上下移一下,退出该画面,会进入类似下面的画面
ps: 很可能你的机器不是这样操作,比如,你的机器可能开机就进入这个画面了,但是,都无所谓,只要能进入这个画面就行。
选择,ubuntu 高级选项
。这个时候可能你有很多个重复选项,我选择的是第一个带有 「recovery mode
」 的选项。
这个时候,会出现下面的画面
这时候重点说一下这些选项代表什么意思。
Resume normal boot
- 继续正常启动,是给不小心进入这个页面的人的选择。
Recovery Mode:Clean
- 允许你快速释放系统分区上的空间。
Recovery Mode:Dpkg
- 允许修复和卸载导致系统出现问题的任何可能损坏的软件包。
- 注意:此功能需要互联网连接,在恢复模式列表中选择
Network
以在尝试使用之前联机。
Recovery Mode:Fsck
- 可以通过扫描损坏的硬盘并删除它们来快速修复损坏的硬盘,此功能非常有用。
Recovery Mode:Grub
- 重新设置Grub系统来扫描你的系统并自动更新引导加载程序。
Recovery Mode:Root
- 无需使用密码。进入命令行
所以,我首先应该排除的是是不是空间已经满了。
选择 Recovery Mode:Root
然后输入
df -h
发现,空间还剩下很多,所以,不是磁盘原因。这里猜测,可能是某一次更新软件导致软件更新不对,出现错误。「这个时候,已经猜到是 MySQL 了,因为,在关机的时候,总是卡在 MySQL」。
所以,我还运行了
Recovery Mode:Fsck
Recovery Mode:Grub
但是,都不奏效,我接着运行了
Recovery Mode:Dpkg
因为,这个机器本来就是联网的,所以,我不需要配置 network ,进行了很多更新,尤其是 mysql ,还让我手动选择更新,更新完成后,就可以正确的打开机器了。
ps: 整个过程没有上面描述的富有逻辑,事实上,我第一次使用 Recovery Mode:Dpkg 更新了软件,开机并不奏效,所以,我重启后,依次执行了
Recovery Mode:Fsck
Recovery Mode:Grub
然后执行
Recovery Mode:Dpkg
才奏效,所以,整个过程需要多进行测试。