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

  • 2021 年 2 月 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環境並且重啟