LAB : Linux系统修复
实验目的:
使用linux recuse怎么将linux系统改成中文模式修复Linux系统
实验步骤:
一、人为删除系统关键文件
登陆linux系统之后,依次执行以下命令人为破坏当前linux系统:
#cd /
#umount /boot ---卸载/boot分区
#rm -rf /boot ---删除/boot目录(boot目录下包含所有GRUB有关的文件)
#rm -rf /etc/inittab ---删除init表(此文件定义了系统运行级别和脚本)
#rm -rf /etc/rc.d/rc.sysinit ---删除init运行级别脚本文件
#rm -rf /etc/rc.d/rc.local ---删除开机脚本文件
#mv /etc/fstab /etc/fstab.bak ---备份系统挂载表fstab文件(此文件记录了linux分区信息)
#sync ---将系统缓冲区的内容写入硬盘(在Linux系统中,当数据需要存入磁盘时,通常会先放到缓冲区内,等到适当的时刻再写入磁盘,如此可提高系统的执行效率)
#reboot
经过这一番蹂躏之后,系统肯定是挂了的。。。。。最后一条reboot命令已经无法正常
执行了。。。手动重启系统也是无法进入系统了的。。。。。。但是,只要根分区没有被格式化,就可以进入linux修复模式恢复该linux系统。
二、修复linux系统
思路: 恢复fstab文件到分区 修复引导里的内核文件 修复grub –> 还原init相关文件
1.进入修复模式
通过RHEL5光盘引导进入安装会话,输入linux rescue或按F5键进入rescue修复模式。
进入修复模式之后,系统会提示选择语言Language和键盘类型Keyboard, 直接回车就行了。
系统会再次询问是否配置网络, 选择No,因为修复系统不需要用到网络。。然后会提示如下:
Rescue程序将查当前硬盘上是否有已安装的linux系统,如果到了的话,就自动挂载到/mnt/sysimage下。选择”Continue”继续,rescue程序会搜索硬盘是否存在已安装过的linux和硬盘分区,最终结果如下图:
搜索结果显示,不到Linux分区,因为/etc/fstab文件被删除了,所以导致系统无法读取Linux分区,但是如果到了,就将它挂到/mnt/sysimage里面,可以读写。选择”OK”确定之后,系统会进入到修复模式的shell下。
2.还原fstab文件
根据上面步骤得知,rescue程序无法到硬盘分区,所以现在要做的事情就是恢复linux分区——也就是fstab文件 (这个fstab文件在删除之前,有做过备份/etc/fstab.bak)。
#fdisk -l 查看磁盘分区
根据fdisk –l输出,得到系统分区有两个/dev/sda1和/dev/sda2。可使用e2label命令查看这两个分区的卷标,
由上图可得知/dev/sda1是/boot分区, 而/dev/sda2无法查看,因为sda2是LVM分区。
使用命令激活LVM分区#lvm vgchange -ay 这个命令的作用就是告诉系统建立相关的device-mapper,这样就可以看到/dev下建立了/dev/mapper/VGname-LVname和/dev/VGname/LVname的设备文件和链接文件.
使用ls /dev/mapper命令可以看到VolGroup00-LogVol00(就是/根分区)和VolGroup00-LogVol01(就是swap分区)
接下来,要挂载/根分区,并恢复fstab文件。
#mkdir test ---建立一个空目录用于挂载分区
#mount -t ext3 /dev/VolGroup00/LogVol00 /test ---挂载包含根分区的LVM分区到test目录下
将系统原来的/根分区挂载到/test目录之后,就可以还原fstab.bak到fstab了!
#cp /test/etc/fstab.bak /test/etc/fstab ----还原fstab文件
#reboot ----重启系统
3.修复内核和grub
重启之后,按ESC键选择CDROM引导,输入linux rescue再次进入到修复模式。
此时再次进入到修复模式时,rescue程序将会到fstab文件,也就是会到linux分区!并且把损坏的原linux系统挂载到/mnt/sysimage下。并且rescue程序会提示你,可以使用#chroot(change root 修改根目录)修改根目录,进入到原系统中。如下图所示:
选择OK之后,系统已经全部挂载到了/mnt/sysimage,如果想进去,敲入#chroot /mnt/sysimage,修改根目录为/mnt/sysimage,使用ls命令可以查看原系统里的文件和目录。使用exit可以退回rescue程序下,再次使用ls命令可以比较一下区别。
一般把处于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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论