一个计算机技术爱好者与学习者

0%

好好学Linux:CentOS救援模式使用说明

1. 前言

当CentOS系统崩溃无法正常启动时,往往需要进入救援模式进行恢复。
本文中,我们学习一下CentOS救援模式的使用方法。

参考文档:

2. 进入救援模式

2.1. 自带救援模式

通过外接设备(KVM/显示器键盘)或者VNC连接到主机。

1、开机启动,在出现内核选项时按下 e 进入编辑

2、添加内核参数
centos7找到 linux16 开头的行并在行尾添加内核参数 rd.break
centos8找到 linux 开头的行并在行尾添加内核参数 rd.break

3、并按 ctrl+x 进入单用户模式

4、挂载并更改根目录

1
2
mount –o remount,rw /sysroot 
chroot /sysroot

2.2. 第三方系统救援模式

通过外接设备(KVM/显示器键盘)或者VNC连接到主机。

1、插入包含CentOS系统的光盘或者U盘

2、开机启动,按下F12,选择从光盘或者U盘启动

3、启动后选择 Troubleshooting,Rescue a CentOS system

3. 救援模式常用操作

3.1. 更改root密码

如果root密码丢失,主机刚好启动失败,这时候就必须通过救援模式修改root密码了。

1、进入自带救援模式

2、操作修改root密码

1
2
3
4
passwd root
touch /.autorelabel
exit
reboot

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、更改根目录

1
2
3
4
5
6
7
8
chroot /mnt/sysimage
rm /boot/grub* -rf
ls /boot
mkdir /boot/grub2
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda
exit
reboot

3.4. 修复/boot

问题原因:rm /boot/* -rf
问题表现:启动时出现报错 error: file ‘/grub2/i386-pc/normal.mod’ not found.

1、进入第三方系统救援模式

2、更改根目录

1
2
3
4
5
6
7
8
9
chroot /mnt/sysimage
ls /boot
mount /dev/sr0 /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-693.e17.x86_64.rpm.rpm --force
ls /boot
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
reboot

4. 救援模式与紧急模式

救援模式(Rescue Mode):也称作单用户模式,主要用于修复系统问题。在这种模式下,系统会尝试挂载所有的文件系统,启动网络服务,让你有机会对系统进行彻底的维护。你可以更改系统文件,修复系统问题(比如重设root密码,修复GRUB启动器问题等)。这是一个维护和修复系统问题的模式。

紧急模式(Emergency Mode):这是最低级别的启动模式,只会提供最少的系统功能(仅启动根文件系统,这个文件系统默认会以只读方式进行挂载),不会启动网络连接,不会尝试挂载其他文件系统。这种模式主要用于在无法进入 Rescue 模式时进行最低级别的系统问题排查。