紧急模式下根分区默认只读,需用mount -o remount,rw /(Ubuntu/Debian)或mount -o remount,rw /sysroot(RHEL/CentOS)切换为读写,并验证后chroot操作。

在紧急维护模式下,Linux 的根分区默认以只读(ro)方式挂载,这是系统保护机制,防止误操作损坏关键文件。要修改 /etc、重置密码或修复配置,必须先将其切换为读写(rw)状态。核心操作就是用 mount -o remount,rw,但需注意前提和细节。
确认当前挂载状态
进入紧急模式后,先运行以下命令查看根分区是否真的只读:
-
mount | grep "on / "或findmnt / - 检查输出中第4列(options)是否含
ro;若显示rw则无需操作 - 特别注意:紧急模式下实际根路径常为
/sysroot(如 RHEL/CentOS 系统),不是直接的/
区分目标路径:/ 还是 /sysroot?
不同发行版行为不同,不能一概而论:
- 使用
rd.break进入的 initramfs 环境(如 CentOS/RHEL):真实根文件系统挂载在/sysroot,应执行mount -o remount,rw /sysroot - 使用
emergency.target启动的 systemd 紧急模式(如 Ubuntu/Debian):根目录通常已挂载在/,直接运行mount -o remount,rw / - 不确定时可查
ls /sysroot是否存在完整系统目录结构(如/sysroot/etc),有则优先操作/sysroot
执行重挂载并验证
确保你有 root 权限(紧急模式下通常已具备),然后运行对应命令:
-
mount -o remount,rw /sysroot(RHEL系) -
mount -o remount,rw /(Ubuntu/Debian 或传统单用户模式) - 成功后立即验证:
touch /sysroot/test && rm /sysroot/test或touch /test && rm /test - 若报 Read-only file system,常见原因包括:文件系统已损坏、磁盘 I/O 故障、内核强制只读(如某些嵌入式固件)、或未真正进入可写环境(比如还在 initramfs 阶段但没 chroot)
后续关键步骤不能跳过
仅切换读写权限还不够,很多操作需要访问真实根环境:
- 对
/sysroot操作后,需执行chroot /sysroot才能使用系统原生命令(如passwd) - 修改
/etc/fstab后,建议运行systemctl daemon-reload让 systemd 重新读取配置 - 若涉及 SELinux(如 RHEL),修改关键文件后需打标:
touch /.autorelabel,下次启动自动重标记 - 完成维护后,用
exec bash或exit退出 chroot,再exit继续启动流程


















