基於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.開啟selinux和systemd-tools
2.載入核心引數
3.載入系統時鐘,鍵盤,主機名稱
4.讀寫掛載/檔案系統
5.啟用
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"鍵退出
修復成功!