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)----->尋找第一個可啓動設備

centos 6 加入開機啓動_初始化

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總結

  1. BIOS將控制權交給硬盤的主引導區,即MBR
  2. MBR中的bootloader(stage1)通過內置的地址加載stage1_5
  3. bootloader通過stage1_5的內容,將分區中的stage2加載
  4. 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)圖形化登錄



centos 6 加入開機啓動_centos 6 加入開機啓動_02


centos 6 加入開機啓動_centos 6 加入開機啓動_03