Linunx系統引導過程及MBR/GRUB故障

the7主題發表於2021-02-10

  • Linunx系統引導過程
    • 系統初始化程式
      • init程式
      • Systemd
      • Systemd單元型別
      • 允許級別所對應的systemd目標
  • 修復MBR扇區故障
    • 解決思路
      • 操作
  • 修復GRUB引導故障
    • 解決思路
      • 操作

 

Linunx系統引導過程

在這裡插入圖片描述

  • 開機自檢:伺服器主機開機後,將根據主機板BIOS中的設定對cpu、顯示卡、記憶體、鍵盤等裝置進行初步檢測,檢測成功後根據預設的 啟動順序移交系統控制權,,大多時候會移交給本機硬碟。
    在這裡插入圖片描述
  • MBR引導:當從本機硬碟中啟動系統時,首先根據硬碟中第一個扇區中MBR(主開機記錄)的設定,將系統控制權傳遞給包含作業系統引導檔案的分割槽:或者直接根據MBR 記錄中的引導資訊呼叫啟動選單(如GRUB)。
    在這裡插入圖片描述
  • GRUB選單:對於Linux作業系統來說,GRUB(統一啟動載入器)是使用最為廣泛的多系統引導器程式。系統控制權遞交給GRUB以後,將會顯示啟動選單給使用者選擇,並根據所選項或採用預設值載入Linux核心檔案,然後將系統控制權交給核心。
    在這裡插入圖片描述
  • 載入Linux核心:Linux核心是一個預先編譯好的特殊二進位制檔案,介於各種硬體資源與系統程式之間,負責資源分配和排程。核心結果系統控制權之後,將完全掌控整個Linux作業系統的執行過程。
    在這裡插入圖片描述
  • init程式初始化:為了完成進一步的系統引導過程,Linux核心首先將系統中的“/sbin/init”程式載入到記憶體中執行(執行中的程式稱為程式),init程式負責完成整個系統的初始化,最後等待使用者進行登入。
    在這裡插入圖片描述

系統初始化程式

init程式

  • Linux核心載入執行/sbin/init程式
  • init程式是系統中的第一個程式,是所有程式的父程式
  • init程式的PID號永遠為1

Systemd

  • Systemd是Liunx作業系統的一種init軟體
  • Centos7中採用systemd啟動方式,取代傳統的sysvinit
  • centos7中執行的第一個init程式是/lib/systemd/systemd

Systemd單元型別

在這裡插入圖片描述

允許級別所對應的systemd目標

在這裡插入圖片描述

修復MBR扇區故障

  • MBR位於第一塊硬碟(/dev/sda)的第一個物理扇區處,總共512位元組。
    前446位元組是主開機記錄,分割槽表儲存在MBR扇區中的第447-510位元組中。
    #####故障原因有########
  • 病毒、木馬等造成的破壞
  • 不正確的分割槽操作、磁碟讀寫錯誤
    故障現象有
  • 找不到載入程式,啟動終端
  • 無法載入作業系統,開機後黑屏

解決思路

  • 提前做好備份檔案
  • 以安裝光碟引導進入急救模式
  • 從備份中恢復

操作

首先建立一個磁碟分割槽
在這裡插入圖片描述
在這裡插入圖片描述
格式化,然後在根目錄建立一個backup目錄,並掛載到backup目錄
在這裡插入圖片描述
MBR位於第一塊硬碟(/dev/sda)的第一個物理扇區處,總共512位元組
備份MBR扇區資料到其他磁碟(/dev/sdb1)

在這裡插入圖片描述
模擬破壞MBR扇區,用zero進行覆蓋
在這裡插入圖片描述
init6重啟
在這裡插入圖片描述
進入急救模式,rescue a centos system
在這裡插入圖片描述
選1.continue
在這裡插入圖片描述
建立backupdir,並掛載
在這裡插入圖片描述

確認mbr.bak存在,從backupdir提取進行覆蓋
在這裡插入圖片描述
exit退出,會自動重啟,問題解決

修復GRUB引導故障

故障原因有

  • MBR中的GRUB載入程式遭到破壞
  • grub.conf檔案丟失、引導配置有錯誤
    故障現象有
  • 系統引導停滯,顯示為“grub>”提示符

解決思路

  • 嘗試手動輸入引導命令(較繁瑣,不建議使用)
  • 進入急救模式,重寫或者從備份中恢復grub.conf
  • 向MBR扇區中重建grub程式

操作

使向MBR扇區中重建grub程式的方式修復
首先建立grub.cfg備份到opt目錄並刪除grub.cfg

在這裡插入圖片描述
重啟,出現故障在這裡插入圖片描述
再次重啟,在讀條狀態esc,並選擇3.cd-rom drive,就可選擇進入急救介面
在這裡插入圖片描述

切換到系統根環境
在這裡插入圖片描述
重新將GRUB載入程式安裝到第一塊硬碟的MBR扇區
在這裡插入圖片描述

重新構建GRUB選單的配置檔案
在這裡插入圖片描述

退出chroot環境並且重啟

相關文章