linux故障排除与修复(troubleshooting)

环境为:Red Hat Enterprise Linux Server 5 Update 4

1,首先,先把boot下的东西都全部删掉.

clip_p_w_picpath002

哎,顺便也把/boot这目录也给删了吧!

clip_p_w_picpath004

把系统启动中该用到的重要的文件都给删了.

clip_p_w_picpath006

本想把这个/etc/fstab也删了,由于恢复起来比较麻烦,所以在这里只改一个名称!

clip_p_w_picpath008

顺便也把mbr前446个字节也破坏了.dd命令的使用不知道的话可以网上搜索下!

clip_p_w_picpath010

reboot重启

现在关都关不了了,这时请自觉手动按下restart键!

clip_p_w_picpath012

2,由于mbr前446字节被破坏了,所以开机的时候已经直接进入光盘向导了(之前我已经放了RHEL5.4的光盘在里面了)

输入linux rescue (linux 救援模式)

clip_p_w_picpath014

选择语言(English)

clip_p_w_picpath016

选择键盘布局

clip_p_w_picpath018

问我们是否开启网络,在这里不需要了 有光盘了

clip_p_w_picpath020

尝试加载文件系统,这里选择(Continue)

clip_p_w_picpath022

由于刚才我删了/etc/fstab 所以现在加载不了文件系统.

clip_p_w_picpath024

进入了shell,官方俗称:假系统 使用fdisk –l查看分区情况

clip_p_w_picpath026

df的时候看到我们的文件系统没有挂载起来

clip_p_w_picpath028

这时候就应该知道是/etc/fstab文件的问题了,我要把它恢复回来

先手动挂载根分区,这要看尝试与判断哪个分区才是根分区了,因为系统是我装的,我知道根分区大概的大小,应该是/etc/sda2.现在把/dev/sda2手动挂载起来

clip_p_w_picpath030

判断没错的,如果是帮别人排错的话,大家可以一个一个分区的尝试,直到找到为止!

开始写/etc/fstab文件了,由于刚才采取战略性的偷懒了,直接mv回来就KO!

clip_p_w_picpath032###注意千万不要加绝对路径

重启系统再次进入rescue模式看正常挂载到文件系统.

clip_p_w_picpath034

再次进入救援模式

再次尝试挂载

clip_p_w_picpath036

出现下面这个提示说明已经成功了,假系统与真系统的切换只需要:chroot /mnt/sysp_w_picpath就可以进真系统了,exit又回到假系统,再exit就重启.

clip_p_w_picpath038

切换到真系统df一下文件系统

clip_p_w_picpath040

现在的思路是mbr系统引导程序grub不正常了,所以要先修复grub.由于gurb在/boot分区中,所以现在进入/boot分区查看

clip_p_w_picpath042##ls啥都没有,说明内核文件也不见了

这时得先修复内核,exit回假系统,开始安装内核.

clip_p_w_picpath044

光盘上的文件都没挂载上来,这时还得先把光盘挂起来

clip_p_w_picpath046

呵呵/dev/cdrom竟然找不到,在这里要打hdc,这个就不解释这么深了(其实太深了俺也不会)

clip_p_w_picpath048

进入kernel所在目录,进行安装,参数--root是指定根位置,--force:强制安装

clip_p_w_picpath050

再次进入真系统,查一下/boot分区的内容

clip_p_w_picpath052

要把RAM DISK文件重新生成一次,以下是步骤,$(uname –r)的意思是引用命令执行的结果.

clip_p_w_picpath054

内核修复完成,开始修复grub

clip_p_w_picpath056

/boot/grub/grub.conf不会自动生成,我们需要手工制作

clip_p_w_picpath058

grub.conf修改后最终效果

clip_p_w_picpath060

这样引导没问题了,顺便查看以下几个重要文件是否存在,有时还需要检查内容等等

tab键补齐是一个都没补得出来的

clip_p_w_picpath062

这时就需要恢复了,先查它属于哪个rpm包

clip_p_w_picpath064

很明显,现在就找这个包 恢复这几个文件

clip_p_w_picpath066

clip_p_w_picpath068

rpm2cpio这个命令是把rpm包的文件提取出来

clip_p_w_picpath070

恢复文件

clip_p_w_picpath072

可以重启查看是否修复成功了

输两次:exit

clip_p_w_picpath074

出现Red Hat 红色字体了 说明内核加载已经没问题

clip_p_w_picpath076

已经进入3级别的系统了

clip_p_w_picpath078

敲个 init 5

桌面环境也正常了

clip_p_w_picpath080

检查下服务启动也已经正常

clip_p_w_picpath082

troubleshooting就研究在这里!