系統故障排查
一系統啟動類故障
常見系統啟動類故障包括:MBR扇區故障、GRUB引導故障、丢失系統檔案、遺忘root密碼
·MBR扇區故障
MBR即Master Boot Record,主引導記錄,位于硬碟的第一個扇區(512位元組),其中包含了系統引導程式、硬碟分區表資訊
1故障原因
病毒、木馬等造成的破壞
不正确的分區操作、磁盤讀寫誤操作
2故障現象
找不到引導程式,啟動中斷
無法加載作業系統,開機後黑屏
3解決思路
應提前作好備份檔案(如果沒有MBR的備份檔案,恢複難度會比較大,可能需要使用"諾頓磁盤醫生(Norton Disk Doctor)"之類能夠按分區位置查找修複的磁盤工具)
以RHEL5安裝CD光牒引導進入急救模式,從備份檔案中恢複
應用示例:模拟MBR損壞
1備份MBR扇區資料
MBR扇區的備份檔案應儲存在不同的磁盤中,否則在恢複時将無法讀取備份檔案
把第一塊硬碟sda的MBR扇區備份到第二塊硬碟的sdb1分區中

2模拟MBR被破壞的故障
人為的将MBR扇區的記錄覆寫,進而達到破壞的目的
從裝置檔案zero中讀取512自己的資料進行覆寫

重新開機系統後無法引導了

3RHEL5CD光牒引導,進入急救模式
插入CD光牒,輸入linux rescue

選擇語言等,跳過網卡檢測,跳過初始化磁盤(警告);進入到急救模式
4從備份檔案中恢複MBR扇區
含備份檔案的分區挂載到一個臨時目錄,以便能夠讀取到備份檔案

·GRUB引導故障
GRand Unified Bootloader 中文意思為"極好的統一引導器",是大多數Linux系統預設使用的引導程式;即開機時的引導菜單
MBR中的GRUB引導程式遭到破壞
grub.conf檔案丢失、引導配置有誤
系統引導停滞,顯示"grub>"提示符
嘗試手動輸入引導指令
進入急救模式,從備份中恢複 grub.conf
向MBR扇區中重建grub程式
應用示例:模拟引導檔案丢失
1備份并删除grub.conf引導檔案

2重新開機系統驗證

3手動輸入引導指令引導系統

其中:
root (hd0,0)指定包含核心等引導檔案的分區(即/boot分區),(hd0,0) 對應為 /dev/sda1
kernel …… 指定核心檔案所在的路徑、根分區所在的裝置位置
initrd …… 指定引導過程中使用的緩存盤鏡像檔案位置
boot 用于啟動進入系統
進入系統後,要恢複引導檔案(否則下次還是不能引導)

4從急救模式恢複引導檔案
如果分區表沒有别破壞,進入急救模式後,系統會自動挂載根分區到/mnt/sysimage/中

如果MBR扇區中的引導程式損壞(例如重裝Windows系統後),則可能即使重建了引導檔案,系統也無法啟動,是以需要重新安裝grub引導程式(還是在急救模式下)


最後exit退出
·/etc/inittab檔案丢失
/etc/inittab檔案是系統初始化程序init的配置檔案
inittab檔案被誤删除,或者存在配置錯誤
啟動中提示 "... INIT: No inittab file found"
系統停滞,無法完成初始化
進入急救模式,從備份檔案中恢複
或者,在急救模式中重新安裝 initscripts 軟體包
rpm -ivh --replacepkgs initscripts-8.45.14.EL.i386.rpm
應用示例:
1備份并删除inittab檔案
2進入急救模式
3從備份檔案恢複(略)
4重新安裝軟體包(急救模式下)
--replacepkgs 選項表示進行替換(覆寫)安裝,即使系統中已經安裝了這個包
·遺忘root使用者密碼
遺忘root使用者的密碼
無法進行需要root權限的管理操作
若沒有其他可用帳号,将無法登入系統
引導進入單使用者模式,然後重設密碼:grub > kernel ... single 或 s 或 1
或進入急救模式,然後重設密碼
1單使用者模式下修改密碼
啟動計算機時,在出現GRUB菜單時按上下鍵取消倒計時,按e鍵進入編輯模式

選擇kernel開頭的一行,并按e鍵開始編輯,在行尾添加"s"啟動參數;也可以寫成"single"或"l"

回車确認後按b鍵重引導系統到單使用者模式,直接進入到了shell環境,不用輸入密碼

執行passwd root修改密碼,如果不能修改,直接修改/eyc/shadow檔案,将密碼字串删除,然後添加兩個感歎号
删除前

删除後

wq!強制儲存退出後,reboot重新開機驗證
2通過急救模式重設root賬号密碼
進入急救模式後


或者修改shadow檔案
二檔案系統類故障
·檔案系統故障
非正常關機、突然斷電、裝置讀寫失誤等
檔案系統的超級塊(super-block)資訊被破壞
無法向分區中讀取或寫入資料
啟動後提示"Give root password for maintenance"
根據提示輸入root密碼,進入修複狀态
使用fsck指令進行修複
1模拟對/dev/sda2分區的破壞操作

2檢查是否能挂載該分區

3 Linux系統開機後,當提示"Give root password for maintenance"時,隻需輸入root使用者的密碼,即可進入到一個臨時的Shell環境,使用者可以對出現錯誤的檔案系統進行修複
fsck –y -t ext3 /dev/sda2
-y選項可以在出現互動提問時,自動按"yes"處理
·磁盤資源耗盡故障
磁盤空間已被大量的資料占滿,空間耗盡
雖然還有可用空間,但檔案數i節點耗盡
無法寫入新的檔案,提示"… : 裝置上沒有空間"
部分程式無法運作,甚至系統無法啟動
清理磁盤空間,删除無用、備援的檔案
轉移或删除占用大量i節點的瑣碎檔案(檔案個數)
進入單使用者模式、急救模式進行修複
為使用者設定磁盤配額
·檢測磁盤壞道
磁盤裝置中存在壞道(邏輯的或實體的)
邏輯壞道主要由于軟體操作不當造成,可以使用軟體修複
實體壞道是實體性損壞,隻能通過更改磁盤分區或扇區的占用位置來進行改善,排除掉包含有壞塊的磁盤空間
注意是mkfs指令而不是fsck指令,檢查壞道之前,應盡量先解除安裝該分區,退出正在通路裝置的其他程式
讀取磁盤中的資料時,磁盤裝置發出異常聲響。
通路磁盤中的某個檔案時,反複讀取且出錯,提示檔案損壞。
對于建立立的分區無法完成格式化。
系統使用該磁盤時頻繁當機
檢測硬碟中是否存在壞道
badblocks -sv /dev/sdb
耗時時間比較長
修複硬碟,或更換新的硬碟