centos5,6啓動流程:
1.post
2.grub
- 2.1stage1 mbr 446
- 2.2stage1.5 mbr後面的27 sectors
- 2.3stage2 /boot/grub
3.核心文件:/boot/vmlinuz-VERSION-release
4.偽根系統:/boot/initramfs-VERSION-release.img
5.mount /
6./sbin/init /etc/inittab N
7./etc/rc.d/rc.sysinit
8./etc/rcN.d/K*
9./etc/rcN.d/S*
10./etc/rc.d/rc.local
11.mingetty login
12.windows
文字描述
1.加載BIOS的硬件信息,獲取第一個啓動設備
2.讀取第一個啓動設備MBR的引導加載程序(grub)的啓動信息
3.加載核心操作系統的核心信息,核心開始解壓縮,並嘗試驅動所有的硬件設備
4.核心執行init程序,並獲取默認的運行信息
5.init程序執行/etc/rc.d/rc.sysinit文件
6.啓動核心的外掛模塊
7.init執行運行的各個批處理文件(scripts)
8.init執行/etc/rc.d/rc.local
9.執行/bin/login程序,等待用户登錄
10.登錄之後開始以Shell控制主機
分步解析
1.加載BIOS,開機自檢(post)----->尋找第一個可啓動設備
2.讀取GRUB(主引導程序)----->讀取第一個可啓動設備的第一個扇區
- primary boot loader:
- 1---stage1)MBR 446 stage1
-
- 2---stage1.5 )識別相應的文件系統,從而加載stage2文件-----stage1與stage2的橋樑
- secondary boot loader
- 2---stage2)引導菜單 /boot/grub/grub.conf
第1和第2總結
- BIOS將控制權交給硬盤的主引導區,即MBR
- MBR中的bootloader(stage1)通過內置的地址加載stage1_5
- bootloader通過stage1_5的內容,將分區中的stage2加載
- stage2此時就可以在文件系統中將grub.conf文件加載,讓用户看到選項界面。
3.執行內核文件:/boot/vmlinuz-VERSION-release
4.加載偽根系統:/boot/initramfs-VERSION-release.img
為掛載/提供模塊
5.以只讀方式掛載根文件系統(mount /)
6.運行第1個應用程序(用户空間),初始化
/sbin/init(第1個用户進程)根據/etc/inittab配置文件來執行相應的腳本進行初始化
7.init執行系統初始化腳本:/etc/rc.d/rc.sysinit
8. init執行指定運行級別的腳本(停止類)
/etc/rcN.d/K*(按順序停止每個服務)
9. init執行指定運行級別的腳本(開始類)
/etc/rcN.d/S*(按順序開始每個服務)
10.在2、3、5模式下會執行的腳本
/etc/rc.d/rc.local
11.等待用户登錄
/sbin/mingetty
1)命令行登錄
2)圖形化登錄