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