Linux recuse系统修复(救援模式)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择 OK 之后,系统已经全部挂载到了/mnt/sysimage,如果想进去,敲入#chroot /mnt/sysimage,修改根目 录为/mnt/sysimage,使用 ls 命令可以查看原系统里的文件和目录。使用 exit 可以退回 rescue 程序下,再次使用 ls 命令可以比较一下区别。
#rpm -ivh /mnt/source/Server/kernel-2.6.18-164.e15.i686.rpm --root=/mnt/sysimage/ --force (需要修复的三个内核文件在系统盘 server 目录下 kernel-2.6.18.rpm 软件包里,所以要挂载光盘之后并安装 kernel 软件包)
两个 ls 命令注意比较区别
最后只需要 reboot 就可以正常进入到 linux 系统了! ! ! !
OVER!
#vim /boot/grub/grub.conf
手动编辑 grub.conf 配置文件内容如下:
保存退出。 wenku.baidu.com 。 grub 修复完成!
4、修复 /etc/inittab 等文件 #rpm -qf /etc/inittab #rpm -qf /etc/rc.d/rc.sysinit #rpm -qf /etc/rc.d/rc.local 查询包含 inittab 文件的软件包 查询包含 rc.sysinit 文件的软件包 查询包含 rc.local 文件的软件包
#cp /test/etc/fstab.bak /test/etc/fstab #reboot ----重启系统
----还原 fstab 文件
3.修复内核和 grub 重启之后,按 ESC 键选择 CDROM 引导,输入 linux rescue 再次进入到修复模式。 此时再次进入到修复模式时,rescue 程序将会找到 fstab 文件,也就是会找到 linux 分区!并且把损坏的原 linux 系 统挂载到/mnt/sysimage 下。并且 rescue 程序会提示你,可以使用#chroot(change root 修改根目录)修改根目录, 进入到原系统中。如下图所示:
思路 : 恢复 fstab 文件找到分区 修复引导里的内核文件 修复 grub – > 还原 init 相关文件 1.进入修复模式 通过 RHEL5 光盘引导进入安装会话,输入 linux rescue 或按 F5 键进入 rescue 修复模式。
进入修复模式之后,系统会提示选择语言 Language 和键盘类型 Keyboard, 直接回车就行了。 系统会再次询问是否配置网络, 选择 No,因为修复系统不需要用到网络。 。然后会提示如下:
一般把处于 resuce 模式的系统称为伪系统,把#chroot /mnt/sysimage 后看到的称为真正的系统。 接下来要修复内核文件: #exit ---退回到 resecu 模式下 ---挂载光驱 cdrom 到/mnt/source 目录
#mount /dev/hdc /mnt/source
果找到了,就将它挂到/mnt/sysimage 里面,可以读写。选择”OK”确定之后,系统会进入到修复模式的 shell 下。
2.还原 fstab 文件 根据上面步骤得知,rescue 程序无法找到硬盘分区,所以现在要做的事情就是恢复 linux 分区——也就是 fstab 文件 (这个 fstab 文件在删除之前,有做过备份/etc/fstab.bak) 。 #fdisk -l 查看磁盘分区
Rescue 程序将查找当前硬盘上是否有已安装的 linux 系统,如果找到了的话,就自动挂载到/mnt/sysimage 下。 选择”Continue”继续,rescue 程序会搜索硬盘是否存在已安装过的 linux 和硬盘分区,最终结果如下图:
搜索结果显示,找不到 Linux 分区,因为/etc/fstab 文件被删除了,所以导致系统无法读取 Linux 分区,但是如
分区) 接下来,要挂载/根分区,并恢复 fstab 文件。 #mkdir test ---建立一个空目录用于挂载分区 ---挂载包含根分区的 LVM 分区到 test 目录下
#mount -t ext3 /dev/VolGroup00/LogVol00 /test
将系统原来的/根分区挂载到/test 目录之后,就可以还原 fstab.bak 到 fstab 了!
LINUX: recuse 系统修复
实验目的: 使用 linux recuse 模式修复 Linux 系统
实验步骤: 一、人为删除系统关键文件 登陆 linux 系统之后,依次执行以下命令人为破坏当前 linux 系统:
#cd / #umount /boot #rm #rm #rm #rm -rf -rf -rf -rf /boot /etc/inittab /etc/rc.d/rc.sysinit /etc/rc.d/rc.local ---卸载/boot 分区 ---删除/boot 目录(boot 目录下包含所有 GRUB 有关的文件) ---删除 init 表(此文件定义了系统运行级别和脚本) ---删除 init 运行级别脚本文件 ---删除开机脚本文件
经过 rpm – qf 查询命令可得知,要修复的文件都包含在 initscripts-8.45.rpm 这个软件包里面。 下一步,要把文件从这个 RPM 里面分离出来,并还原到/etc 目录下. #exit #cp /mnt/source/Server/initscripts-8.45.30-2.el5.i386.rpm #chroot /mnt/sysimage #cd tmp/ #ls #rpm2cpio initscripts-8.45.30-2.el5.i386.rpm #ls #cd etc/ #ls #cp inittab /etc/ #cp rc.sysinit /etc/rc.d/ #cp rc.local /etc/rc.d/ |cpio -imd 解压软件包到当前目录 /mnt/sysimage/tmp
根据 fdisk – l 输出,得到系统分区有两个/dev/sda1 和/dev/sda2。可使用 e2label 命令查看这两个分区的卷标,
由上图可得知/dev/sda1 是/boot 分区, 而/dev/sda2 无法查看,因为 sda2 是 LVM 分区。 使用命令激活 LVM 分区#lvm vgchange -ay 这个命令的作用就是告诉系统建立相关的 device-mapper, 这样
此时,内核已修复完成! 再继续修复 grub 程序。 。 。 #chroot /mnt/sysimage #grub-install /dev/sda #ls /boot/grub 进入到已损坏的 linux 系统中 安装 grub 程序到/dev/sda 查看 grub 目录下是否存在 grub.conf 文件。如果没有就手动编辑一个。
就可以看到/dev 下建立了/dev/mapper/VGname-LVname 和/dev/VGname/LVname 的设备文件和链接文件.
使用 ls /dev/mapper 命令可以看到 VolGroup00-LogVol00 (就是/根分区) 和 VolGroup00-LogVol01( 就是 swap
#mv /etc/fstab /etc/fstab.bak ---备份系统挂载表 fstab 文件(此文件记录了 linux 分区信息) #sync ---将系统缓冲区的内容写入硬盘(在 Linux 系统中,当数据需要存入磁盘时,通常会先放到缓 冲区内,等到适当的时刻再写入磁盘,如此可提高系统的执行效率) #reboot 经过这一番蹂躏之后,系统肯定是挂了的。 。 。 。 。最后一条 reboot 命令已经无法正常执行了。 。 。手动重启系统也是 无法进入系统了的。 。 。 。 。 。但是,只要根分区没有被格式化,就可以进入 linux 修复模式恢复该 linux 系统。 二、修复 linux 系统