Linux-CentOS常見故障排除

測試環境

   Vmware10虛擬機下Centos6.464位操作系統。

一、stage1故障

boot loader 是載入核心的重要工具,沒有 boot loader,那麼 kernel 根本就沒有辦法被系統加載,這個 boot loader 可以具有選單功能、直接加載核心檔案以及控制權移交的功能等,系統必須要有 loader 纔有辦法加載該操作系統的核心,但是MBR

是整個硬盤的第一個 sector 內的一個區塊,其大小也只有 446 bytes 。而stage1包括一部分分區表的引導程序,stage1是存在MBR (Master Boot Record, 主要啓動記錄區)中,第一階段爲執行boot loader 的主程序,這個主程序必須要被安裝在開機區,亦即是 MBR或者是 boot sector 。但如前所述,因爲 MBR 實在太小了,所以,MBRboot sector 通常僅安裝 boot loader 的最小主程序,幵沒有安裝 loader 的相關配置文件。

我們模擬第一階段失效出現故障,其做法讓boot loader 446字節的內存直接佔滿,別無用處即可。

235240890.jpg

                                         

注:用/dev/zero塊設備去覆蓋/dev/sda, boot loader=466字節,大於原來空間被全部覆蓋。

重啓之後我們進入引導界面,試圖以硬盤來啓動系統(系統已經不能正常啓動)。

    235305116.jpg

注:選擇第三項,救援模式,可以直接點回車鍵,也可以按Esc鍵,進入boot界面,鍵入linux rescue 回車執行命令。

一分鐘之後會出現救援模式界面,進行一些選擇:


235323463.jpg

選擇語言:我們選擇英語


235347700.jpg

選擇鍵盤標準:選擇us(美式標準)


235450175.jpg


選擇急救系統鏡像位置:選擇localCD/DVD (本地光盤上)


235623882.jpg

選擇是否啓用網絡功能:不啓動


235646887.jpg

選擇另一些高級選項:這裏我們不過多選擇,直接繼續


235750716.jpg

提示你光盤鏡像被掛在到/mnt/sysp_w_picpath下,可以用shell編輯,選擇繼續OK


235811814.jpg

選擇開啓一個shell。點擊OK


235834583.jpg

輸入chroot /mnt/sysp_w_picpath/ 指令

到這裏之後,我們要在shell裏寫命令,來重建MBR中的boot loader

輸入指令:

chroot/mnt/sysp_w_picpath/

grub-install  /dev/sda235927215.jpg

重建成功,輸入exit,在輸exit,選擇reboot重啓系統。

這樣你的系統就可以正常啓動了。

二、stage2故障

Stage 2:主程序加載配置文件:第二階段爲透過 boot loader 加載所有配置文件不相關的環境參數檔案 (包括文件系統定義與主要配置文件 menu.lst)一般來說,配置文件都在 /boot 底下。

我們可以刪除/boot/grub/stage2模擬stage2失效。

刪除之後就重啓系統就會出錯:


235927773.jpg

這樣的錯誤是個很嚴重的錯誤,一般系統這樣掛掉,就不太行了,其實不然,在windows下,出現系統故障,我們可以進入winPE下,去修復故障,或者完成機主想要的一些工作,這些還是可以的。在我們Linux下,一樣有這樣類似於winPE的系統,這裏有一個CentOS-6.4-x86_64-LiveDVD.iso,這樣的光盤鏡像一樣可以進入系統,解釋一下:liveDVD其實就可以理解成在光盤中不需要安裝,直接就可以運行的操作系統。

在我們的環境中,我們只需要將原來的安裝光盤鏡像文件換成CentOS-6.4-x86_64-LiveDVD.iso鏡像文件,但是我們選擇光盤啓動,,不讓還是硬盤啓動模式,虛擬機下開始出現進入starting進度條時,在虛擬機裏點擊之後並且要按Esc鍵,才能進入BIOS選擇第一啓動項,(要眼疾手快):

000045921.jpg


選擇setup進入bios

000048202.jpg

boot位置選擇CD-ROMDrive,按F10保存退出。


系統進入時有十秒時間不做選擇就會進入圖形界面,也可以在十秒之內按任意鍵,進入菜單模式,

000051730.jpg

我們選擇第二項boot,進入之後是圖形界面,按下Ctrl+alt+F2,進入字符界面,主要是可以使用管理員權限,登錄輸入root回車就可以了,接下來我們要去訪問硬盤,來來查看硬盤信息:

000355340.jpg

先將硬盤掛載起來,這裏就掛載在/boot目錄下,這樣就可以查看硬盤信息


輸入命令:cd  /boot/grub 可以查看到stage2文件不存在。

000500873.jpg

grub的相關文件安裝到/dev/sda硬盤上,,成功之後stage2文件就應該是生成了,我們重啓之後就可以成功登錄系統了。


000730390.jpg


三、grub.conf故障

故障模擬,直接刪除grub.conf文件。這個文件裏面記錄的是系統開機之後你默認要選擇的系統,如果沒有這個入口,系統是不會啓動的。

首先我們需要把第一啓動項改回硬盤啓動,看系統自身能否啓動。

000758108.jpg

系統已經不能正常啓動


000830610.jpg

執行這段代碼,系統也能正常啓動,我們需要到系統中去重建那個grub.conf文件


000943354.jpg

做完這些重啓系統,之後可以正常開啓了。


四、/boot/grub/丟失或者大部分文件丟失故障

其實這種,我們可以先用第二種故障的解決方法,用liveDCD鏡像,以光盤啓動爲首項,進去後先將硬盤掛載到/boot/目錄下,在執行grub-install –root-directory=/ /dev/sda 指令就可以重建grub,但是grub目錄下還是缺少grub.conf文件,我們還需要手動去編寫這個文件。剛好是第三個故障,所以我們依照第三故障的解決方法就能建立grub.conf文件,保存之後重啓系統就可以了。


五、系統管理員口令丟失故障

這樣的問題我們只要進入單用戶模式就可以修改,或刪除管理員密碼了,首先我們得在系統啓動時按任意鍵進入系統選項菜單

001032740.jpg


選項中是我們要進入的操作系統,選擇我們按下邊的指示,按e鍵,進入編輯狀態,

001149983.jpg

選中第二行,再按e鍵,在行末寫上一個“1”,表示單用戶模式,回車之後按b鍵開始引導,就進入單用戶模式了,進去之後的修改,就很簡單了,

passwd  -d root 刪除口令

或者你可以刪除之後再添加一個新口令。


六、/etc/fstab文件損壞(比如不小心改寫設置)

這種與引導程序無關的文件的損壞,系統會提示我們需要進入維護模式。

001354471.jpg

出現誤寫,誤刪的錯誤。

001435350.jpg

enter鍵,進入維護模式。

我們進入fstab文件,文件屬性就提示readonly,所以我們就不能直接修改了,我們可以重新掛載/分區:指令  mount –o  rw remount  /

這樣我們就可以修改更正了。


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