在一次正常的shutdown -r now之后,服务器启动不起来了,登录界面显示recovering journal
,主要报错信息如下所示:
python
/dev/sda2:recovering journal
/dev/sda2:Clearn...
You are in emergency mode. After logging in, type 'journalctl -xb' to view system logs ...
报这个错误多数情况下是因为/etc/fstab文件的错误。注意一下是不是加载了外部硬盘、存储器或者是网络共享空间,在重启时没有加载上导致的。
接下来的操作方式有两种,图形界面法和命令行法。
1、图形界面法
(1)重启机器,待出现机器品牌(这里是DELL)图标时,快速按ESC
键,直至进入GRUB界面,如下所示:
(2)选择*Ubuntu 高级选项
,选择recovery mode
的内核版本,按Enter
键进入。
(3)进入Recovery Menu
,选择fsck
选项。
fsck
选项会检查所有的磁盘,并修复存在问题的磁盘。
这里,左侧如果出现root ...Control -D
界面,输入root账户的密码即可。
【注意】:
- 有的同学选择
resume
选项后,再次重启机器也能恢复正常。 network
选项用于联网,如果机器断网的情况下,需要先选择此选项。system-summary
选项用于查看系统的一些统计信息,如磁盘使用情况等,需要的时候也可以进入查看。
比较悲催的是,这里我的机器无法利用上下键选择相应的选项,按Enter键甚至出现了奇奇怪怪的乱码 o(╥﹏╥)o
a)于是,需要先回到步骤(2)中的recovery mode
的内核版本界面,按E
键进入编辑模式。进入后可以看到如下界面:
b)将 ro recovery nomodeset
改为 rw single init=/bin/bash
c)再按F10 进入单用户模式,这时候可以修改文件,修改完毕后重启再进入步骤(3)中的Recovery Menu
,选择fsck
选项修复即可。
2、命令行法
(1)命令行输入journalctl -xb
查看系统日志
python
journalctl -xb
匹配failed关键字查看错误信息:
python
/ failed
查看到哪些磁盘发生了failed事件,然后:q
退出日志界面。
(2)输入命令vi /etc/fstab
,查看磁盘基本信息:
python
vi /etc/fstab
磁盘信息如下所示:
确认好发生错误的磁盘名称,输入:q
退出磁盘信息界面。
(3)使用fsck
命令修复磁盘。
这里如果担心解除挂载可能出现问题,可以先跳过umount命令,直接执行fsck操作。
python
umount /dev/sdb1 # 解除挂载,这里可以先跳过
fsck -y /dev/sdb1 # 修复磁盘
(4)再次重启机器即可。