1. 前言
当CentOS系统崩溃无法正常启动时,往往需要进入救援模式进行恢复。
本文中,我们学习一下CentOS救援模式的使用方法。
参考文档:
2. 进入救援模式
2.1. 自带救援模式
通过外接设备(KVM/显示器键盘)或者VNC连接到主机。
1、开机启动,在出现内核选项时按下 E
进入编辑
2、添加内核参数
centos7找到 linux16
开头的行并在行尾添加内核参数 rd.break
centos8找到 linux
开头的行并在行尾添加内核参数 rd.break
3、按下 Ctrl+X
进入单用户模式
4、挂载并更改根目录
1 | mount –o remount,rw /sysroot |
2.2. 第三方系统救援模式
通过外接设备(KVM/显示器键盘)或者VNC连接到主机。
1、插入包含CentOS系统的光盘或者U盘
2、开机启动,按下F12,选择从光盘或者U盘启动
3、启动后选择 Troubleshooting,Rescue a CentOS system
4、更改根目录
1 | chroot /mnt/sysimage |
3. 救援模式常用操作
3.1. 更改root密码
1、进入自带救援模式
2、操作修改root密码
1 | passwd root |
3.2. 修复启动失败
1、进入自带救援模式
2、查看系统启动日志,找到具体的启动失败的原因
1 | journalctl -xb |
断电后的启动失败,极大概率是因为挂载问题。
例如,如果提示时因为 /data
目录的挂载问题,那么就在 /etc/fstab
中注释掉 /data
目录的挂载。
然后重启主机即可 reboot
3.3. 修复grub
问题原因:rm /boot/grub* -rf
问题表现:启动时出现报错 error: file ‘/grub2/i386-pc/normal.mod’ not found.
1、进入第三方系统救援模式
2、修复grub
1 | rm /boot/grub* -rf |
3.4. 修复/boot
问题原因:rm /boot/* -rf
问题表现:启动时出现报错 error: file ‘/grub2/i386-pc/normal.mod’ not found.
1、进入第三方系统救援模式
2、修复/boot
1 | ls /boot |
4. 救援模式与紧急模式
救援模式(Rescue Mode):也称作单用户模式,主要用于修复系统问题。在这种模式下,系统会尝试挂载所有的文件系统,启动网络服务,让你有机会对系统进行彻底的维护。你可以更改系统文件,修复系统问题(比如重设root密码,修复GRUB启动器问题等)。这是一个维护和修复系统问题的模式。
紧急模式(Emergency Mode):这是最低级别的启动模式,只会提供最少的系统功能(仅启动根文件系统,这个文件系统默认会以只读方式进行挂载),不会启动网络连接,不会尝试挂载其他文件系统。这种模式主要用于在无法进入 Rescue 模式时进行最低级别的系统问题排查。