一、什么是救援模式¶
救援模式通常用于系统无法正常登录、需要重置密码、修复系统配置或进行紧急维护的场景。原始笔记把救援模式分成两类:
- 光盘救援模式
- 普通救援模式
二者对比如下:
| 救援模式 | 特点 | 应用场景 |
|---|---|---|
| 光盘救援模式 | 借助安装介质进入系统 | 系统无法正常进入时,作为最后手段 |
| 普通救援模式 | 通过引导参数进入系统 | 重置密码等常见维护操作 |
二、光盘救援模式¶
当系统已经无法正常进入,或者常规启动链路无法继续时,可以借助光盘或 U 盘安装介质进入救援环境。
2.1 进入步骤¶
1、重启系统,并让系统从光盘或 U 盘启动。
2、在 VMware Logo 页面按一次 Esc,弹出启动菜单后选择 CD-ROM Drive。

3、进入安装界面后,选择 Troubleshooting。

4、再选择 Rescue a CentOS system,进入光盘救援模式。

5、等待系统给出选项后,输入 1 选择第一个选项。

6、按回车后,执行:
$ chroot /mnt/sysimage

完成这一步后,就相当于切换到了原系统环境,可以继续做密码重置、文件修复等操作。
三、普通救援模式(单用户模式)¶
普通救援模式更常用于重置 root 密码等常规应急场景,不需要额外的安装介质。
3.1 进入步骤¶
1、开机进入引导界面后,按 e 编辑启动项。

2、向下找到 rhgb quiet,把它修改为 rd.break,然后按 Ctrl + X 启动。

进入后会停在 switch_root 环境。
3.2 挂载系统并切换根目录¶
在 switch_root 界面执行下面的命令,把系统根分区重新挂载为可写:
$ mount -o remount,rw /sysroot
然后切换到原系统根目录:
$ chroot /sysroot/
3.3 重置密码¶
执行 passwd 重置密码:
$ passwd

3.4 修复 SELinux 上下文¶
原始笔记特别强调:在 rd.break 方式下修改密码时,相关文件可能会带着不正确的 SELinux 上下文,因此需要创建 /.autorelabel 文件,让系统在下次启动时自动重新标记。
$ touch /.autorelabel
这样系统下次启动时,SELinux 子系统会检测到这个文件,并重新为系统文件打上正确的安全上下文。
3.5 退出并重启¶
先在 sh-4.2 环境执行:
$ exit

回到 switch_root 后再次执行:
$ exit
系统随后会继续重启流程。

四、救援模式使用建议¶
在实际操作中,可以按下面的思路选择方案:
- 只是忘记密码,系统本身还能引导:优先使用普通救援模式。
- 系统启动链路损坏或根本进不去:优先考虑光盘救援模式。
- 修改密码后如果系统启用了 SELinux:不要忘记执行
touch /.autorelabel。 - 在生产环境操作前,尽量先确认磁盘、分区和根目录挂载是否正确,避免误操作。
五、小结¶
救援模式的本质,是在系统无法按正常路径登录时,为管理员保留一条“绕过常规入口、直接修复系统”的通道。掌握光盘救援与单用户模式后,处理忘记 root 密码和启动异常会更有把握。