RedHat 下常見系統故障及恢復方法(整理)

  

 

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重啓,並拿出光盤即可啓動;

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章