救援和修复

救援环境

	在根文件系统无法使用时需要进入救援环境,如/bin/mount 被删除等情况下。
	对系统没有特殊要求
	从光盘引导(boot.iso 或者安装光盘#1)
	从USB 盘(由boot.iso 制作)引导
	文件系统重组
		Anaconda 将会询问是否应该挂载文件系统
		/mnt/sysimage/*
		/mnt/stage2
		$PATH 包括硬盘的目录
	文件系统节点
		提供系统特定的设备文件
		mknod 了解major/minor

系统配置文件丢失修复

	系统在引导期间,很重要的一个过程就是init 进程读取其配置文件/etc/inittab,启动系统基本服务程序及默认运行级别的服务程序完成系统引导。
	如果/etc/inittab 误删除或修改错误,Linux将无法正常启动。此时,只有通过救援模式才可以解决此类问题。
	修复方法:
		有备份文件的修复方法
		没有备份文件的修复办法

	有备份文件的恢复办法:
		进入救援模式,执行chroot命令后,如果有此文件的备份(强烈建议系统中的重要数据目录,如/etc 、/boot 等要进行备份),直接将备份文件拷贝回去,退出重启即可。如果是配置文件修改错误,如比较典型的/boot/grub/grub.conf 及/etc/passwd 的文件修改错误,也可以直接修正恢复。
		假设有备份文件/etc/inittab.bak ,则在救援模式下执行:
			sh-3.1# chroot /mnt/sysimage
			sh-3.1# cp /etc/inittab.bak /etc/inittab
			
	没有备份文件的恢复办法
		如果一些配置文件丢失或软件误删除,且无备份,可以通过重新安装软件包来恢复,首先查找到/etc/inittab 属于哪一个RPM包。
			chroot /mnt/sysimage
			rpm -qf /etc/inittab
			initscripts-9.03.49-1.el6.centos.x86_64
			exit 退出chroot 模式
		挂载存放RPM包的安装光盘(在救援模式下,光盘通常挂载在/mnt/source 目录下 )
			mount /dev/sr0 /mnt/source
			
		CentOS6 系统的RPM 包存放在光盘Package目录下,要修复的硬盘系统的根目录在/mnt/sysimage 下,需要使用--root 选项指定其位置。
		覆盖安装/etc/inittab 文件所在的RPM 包:
			rpm -ivh --replacepkgs | force /mnt/source/Packages/initscripts-9.03.49-1.el6.centos.x86_64.rpm
			其中的rpm 命令选项“--replacepkgs”表示覆盖安装,执行完成后,即已经恢复了此文件
			
		如果想只提取RPM 包中的/etc/inittab文件进行恢复,可以在进入救援模式后,执行命令 :
			rpm2cpio /mnt/source/Packages/initscripts-9.03.49-1.el6.centos.x86_64.rpm| cpio -idv ./etc/inittab
			cp etc/inittab /mnt/sysimage/etc
			注意此命令执行时不能将文件直接恢复至/etc目录,只能提取到当前目录下,且恢复的文件名称所在路径要写完整 的路径 。
			提取文件成功后,将其复制到根分区所在的/mnt/sysimage 目录下相应位置即可
原文地址:https://www.cnblogs.com/shenxm/p/8447758.html