此文章为我个人学习笔记的总结,以供自己回忆知识的同时也方便大家学习,可能这方面的资料已经很多了,但是我还是要写写,毕竟自己写的才是自己的,这样记忆也牢固点,呵呵,以后我会多多总结上传文章的,不多废话了......
RHEL5简单的引导故障解决:
如果照着做不行的话,就要具体情况具体分析了,环境什么的并不是一模一样的,视情况而定吧!
我的实验环境(此实验无LVM等):RHEL5系统,三个分区,一个根分区,一个boot分区,一个交换分区!boot分区/dev/sda1,根分区/dev/sda3,交换分区/dev/sda2;如图:

RHCE笔记—引导故障排错_第1张图片

 首先进入系统:删除前请先备份以免你回复不回来了,不备份可以,但是一定要备份fstab文件,以免你写不出来,这个fstab文件是不属于任何包的,只能自己写。。。
删除boot目录下的所有文件rm –rf /boot/*
删除/etc/inittab
删除/etc/rc.d/rc.sysinit
删除/etc/sysctl.conf
删除/etc/fstab
删除/etc/rc.d/rc.local
清除mbr的前446字节dd if=/dev/zero of=/dev/sda bs=446 count=1
如图:

RHCE笔记—引导故障排错_第2张图片

搞定后关闭计算机,这时候你已经无法正常关机了吧,嘿嘿,直接关电源吧!!!
放入光盘,打开计算机,修改BIOS从光盘启动(你也可以从PXE网络引导启动),计算机启动后读取光盘进入安装界面后输入linux secuse进入救援模式,如图:

RHCE笔记—引导故障排错_第3张图片



然后一路回车下去就可以了,你要是使用光盘救援的话就不用启用了网络了,网络那里选择no就行了,如果是PXE引导的话是一定要启用网络功能,并且会让你设置使用什么文件服务器和系统镜像文件所在路径。。。。。。
现在真正的救援开始了。。。
首先挂载自己的根分区,因为fstab文件丢失了,系统无法正常读取到该文件,所以导致了所有分区都无法挂载,所有数据也就无法读出了,第一步就是要设置自己的fstab文件了;
1、mkdir test                //新建一个目录
2、mount /dev/sda3 /test    //将根分区挂载到test目录
使用df –h命令查看分区挂载情况,如图:

RHCE笔记—引导故障排错_第4张图片

3、cd /test                  //进入test目录

   vi etc/fstab(看清)        //手动编写文件fstab

添加以下行:
LABEL=/          /        ext3  defaults       1 1

LABEL=/boot      /boot     ext3    defaults        1 2

这里直接写上前两行也可以了,剩下的以后再写。。。

tmpfs           /dev/shm   tmpfs   defaults        0 0

devpts      /dev/pts      devpts gid=5,mode=620 0 0

sysfs         /sys         sysfs   defaults        0 0

proc        /proc           proc    defaults        0 0

LABEL=SWAP-sda2    swap     swap    defaults        0 0

如图:

RHCE笔记—引导故障排错_第5张图片

4、输入exit退出并重新启动系统;
注:这里的文件内容是以这个环境为准的,如果你设置了逻辑卷或者其它什么的会跟这里不一样的,灵活运用吧。。。
5、以相同方式进入修复模式,这次系统就会被挂载起来了;
chroot /mnt/sysp_w_picpath/   //切换到你本机的系统
mkdir cdrom              //新建一个目录
mount /dev/hdc/cdrom     //挂载光盘镜像到cdrom目录下(虚拟机中光驱为hdc,真机中光驱一般为scd0)
rpm –qf /etc/inittab    //查询一下inittab这个文件是哪个包产生的;如图:

RHCE笔记—引导故障排错_第6张图片

cd /cdrom/Server/

cp initscripts-8.45.30-2.el5.i386.rpm /tmp

#cd /tmp
#rpm2cpio initscripts-* |cpio –imd
ls一下你会发现解压出来几个目录,如图:

RHCE笔记—引导故障排错_第7张图片

#cd etc/
#cp inittab /etc/
#cp rc.d/rc.sysinit /etc/rc.d
#cp sysctl.conf /etc/
#cp rc.d/rc.local /etc/rc.d
#grub-install /dev/sda   //重写grub引导
#cd /cdrom/Server
#rpm –ivh –-force kernel-tab键
#vi /etc/boot/grub/grub.conf   编辑grub配置文件,添加以下行
default=0
timeout=5
title Red Hat Enterprise Linux Server
root(hd0,0)

kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet

initrd /initrd-2.6.18-164.el5.img
最后exit,exit退出重启系统,测试OK,没有问题了!记着把fstab文件里的文件添加完,不然在图形界面下你会发现一点小问题的。。。
如果有逻辑卷原理与步骤与此差不多,自己动脑筋吧,不多写了呵呵。。。