救援环境
在根文件系统无法使用时需要进入救援环境,如/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
时间: 2024-10-19 22:06:57