linux故障排除与修复(troubleshooting)
环境为:Red Hat Enterprise Linux Server 5 Update 4
1,首先,先把boot下的东西都全部删掉.
哎,顺便也把/boot这目录也给删了吧!
把系统启动中该用到的重要的文件都给删了.
本想把这个/etc/fstab也删了,由于恢复起来比较麻烦,所以在这里只改一个名称!
顺便也把mbr前446个字节也破坏了.dd命令的使用不知道的话可以网上搜索下!
reboot重启
现在关都关不了了,这时请自觉手动按下restart键!
2,由于mbr前446字节被破坏了,所以开机的时候已经直接进入光盘向导了(之前我已经放了RHEL5.4的光盘在里面了)
输入linux rescue (linux 救援模式)
选择语言(English)
选择键盘布局
问我们是否开启网络,在这里不需要了 有光盘了
尝试加载文件系统,这里选择(Continue)
由于刚才我删了/etc/fstab 所以现在加载不了文件系统.
进入了shell,官方俗称:假系统 使用fdisk –l查看分区情况
df的时候看到我们的文件系统没有挂载起来
这时候就应该知道是/etc/fstab文件的问题了,我要把它恢复回来
先手动挂载根分区,这要看尝试与判断哪个分区才是根分区了,因为系统是我装的,我知道根分区大概的大小,应该是/etc/sda2.现在把/dev/sda2手动挂载起来
判断没错的,如果是帮别人排错的话,大家可以一个一个分区的尝试,直到找到为止!
开始写/etc/fstab文件了,由于刚才采取战略性的偷懒了,直接mv回来就KO!
###注意千万不要加绝对路径
重启系统再次进入rescue模式看正常挂载到文件系统.
再次进入救援模式
再次尝试挂载
出现下面这个提示说明已经成功了,假系统与真系统的切换只需要:chroot /mnt/sysimage就可以进真系统了,exit又回到假系统,再exit就重启.
切换到真系统df一下文件系统
现在的思路是mbr系统引导程序grub不正常了,所以要先修复grub.由于gurb在/boot分区中,所以现在进入/boot分区查看
##ls啥都没有,说明内核文件也不见了
这时得先修复内核,exit回假系统,开始安装内核.
光盘上的文件都没挂载上来,这时还得先把光盘挂起来
呵呵/dev/cdrom竟然找不到,在这里要打hdc,这个就不解释这么深了(其实太深了俺也不会)
进入kernel所在目录,进行安装,参数--root是指定根位置,--force:强制安装
再次进入真系统,查一下/boot分区的内容
要把RAM DISK文件重新生成一次,以下是步骤,$(uname –r)的意思是引用命令执行的结果.
内核修复完成,开始修复grub
/boot/grub/grub.conf不会自动生成,我们需要手工制作
grub.conf修改后最终效果
这样引导没问题了,顺便查看以下几个重要文件是否存在,有时还需要检查内容等等
tab键补齐是一个都没补得出来的
这时就需要恢复了,先查它属于哪个rpm包
很明显,现在就找这个包 恢复这几个文件
rpm2cpio这个命令是把rpm包的文件提取出来
恢复文件
可以重启查看是否修复成功了
输两次:exit
出现Red Hat 红色字体了 说明内核加载已经没问题
已经进入3级别的系统了
敲个 init 5
桌面环境也正常了
检查下服务启动也已经正常
troubleshooting就研究在这里!