第一階段:BIOS啟動引導階段
在該過程中實現硬件的初始化以及查找啟動介質
從MBR中裝載啟動引導管理器(GRUB)並運行該啟動引導管理
第二階段:GRUB啟動引導階段
裝載stage1
裝載stage1.5
裝載stage2
讀取/boot/grub.conf文件並顯示啟動菜單
裝載所選的kernel和initrd文件到內存中
第三階段:內核階段
運行內核啟動參數
解壓initrd文件並掛載initd文件系統,裝載必須的驅動
掛載根文件系統
第四階段:Sys V init初始化階段
啟動/sbin/init程序
運行rc.sysinit腳本,設置系統環境,啟動swap分區,檢查和掛載文件系統
讀取/etc/inittab文件,運行在/et/rc.d/rc<#>.d中定義的不同運行級別的服務初始
化腳本
打開字符終端1-6號控制台/打開圖形顯示管理的7號控制台
啟動流程和細節詳解
BIOS ==> bootloader ==> kernel & initrd.img ==> /sbin/init
1.bootloader (grub)
/boot/grub/grub.conf <-- grub的配置文件,決定使用哪個kernel和initrd.img
在/boot/grub目錄中有兩個stage文件,其中:
stage1 <--- 大小是512字節,這個文件會被寫進MBR中
stage2 <--- stage1被引導之後,會調用這個文件
如果grub出現問題可能會有兩種情況:
a.無法進入grub,屏幕左上角只出現一個光標。出現這種情況基本上MBR已經被破壞,需要進入rescue模式進行修復。
--> chroot環境,執行 "grub-install /boot所在分區" 進行修復
--> 無grub相關命令時,安裝grub.rpm包進行恢復
--> /boot目錄下無相關的vmlinuz和initrd.img文件時,安裝kernel.rpm包進行修復
--> 無grub.conf時需要手工修復
b.grub成功加載,屏幕出現“grub>”,表示配置文件grub.conf找不到。
--> 手工修復
2.kernel & initrd.img
在加載vmlinuz和initrd時出現:kernel panic情況,基本是grub.conf設置參數出問題。
--> 檢查grub.conf編寫是否出現問題
--> 也有可能是分區設置或者硬盤損壞等問題,需要進入rescue模式檢查
3./sbin/init
/sbin/init的配置文件是/etc/inittab
按照這個配置文件,系統會依次執行以下腳本:
---> /etc/rc.d/rc.sysinit
定義hostname,重新掛載各分區,加載各模塊
---> /etc/rc.d/rc[0-6].d/目錄下以S開頭的腳本
啟動各runlevel的服務
---> mingetty /dev/tty[1-6]
啟用終端