⭐
- 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環境並且重啟