故障描述
操作系统Ubuntu(18.04以下版本)
启动时根据如图1所示的提示语“keys:Press S to skip mounting or M for manual recovery”,输入S直接跳过挂载故障进入弹性云主机登录系统页面,输入M进入如图2所示的紧急模式登录页面,并提示输入root密码进行维护。
操作系统Centos、OpenEuler、CTyunOS2、CTyunOS3、Ubuntu(18.04及以上版本)等
启动时进入紧急模式,提示语为“You are in emergency mode”,如图3所示,并提示输入root密码进入维护。
故障原因
紧急模式提供尽可能最小的环境,即使在系统无法进入救援模式的情况下,您也可以修复系统。在紧急模式下,系统仅安装根文件系统进行读取,不尝试安装任何其他本地文件系统,不激活网络接口,只启动一些基本服务。
进入紧急模式的原因通常是:
- /etc/fstab文件存在错误导致挂载文件系统时失败。
- 文件系统存在错误导致。
故障排查思路
-
输入root密码后回车,进入紧急模式。
-
请执行以下命令首先检查fstab文件是否存在错误,尝试挂载所有未挂载的文件系统。
# mount -a
a. 如果出现如下图所示的文件系统设备不存在,请注释或删除该挂载行。
b. 如果出现如下图所示的挂载点不存在,请创建对应的挂载点。
c. 如果出现如下图所示的挂载参数错误,请修改为正确的参数。
d. 如果出现如下图所示的文件系统错误,请修复该文件系统。
解决步骤
-
出现故障排查思路里的a、b、c现象时:请执行以下命令,打开/etc/fstab修改相应的错误。
# vi /etc/fstab
/etc/fstab文件包含了如下字段,通过空格分隔:
[file system] [dir] [type] [options] [dump] [fsck]b
表1 /etc/fstab参数说明
参数 | 说明 |
---|---|
[file system] | 要挂载的分区或存储设备。 [file system]列建议使用UUID的方式书写,执行blkid命令查询设备文件系统UUID。 参考格式如下: # UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4 defaults 0 2 使用UUID的好处在于它们与磁盘顺序无关。如果你在BIOS中改变了你的存储设备顺序,或是重新拔插了存储设备,或是因为一些BIOS可能会随机地改变存储设备的顺序,那么用UUID来表示将更有效。 |
[dir] | [file systems]的挂载位置。 |
[type] | 挂载设备或分区的文件系统类型,支持许多种不同的文件系统:ext2,ext3,ext4,reiserfs,xfs,jfs,smbfs,iso9660,vfat,ntfs,swap及auto。 设置成auto类型,mount命令会猜测使用的文件系统类型,对CDROM和DVD等移动设备是非常有用的。 |
[options] | 挂载时使用的参数,有些参数是特定文件系统才有的。例如:defaults参数使用文件系统的默认挂载参数,ext4的默认参数为:rw,suid,dev,exec,auto,nouser,async。 更多参数请执行以下命令查看man手册:# man mount |
[dump] | dump工具通过它决定何时作备份。dump会检查其内容,并用数字来决定是否对这个文件系统进行备份。 取值为0和1。0表示忽略,1则进行备份。大部分的用户是没有安装dump的,[dump]应设为0。 |
[fsck] | fsck读取[fsck]的数值来决定需要检查的文件系统的检查顺序。 取值为0,1,和2。 根目录应当获得最高的优先权1,其它所有需要被检查的设备设置为2,0表示设备不会被fsck所检查。 |
修改完成后,确认修改是否正确,再次执行以下命令检查fstab文件。
重启弹性云主机即可恢复正常。
-
出现故障排查思路里的d现象时
ext文件系统 :
请执行以下命令,检查有问题的文件系统。
执行以下命令,修复已损坏的文件系统。
xfs文件系统:
请执行以下命令,检查有问题的文件系统。
执行以下命令,修复已损坏的文件系统。# xfs_repair 文件系统
根据打印消息“ERROR:”,修复失败时:
执行 # xfs_repair -L 文件系统,即xfs_repair -L /dev/vdc。
注:-L是修复xfs文件系统的最后手段,慎重选择,因为会清空日志,丢失用户数据和文件;另,在执行xfs_repair操作前,最好使用xfs_metadump工具保存元数据,一旦修复失败,可以恢复到修复之前的状态。
再次执行# xfs_repair /dev/vdc。
重启弹性云主机即可恢复正常。