遇到这种情况先别急着重装,多半是某处配置或状态没对上,按下面的顺序查一般十分钟内能看出方向。 手工给一块数据盘加了 fstab 条目,reboot 之后停在 emergency mode,控制台提示挂载 /data 失败,输密码进 shell 后分区还是只读的。
改动前把原配置备份一份,出问题能马上回滚,这一步比任何技巧都实用。
先分清是哪一类原因
- UUID 抄错了一位,系统根本找不到对应设备
- 没有写 nofail,挂载失败直接阻断了整个启动流程
- 云盘在 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 稳得多。 涉及改配置的操作,改完记得做一次完整的回归,别只看当前这个报错有没有消失。