CentOS 6.X启动流程
CentOS?6.X啟動流程
?
/boot分區
啟動引導程序是默認可以識別boot分區的.因此在系統還無法加載硬盤的時候,boot分區是可以識別的!
?
initramfs內存文件系統?
CentOS?6.x中使用initramfs內存文件系統取代了CentOS?5.x中的initrd?RAM?Disk。他們的作用類似,可以通過啟動引導程序加載到內存中,然后加載啟動過程中所需要的內核模塊[用來模擬真正的Linux文件系統結構,詳細信息如下],比如USB、SATA、SCSI硬盤的驅動和LVM、RAID文件系統的驅動.
?
測試initramfs文件系統
mkdir?/tmp/initramfs?
#建立測試目錄?
?
cp?/boot/initramfs-2.6.32-279.el6.i686.img?/tmp/initramfs/?
#復制initramfs文件?
?
cd?/tmp/initramfs/?
file?initramfs-2.6.32-279.el6.i686.img
#可以看出是一個gzip壓縮文件
mv?initramfs-2.6.32-279.el6.i686.img?initramfs-2.6.32-279.el6.i686.img.gz
#修改文件的后綴名為.gz?
?
gunzip?initramfs-2.6.32-279.el6.i686.img.gz?
#解壓縮
?
file?initramfs-2.6.32-279.el6.i686.img?
?
cpio?-ivcdu?<?initramfs-2.6.32-279.el6.i686.img?
#再繼續解壓縮
ls
#可以看出,他與Linux真正的文件系統非常相似!
?
執行/sbin/init進程
調用/etc/init/rcS.conf配置文件?
主要功能是兩個:?
先調用/etc/rc.d/rc.sysinit,然后由/etc/rc.d/rc.sysinit配置文件進行Linux系統初始化。?
然后再調用/etc/inittab,然后由/etc/inittab配置文件確定系統的默認運行級別。
[雖然CentOS?5.X中的/etc/inittab文件中的書寫順序與上面不同,但是真正的執行順序是相同的!]
?
由/etc/rc.d/rc.sysinit初始化?
1、獲得網絡環境?
2、掛載設備?
3、開機啟動畫面Plymouth(取替了過往的?RHGB)?
4、判斷是否啟用SELinux?
5、顯示于開機過程中的歡迎畫面?
6、初始化硬件?
7、用戶自定義模塊的加載?
8、配置內核的參數?
9、設置主機名?
10、同步存儲器?
11、設備映射器及相關的初始化?
12、初始化軟件磁盤陣列(RAID)?
13、初始化?LVM?的文件系統功能?
14、檢驗磁盤文件系統(fsck)?
15、設置磁盤配額(quota)?
16、重新以可讀寫模式掛載系統磁盤?
17、更新quota(非必要)?
18、啟動系統虛擬隨機數生成器?
19、配置機器(非必要)?
20、清除開機過程當中的臨時文件?
21、創建ICE目錄?
22、啟動交換分區(swap)?
23、將開機信息寫入/var/log/dmesg文件中
?
調用/etc/rc.d/rc文件?
運行級別參數傳入/etc/rc.d/rc這個腳本之后,由這個腳本文件按照不同的運行級別啟動/etc/rc[0-6].d/目錄中的相應的程序
?
/etc/rc3.d/k??開頭的文件(??是數字),會按照數字順序依次關閉?
/etc/rc3.d/S??開頭的文件(??是數字),會按照數字順序依次啟動
?
/etc/rc.local文件
只要將相關命令寫入該文件,在系統啟動時,該命令就會自動執行!
?
附-兩次硬件自檢:
1.固件自檢
2.Linux內核自檢
總結
以上是生活随笔為你收集整理的CentOS 6.X启动流程的全部內容,希望文章能夠幫你解決所遇到的問題。