Redhat Linux 系统修复教程
实验目的:
使用linux recuse模式修复Linux系统
实验步骤:
一、人为删除系统关键文件
登陆linux系统之后,依次执行以下命令人为破坏当前linux系统:
进入修复模式之后,系统会提示选择语言Language和键盘类型Keyboard,直接回车就行了。
系统会再次询问是否配置网络,选择No,因为修复系统不需要用到网络。。然后会提示如下:
搜索结果显示,找不到Linux分区,因为/etc/fstab文件被删除了,所以导致系统无法读取Linux分区,但是如果找到了,就将它挂到/mnt/sysimage里面,可以读写。选择”OK”确定之后,系统会进入到修复模式的shell下。
根据fdisk –l输出,得到系统分区有两个/dev/sda1和/dev/sda2。可使用e2label命令查看这两个分区的卷标,
使用ls /dev/mapper命令可以看到VolGroup00-LogVol00(就是/根分区)和VolGroup00-LogVol01(就是swap分区)
接下来,要挂载/根分区,并恢复fstab文件。
#mkdir test ---建立一个空目录用于挂载分区
#mount -t ext3 /dev/VolGroup00/LogVol00 /test ---挂载包含根分区的LVM分区到test目录下
#cp /test/etc/fstab.bak /test/etc/fstab----还原fstab文件
#reboot ----重启系统
3.修复内核和grub
重启之后,按ESC键选择CDROM引导,输入linux rescue再次进入到修复模式。
此时再次进入到修复模式时,rescue程序将会找到fstab文件,也就是会找到linux分区!并且把损坏的原linux系统挂载到/mnt/sysimage下。并且rescue程序会提示你,可以使用#chroot(changeroot修改根目录)修改根目录,进入到原系统中。如下图所示:
一般把处于resuce模式的系统称为伪系统,把#chroot/mnt/sysimage后看到的称为真正的系统。
接下来要修复内核文件:
#exit ---退回到resecu模式下
#mount /dev/hdc /mnt/source ---挂载光驱cdrom到/mnt/source目录
#rpm -ivh /mnt/source/Server/kernel-2.6.18-164.e15.i686.rpm--root=/mnt/sysimage/ --force
(需要修复的三个内核文件在系统盘server目录下kernel-2.6.18.rpm软件包里,所以要挂载光盘之后并安装kernel软件包)
手动编辑grub.conf配置文件内容如下:
经过rpm –qf查询命令可得知,要修复的文件都包含在initscripts-8.45.rpm这个软件包里面。
下一步,要把文件从这个RPM里面分离出来,并还原到/etc目录下.
#exit
#cp /mnt/source/Server/initscripts-8.45.30-2.el5.i386.rpm /mnt/sysimage/tmp
#chroot /mnt/sysimage
#cd tmp/
#ls
#rpm2cpio initscripts-8.45.30-2.el5.i386.rpm |cpio -imd解压软件包到当前目录
#ls 两个ls命令注意比较区别
#cd etc/
#ls
#cp inittab /etc/
#cp rc.sysinit /etc/rc.d/
#cp rc.local /etc/rc.d/
最后只需要reboot就可以正常进入到linux系统了!!!! OVER!