標籤:linux centos6.x 啟動流程 initramfs檔案系統
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啟動流程