CentOS 救援模式
CentOS救援模式是一种特殊的系统启动方式,用于在系统无法正常启动时进行故障排除和修复,该模式提供了最小化的系统环境,允许用户以root权限登录并进行一系列诊断和修复操作,而无需完全启动整个操作系统。
进入救援模式的方法
1、自带救援模式:
通过外接设备(如KVM/显示器键盘)或VNC连接到主机。
开机启动时,在出现内核选项时按下“E”键进入编辑模式。
对于CentOS 7,找到以linux16开头的行并在行尾添加内核参数rd.break;对于CentOS 8,找到以linux开头的行并添加相同的内核参数。
按下Ctrl+X进入单用户模式。
挂载并更改根目录,执行命令:mount –o remount,rw /sysroot
和chroot /sysroot
。
2、第三方系统救援模式:
插入包含CentOS系统的光盘或U盘。
开机启动时按下F12(或其他指定键)选择从光盘或U盘启动。
启动后选择“Troubleshooting” > “Rescue a CentOS system”。
更改根目录,执行命令:chroot /mnt/sysimage
。
救援模式下的常用操作
1、更改root密码:
进入救援模式后,使用passwd root
命令重置root密码。
如果需要,还可以直接修改/mnt/sysroot/etc/passwd
文件中的root条目来移除密码保护。
2、修复启动失败:
查看系统启动日志,使用journalctl xb
命令找出具体的启动失败原因。
根据日志中的信息进行相应的修复操作,如注释掉导致启动问题的挂载项等。
3、修复GRUB:
如果GRUB损坏,可以手动删除/boot/grub
目录下的所有文件,然后重新安装GRUB。
执行命令:grub2mkconfig o /boot/grub2/grub.cfg
和grub2install /dev/sda
。
4、修复/boot目录:
boot目录下的文件丢失,可以通过救援模式重新安装内核和GRUB来修复。
执行命令:rpm ivh /mnt/Packages/kernel*.rpm force
、ls /boot
、grub2install /dev/sda
和grub2mkconfig o /boot/grub2/grub.cfg
。
5、修复文件系统:
对于非根文件系统,可以直接进行检查和修复操作。
对于根文件系统,如果无法卸载,则需要进入救援模式来进行修复。
救援模式与紧急模式的区别
救援模式(Rescue Mode):也称作单用户模式,主要用于修复系统问题,在这种模式下,系统会尝试挂载所有的文件系统,启动网络服务,让你有机会对系统进行彻底的维护,你可以更改系统文件,修复系统问题(比如重设root密码,修复GRUB启动器问题等),这是一个维护和修复系统问题的模式。
紧急模式(Emergency Mode):这是最低级别的启动模式,只会提供最少的系统功能(仅启动根文件系统,这个文件系统默认会以只读方式进行挂载),不会启动网络连接,不会尝试挂载其他文件系统,这种模式主要用于在无法进入救援模式时进行最低级别的系统问题排查。
FAQs
问题1:如何确认哪个文件系统损坏了?
答:你可以通过检查系统日志或使用文件系统检查命令来确认哪个文件系统损坏了,对于ext文件系统,可以使用tune2fs l /dev/sdb1 | more
查看文件系统状态;对于xfs文件系统,可以使用xfs_ncheck /dev/sdb1;echo $?
来检查错误。
问题2:在救援模式下如何设置IP地址以便传输文件?
答:在救援模式下,你可以通过修改网络配置文件或使用命令行工具来设置IP地址,具体步骤如下:
编辑/etc/sysconfig/networkscripts/ifcfgeth0
文件(假设使用的是eth0接口),设置合适的IP地址、子网掩码和网关等信息。
重启网络服务或使用命令service network restart
使配置生效。
现在你应该能够通过网络传输文件了,如果遇到问题,请检查防火墙设置是否允许相关端口的通信。