Redhat Enterprise 5的系统故障的极端状况主要包括grub配置文件丢失,fstab分区挂载表丢失及/boot系统引导目录被删除的故障的恢复。linux
一 .Grub配置文件丢失的故障恢复:ide
Grub配置文件通常指/boot/grub/grub.conf文件,该文件指示了系统引导时要从哪一个ui
分区去加载内核及内存镜像(RAMDISK)文件,该文件的丢失将使电脑启动时在grub配置操作系统
界面中卡住。命令行
解决该文件丢失须要管理员记住grub.conf的基本配置信息,好比:图片
[root@localhost ~]# cat /etc/grub.conf内存
default=0 #默认加载第几个系统,从0起算it
timeout=5 #启动时停留在Grub配置界面中的时间class
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz #Grub的背景图片配置
hiddenmenu #是否隐藏菜单
title Red Hat Enterprise Linux Server (2.6.18-8.el5) #操做系统的标题
root (hd0,0) #操做系统的引导分区
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet #设置加载的内核 initrd /initrd-2.6.18-8.el5.img #设置加载
的内存磁盘文件
解决方法:
1在系统启动的grub配置环境中敲入以下几条语句;
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-8.el5.img
2 再敲入boot 启动;
3 去/boot/grub/中作一个grub.conf文件(文件内容就是刚才显示的内容),
或者把备份的grub文件恢复一份为grub.conf;此后系统重启后便可正常引导;
二 fstab分区挂载表丢失的故障恢复:
fstab文件位于/etc/fstab,该文件指示了系统在启动后要怎么装载系统分区,像系统的几个
重要系统分区如/,/boot,/home,swap分区都要经过fstab让系统去挂载,该文件丢失的话系统
挂载过程会出错,虽然在RedhatLinux Enterprise 5中fstab丢失系统仍可启动至图
形界面(若是有安装的话),可是在切入到命令行界面即会出错
解决方法:
A 若有系统能够启动并可使用命令的话,手工作一份fstab放入/etc便可,但因为fstab比较难
记,管理员先前最好要有备份,将备份文件拷贝为/etc/fstab便可。
B 若是系统不能启动,要依靠系统光盘的救援模式,按照以下步骤解决:
1 放入Redhat系统光盘,设置从光盘引导,而且进入救援模式(敲入linux rescue);
2 findfs LABEL=/ 来查找原来/目录所挂载的分区名;
3 进入/mnt/sysp_w_picpath/etc目录,若是fstab有备份的话将其恢复(如mv fstab.bak fstab),若是
没有,请本身作一个fstab;若是用chroot /mnt/sysp_w_picpath将当前根目录设定为磁盘中的根目录
(不然当前根目录在光盘中),此时进入/etc目录,若是fstab有备份的话将其恢复
4 敲入reboot或敲入两次exit并命出光盘重启便可;
三 /boot系统引导目录被删除的故障恢复
/boot目录中存放有grub.conf及系统引导用的内核及内存磁盘文件,该目录被删除通常会
致使grub配置界面都没有使用,并有提示 error15,解决方法还只能依靠系统光盘的救援模式。
咱们来考查最糟糕的一种状况,就是/boot目录被删除的同时,fstab也被删除了,此时要怎么恢
复?
系统先前环境:
系统假设安装有linux与winxp
其中/dev/sda8挂载在/boot目录下
/dev/sda9挂载在/目录下
/dev/sda12挂载于/home目录下
且/home目录中备份有kernel-2.6.18-8.el5.i686.rpm(该文件用于安装系统内核,极为重要,建议管理员备份一个,在系统光盘中也
有),fstab,grub.conf文件
如下是系统grub.conf的配置:
default=1
timeout=5
splashp_w_picpath=(hd0,7)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-8.el5)
root (hd0,7)
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-8.el5.img
title Other
rootnoverify (hd0,0)
chainloader +1
解决方法:
1 放入系统盘,设置从光盘启动,敲入linux rescue进入救援模式;
2 此时是光盘没法自动挂载/分区到/mnt/sysp_w_picpath,要手工挂载;
用findfs LABEL=/ 找到原来/分区所挂载的分区,好比为/dev/sda9,一样的找到
原来/home,/boot对应的分区/dev/sda12,/dev/sda8
mount /dev/sda9 /mnt/sysp_w_picpath 挂载/
mount /dev/sda8 /mnt/sysp_w_picpath/boot 挂载/ (注:也可不挂载)
mount /dev/sda12 /mnt/sysp_w_picpath/home 挂载/home
3 chroot /mnt/sysp_w_picpath切换到原系统的根分区,不然是光盘上的分区;
4 好比管理员在/home目录下有fstab的备份,此时要把/home下的备份fstab拷贝到/etc/fstab,没有的话请本身配一下;重启;
5 再次进入光盘救援模式,chroot /mnt/sysp_w_picpath切换到原系统的根分区,
6 去/home目录,并安装kernel-2.6.18-8.el5.i686.rpm
rpm -ivh kernel-2.6.18-8.el5.i686.rpm --root=/ --force
7 此时能够查看/boot目录,已经安装了内核文件与文件系统文件
vmlinuz-2.6.18-8.el5
initrd-2.6.18-8.el5.img
8 安装grub: grub-install /dev/sda
9 把/home下的grub.conf拷贝到/boot/grub/grub.conf,没有的话请本身配一下;
10 reboot或两次exit重启,并拿出光盘便可启动;