遇到这种情况先别急着重装,多半是某处配置或状态没对上,按下面的顺序查一般十分钟内能看出方向。 手工给一块数据盘加了 fstab 条目,reboot 之后停在 emergency mode,控制台提示挂载 /data 失败,输密码进 shell 后分区还是只读的。

改动前把原配置备份一份,出问题能马上回滚,这一步比任何技巧都实用。

先分清是哪一类原因

  1. UUID 抄错了一位,系统根本找不到对应设备
  2. 没有写 nofail,挂载失败直接阻断了整个启动流程
  3. 云盘在 mount 之前还没就绪,挂载依赖的顺序没有安排

按顺序处理

1. 查具体是哪个挂载项失败

journalctl -xb | grep -A3 'Failed to mount'

2. 把根分区重新挂成可写

mount -o remount,rw /

3. 注释掉出问题的那一行

sed -i 's|^UUID=.*/data|#&|' /etc/fstab

4. 给数据盘补上 nofail 再重启

systemctl reboot

怎么确认已经恢复

系统正常启动,mount -a 执行无报错,df 里数据盘按预期挂载并且可以正常读写。

容易忽略的地方

非根分区务必加 nofail;云主机换盘之后设备名会变,用 UUID 或者 LABEL 比直接写 /dev/vdb1 稳得多。 涉及改配置的操作,改完记得做一次完整的回归,别只看当前这个报错有没有消失。

作者 9823189