1. 程式人生 > >基於linux之開機啟動時的系統排錯

基於linux之開機啟動時的系統排錯

一、系統引導過程概述

二,基於系統引導過程的排錯

2.1 BIOS初始化

• 基本輸入/輸出系統( BIOS )是內置於標準x86/x86-64 硬體的韌體介面,將硬體置於已知狀態並準備好系統以載入作業系統

• 出現什麼情況? 檢測並初始化硬體

確定從中引導的裝置

• 可能出現了什麼錯誤? 錯誤或異常BIOS設定錯誤引導裝置順序

• 可以如何中斷或影響?

按特定於供應商的鍵

使用特定於供應商的配置實用程式

通常, <F12>可以執行一次引導順序覆蓋

 2.2 grub磁碟引導階段——MBR的缺失

mbr的作用是記錄/boot目錄所在分割槽的位置,是系統開機時可以根據其位置,順利指向/boot目錄,其儲存在掛載/boot的磁碟分割槽的前446B。

1.檢視/boot掛載磁碟分割槽


2.刪除mbr

















應用,然後重啟


修復成功,此時介面會出現一個光碟機,為新增的映象


2.3 grub檔案引導階段

       在 /boot/grub2/grub.cfg檔案為開機引導檔案,它的作用為指定/boot分割槽的位置,載入核心,啟動系統初始化程式。

 


 2.3.1 刪除/boot/grub2/grub.cfg,未重新開機。

   

2.3.2  刪除/boot/grub2/grub.cfg,重新開機。




2.4  systemd初始化  

   1.開啟selinuxsystemd-tools

    2.載入核心引數

    3.載入系統時鐘,鍵盤,主機名稱

    4.讀寫掛載/檔案系統

    5.啟用

raid,lvm裝置

    6.啟用系統配額

    7.啟動multi-user.target.wants中的所有服務指令碼啟用虛擬控臺

    8.啟動圖形

2.4.1 核心引導階段,丟失vmlinuxz-3.10.0-123.e17.x86_64 檔案

 (1)未重新啟動

 




(2)重新啟動系統












應用,然後重啟

修復成功


2.4.2  initramfs-3.10.0-12.3.e17.x86_64檔案的缺失

(1)未重新啟動系統時

  

   

(2)重新啟動時

 

 










應用,然後重啟

修復成功

2.4.3 multi-user.target.wants中的開機設定錯誤

啟動級別

runlever0.target-> poweroff.target
runlever1.target-> rescue.target
runlever2.target-> multi-user.target 
runlever3.target-> multi-user.target 
runlever4.target-> multi-user.target
runlever5.target-> grapical.target
runlever6.target-> reboot.target
linux系統有0-6個啟動級別 0表示關機,系統預設執行級別不能設定為0,否則不能正常啟動 1表示單使用者工作狀態,root許可權,用於系統維護,禁止遠端登陸 2表示多使用者狀態 3表示完全多使用者狀態,登入後進入控制檯命令列模式 4表示系統未使用,保留 5代表有圖形模式啟動 6表示正常關閉並重啟,預設執行不能設為6,否則不能正常啟動 設定啟動級別"systemctl set-default+啟動級別"





設定完畢後按“Crtl+X"鍵退出

修復成功!