CentOS救援模式是一种在系统无法正常启动时用于修复和恢复系统的紧急操作模式,以下是对CentOS救援的详细介绍:
当CentOS系统崩溃无法正常启动时,通常需要进入救援模式进行恢复,CentOS救援模式分为自带救援模式和第三方系统救援模式两种。
进入救援模式
1、自带救援模式
步骤
通过外接设备(如KVM/显示器键盘)或VNC连接到主机。
开机启动,在出现内核选项时按下 E 键进入编辑模式。
CentOS 7找到以linux16开头的行并在行尾添加内核参数rd.break,CentOS 8找到以linux开头的行并添加rd.break。
按下Ctrl+X进入单用户模式。
挂载并更改根目录,命令如下:mount –o remount,rw /sysroot
和chroot /sysroot
。
2、第三方系统救援模式
步骤
通过外接设备(如KVM/显示器键盘)或VNC连接到主机。
插入包含CentOS系统的光盘或U盘。
开机启动,按下F12选择从光盘或U盘启动。
启动后选择Troubleshooting,Rescue a CentOS system。
更改根目录,命令如下:chroot /mnt/sysimage
。
救援模式常用操作
1、更改root密码
步骤
进入自带救援模式。
修改Root密码,命令如下:passwd root
。
创建文件以使SELinux生效,命令如下:touch /.autorelabel
。
退出并重启系统,命令如下:exit
和reboot
。
2、修复启动失败
步骤
进入自带救援模式。
查看系统启动日志,找到具体的启动失败原因,命令如下:journalctl xb
。
如果是因为挂载问题导致的启动失败,可以在/etc/fstab中注释掉相关目录的挂载,然后重启主机。
3、修复GRUB
步骤
进入第三方系统救援模式。
修复GRUB,命令如下:
```bash
rm /boot/grub* rf
ls /boot
mkdir /boot/grub2
grub2mkconfig o /boot/grub2/grub.cfg
grub2install /dev/sda
exit
reboot
```。
4、修复/boot
步骤
进入第三方系统救援模式。
修复/boot,命令如下:
```bash
ls /boot
mount /dev/sr0 /mnt
rpm ivh /mnt/Packages/kernel3.10.0693.el7.x86_64.rpm.rpm force
ls /boot
grub2install /dev/sda
grub2mkconfig o /boot/grub2/grub.cfg
exit
reboot
```。
救援模式与紧急模式的区别
救援模式(Rescue Mode):也称作单用户模式,主要用于修复系统问题,在这种模式下,系统会尝试挂载所有的文件系统,启动网络服务,让你有机会对系统进行彻底的维护,你可以更改系统文件,修复系统问题(比如重设root密码,修复GRUB启动器问题等),这是一个维护和修复系统问题的模式。
紧急模式(Emergency Mode):这是最低级别的启动模式,只会提供最少的系统功能(仅启动根文件系统,这个文件系统默认会以只读方式进行挂载),不会启动网络连接,不会尝试挂载其他文件系统,这种模式主要用于在无法进入Rescue模式时进行最低级别的系统问题排查。
FAQs
1、如何忘记或破解root密码?
解答:可以通过进入救援模式来重置root密码,具体步骤如下:
开机启动,在出现内核选项时按"E"键进入编辑模式。
找到linux16行并在行尾添加内核参数rd.break。
按Ctrl+X进入单用户模式。
挂载并更改根目录,命令如下:mount –o remount,rw /sysroot
和chroot /sysroot
。
修改root密码,命令如下:passwd root
。
创建文件以使SELinux生效,命令如下:touch /.autorelabel
。
退出并重启系统,命令如下:exit
和reboot
。
2、如何修复GRUB损坏的问题?
解答:可以通过进入第三方系统救援模式来修复GRUB,具体步骤如下:
插入包含CentOS系统的光盘或U盘。
开机启动,按下F12选择从光盘或U盘启动。
启动后选择Troubleshooting,Rescue a CentOS system。
更改根目录,命令如下:chroot /mnt/sysimage
。
修复GRUB,命令如下:
```bash
rm /boot/grub* rf
ls /boot
mkdir /boot/grub2
grub2mkconfig o /boot/grub2/grub.cfg
grub2install /dev/sda
exit
reboot
```。