CentOS系統啟動流程-f34510684的博客

CentOS系統啟動流程

CentOS 5、6系統啟動流程是差不多的,只是用到的init程序不同和配置文件的表現形式不同,但是為了保證兼容性,CentOS 6在組織上盡可能的向後兼容了CentOS 5。

CentOS 6啟動流程:

POST(加電自檢) –> Boot Sequence(BIOS) –> Bootloader(MBR) –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init(/etc/inittab、/etc/init/*.conf) –> 設定默認運行級別 –> 系統初始化腳本 –> 關閉或啟動對應級別下的服務 –> 啟動終端並打印登入提示符 [–> 啟動圖形終端並顯示登入畫面]

l?? 內核啟動

n?? POST:全稱是Power-On Self-Test。

n?? Boot Sequence:根據在BIOS當中Boot Sequence定義的設備啟動次序。

n?? Bootloader:搜索擁有Bootloader的設備並加載它以顯示操作系統菜單。Bootloader是存放在硬盤上的MBR。

n?? Kernel:用戶選擇要啟動的操作系統以加載Kernel,而且Kernel可能要借助於ramdisk來驅動根文件系統所在的設備以完成根文件系統加載的操作。

n?? rootfs:加載根文件系統。

n?? switchroot:加載完根文件系統以後做根切換。

l?? 用戶空間啟動

n?? /sbin/init(/etc/inittab、/etc/init/*.conf):運行init程序,並根據配置文件啟動系統。

n?? 設定默認運行級別:init根據配置文件(/etc/inittab)運行系統默認級別,例:id:3:initdefault:。

n?? 系統初始化腳本:init根據配置文件執行系統初始化腳本(/etc/rc.d/rc.sysinit)來完成系統初始化。

u? 配置文件

2? CentOS 5:/etc/inittab

[root@localhost?~]#?cat?/etc/inittab
...省略
#?System?initialization.
si::sysinit:/etc/rc.d/rc.sysinit
...省略

2? CentOS 6:/etc/init/rcS.conf

[root@CentOS6?~]#?cat?/etc/init/rcS.conf
...省略
console?output
pre-start?script
...省略
end?script
exec?/etc/rc.d/rc.sysinit
post-stop?script
...省略
end?script

n?? 關閉或啟動對應級別下的服務:對應級別為根據系統默認運行級別。

n?? 啟動終端並打印登入提示符:啟動虛擬終端,通常啟動的是tty1,並打印登入提示符讓用戶輸入帳號、密碼以登入使用。

n?? 啟動圖形終端:如果系統默認運行級別為5的話還會啟動圖形終端,並顯示登入介面讓用戶輸入帳號、密碼以登入使用。

init程序:

l?? CentOS 5:SysV

l?? CentOS 6:Upstart

l?? CentOS 7:Systemd

配置文件:

l?? CentOS 5:/etc/inittab

l?? CentOS 6:/etc/init/*.conf、/etc/inittab

l?? CentOS 7:/usr/lib/systemd/system/*、/etc/systemd/system/*

?

Leave A Comment