引導過程常見故障排除詳解

本篇博客將從理論到實驗操作詳細描述Liunx系統的完整引導過程,並解決三種影響正常開機的故障。


目錄引導:

  • 開機引導過程
  • 修復MBR扇區故障引起的故障
  • 修復GRUB菜單故障引起的故障
  • 重置Centos7系統管理員(root)密碼

一、完整的開機引導流程

引導過程常見故障排除詳解
開機自檢:
也稱加電自檢(POST,Power On Self Test)。 指計算機系統,接通電源,(BIOS程序)的行爲,包括對CPU、系統主板、基本內存、擴展內存、系統ROM BIOS等器件的測試。如發現錯誤,給操作者提示或警告。簡化或加快該過程,可使系統能夠快速啓動。
MBR引導:
其引導代碼儲存在第一塊磁盤的第一個扇區中,容量爲512字節。它負責磁盤操作系統(DOS)對磁盤進行讀寫時分區合法性的判別、分區引導信息的定位,它由磁盤操作系統(DOS)在對硬盤進行初始化時產生的。
GRUB菜單引導:
允許用戶同時擁有多個操作系統,並在啓動時選擇希望加載的操作系統。也可用於選擇操作系統分區上的不同內核,也可用於向這些內核傳遞啓動參數。
init進程:
該進程爲加載系統的必要組件,也是加載環境變量的必要部分。由Liunx內核加載運行/sbin/init程序執行,爲系統的中的第一個進程,其PID(進程標記號)號始終爲1.
以上就是Liunx系統完整的啓動流程,而在啓動的過程中,很有可能會遇到各種情況導致無法進入系統,接下來這裏就將挑出幾個常見的問題進行解析:

二、修復MBR扇區故障引起的故障

MBR引導位於整個啓動程序的第二步,也是除了硬件問題外第一個容易出現問題的地方。
出現故障的常見原因:
(1)病毒、***等造成的破壞
(2)不正確的分區操作、磁盤讀寫誤操作都會導致MBR扇區損壞
出現故障的表現:
(1)找不到引導程序,啓動中斷
(2)無法加載系統,黑屏
修復思路:
使用備份文件,通過光盤鏡像的急救模式從備份中進行恢復。
修復步驟:
(1)事先備份一份mbr引導扇區到其它磁盤中(也可以拷貝相同操作系統另一臺服務器的mbr引導扇區)
(2)使用安裝鏡像進入鏡像急救模式進行mbr修復
圖解:
(實驗環境整體在虛擬機中實施)
確保該服務器已經存在兩塊磁盤並掛載完畢,在sdb1的掛載點內輸入

[root@localhost data]# dd if=/dev/sda of=/data/sdr.mbr.bak bs=512 count=1

將原系統內的mbr引導扇區進行復制
引導過程常見故障排除詳解
接下來就準備模擬mbr扇區損壞的情況,輸入

[root@localhost data]# dd if=/dev/zero of=/dev/sda bs=512 count=1

將垃圾文件導入原來的MBR扇區中,破壞扇區成功!
引導過程常見故障排除詳解
重啓後,就會完全無法進入系統。
引導過程常見故障排除詳解
這時候插入Centos7的安裝光盤(這裏因爲是虛擬機,所以只需要添加鏡像文件即可),然後重啓服務器,在出現讀條時按下“ESC”鍵(不放心的可以從開始重啓就一直按),進入“BOOT MENU”界面,選擇第三個使用CD進入
引導過程常見故障排除詳解
引導過程常見故障排除詳解
引導過程常見故障排除詳解
引導過程常見故障排除詳解
執行完以上的步驟,需要耐心等待一分鐘。待其進入如下界面,在下方輸入“1”進入光盤鏡像自帶的簡易鏡像系統,正式開始修復。
引導過程常見故障排除詳解
在鏡像系統中,輸入

sh-4.2#mount /dev/sdb1 /mnt

將擁有備份的磁盤進行臨時掛載(沒有掛載的磁盤只是個物理設備,但無法讀取),後面的工作就比較明瞭了,只需要進行恢復備份即可,輸入

sh-4.2#dd if=/mnt/sdr.mbr.bak of=/dev/sda

引導過程常見故障排除詳解
事實上,此時扇區已經修復完畢,所以最後只要reboot重啓即可完成修復。

三、修復GRUB菜單故障引起的故障

除了MBR引導以外,另一個容易出現問題的步驟就是由於GRUB菜單出現問題導致無法進入系統。
出現GRUB故障的原因:
(1)MBR扇區中的GRUB引導程序遭到意外損壞
(2)grub.conf文件丟失或是引導配置有誤
出現該種故障的表現:
系統引導停滯不前,一直卡在“grub>”符號處
修復思路:
(1)使用引導光盤,進入急救模式,重寫(一般人沒那技術)或從備份恢復grub.conf
(2)向MBR扇區中重建grub程序
具體修復步驟:
(1)引導急救模式,加載系統鏡像(chroot /mnt/sysimage/)
(2)重新建立加載sda分區(grub2-install /dev/sda)
(3)重新構建grub菜單配置文件(grub2-mkconfig -o /boot/grub2/grub.cfg)
(4)退出bash環境(exit)
(5)重啓
圖解修復步驟:
(實驗環境整體在虛擬機中實施)
爲了模擬grub菜單損壞導致的錯誤。首先輸入

[root@localhost ~]# cd /boot/
[root@localhost boot]# ls

跳轉到/boot目錄下並用ls目錄進行查看,可以看到/boot目錄下存在兩個grub目錄
引導過程常見故障排除詳解
接着跳轉進入grub2目錄中,

[root@localhost boot]# cd grub2

將目錄中的grub.cfg刪除

[root@localhost grub2]# rm -rf grub.cfg

然後直接reboot重啓
引導過程常見故障排除詳解
重啓後就會發現,果不其然,開機無法進行,會卡在“grub>”符號處無法繼續(當然這裏不是完全卡死的,只是因爲缺少關鍵的cfg文件才無法繼續。大神可以在這裏手動輸入文件。)
引導過程常見故障排除詳解
OK,既然問題已經出現了,那麼我們就來解決它。重啓虛擬機,跟上章節修復MBR扇區一樣(要通過光盤自帶的簡易鏡像進行修復),直到進入鏡像系統前的步驟都完全一樣,這裏就不耽誤時間了。
進入鏡像系統,開始正式修復。輸入

sh-4.2#chroot /mnt/sysimage/

進入光盤鏡像自帶的bash環境,接着啓用

bash-4.2#grub2-install /dev/sda

重新建立加載sda分區
引導過程常見故障排除詳解
而實際上因爲我們是模擬情況,所以除了grub的配置文件丟失之外,其它部分應該都是完好的。
修復grub菜單的最後一步就是重新構建grub菜單配置文件,輸入

bash-4.2#grub2-mkconfig -o /boot/grub2/grub.cfg

完成後,重啓(exit+reboot)即可結束脩復。
引導過程常見故障排除詳解

四、重置Centos7系統管理員(root)密碼

事實上,第三篇嚴格意義上不能算導致無法進入系統的錯誤,但是不知道管理員密碼其實和進不了系統沒什麼區別(相信看這篇博客的人都懂爲什麼),所以我在這裏也明確的解決一下吧~~
故障原因:
無論何種原因遺忘root用戶密碼
出現故障表現:
無法進行所有需要root權限的操作
若沒有其它賬戶,將無法登陸系統
修復思路:
忘了密碼,重設唄(哪有那麼多可說的)
修復步驟:
(1)加載光盤系統模擬鏡像(chroot /mnt/sysimage/)
(2)修改密碼
圖解修復步驟:
(實驗環境整體在虛擬機中實施)
假設這時候,突然忘了root用戶密碼,結果被卡在登陸界面
引導過程常見故障排除詳解
OK,問題出現了。讓我來開始解決:
添加光盤鏡像,同時把系統重啓,並在出現讀條時按下“ESC”。。。。。。(直到進入鏡像系統,前面步驟與修復grub菜單等雷同,不再說明)
進入光盤鏡像系統後,和修復grub菜單時一樣輸入

sh-4.2#chroot /mnt/sysimage/

進入光盤鏡像自帶的bash環境,接着————跟在Liunx中一樣使用passwd命令即可

bash-4.2#passwd root

接着輸入兩遍新密碼,重啓即可。
引導過程常見故障排除詳解
-

以上,就是系統啓動的理論部分以及三個容易導致無法進入系統的問題的修復方法。

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