Redhat Enterprise 5的系統故障的極端情況主要包括grub配置文件丟失,fstab分區掛載表丟失及/boot系統引導目錄被刪除的故障的恢復。
一 .Grub配置文件丟失的故障恢復:
Grub配置文件一般指/boot/grub/grub.conf文件,該文件指示了系統引導時要從哪個
分區去加載內核及內存鏡像(RAMDISK)文件,該文件的丟失將使電腦啓動時在grub配置
界面中卡住。
解決該文件丟失需要管理員記住grub.conf的基本配置信息,比如:
[root@localhost ~]# cat /etc/grub.conf
default=0 #默認加載第幾個系統,從0起算
timeout=5 #啓動時停留在Grub配置界面中的時間
splashimage=(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/sysimage/etc目錄,如果fstab有備份的話將其恢復(如mv fstab.bak fstab),如果
沒有,請自己做一個fstab;如果用chroot /mnt/sysimage將當前根目錄設定爲磁盤中的根目錄
(否則當前根目錄在光盤中),此時進入/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
splashimage=(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/sysimage,要手工掛載;
用findfs LABEL=/ 找到原來/分區所掛載的分區,比如爲/dev/sda9,同樣的找到
原來/home,/boot對應的分區/dev/sda12,/dev/sda8
mount /dev/sda9 /mnt/sysimage 掛載/
mount /dev/sda8 /mnt/sysimage/boot 掛載/ (注:也可不掛載)
mount /dev/sda12 /mnt/sysimage/home 掛載/home
3 chroot /mnt/sysimage切換到原系統的根分區,否則是光盤上的分區;
4 比如管理員在/home目錄下有fstab的備份,此時要把/home下的備份fstab拷貝到/etc/fstab,沒有的話請自己配一下;重啓;
5 再次進入光盤救援模式,chroot /mnt/sysimage切換到原系統的根分區,
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重啓,並拿出光盤即可啓動;