一:簡述
???? Linux-Ceentos系統(tǒng)開機啟動流程簡述如下军浆,后續(xù)小節(jié)會對重要節(jié)點做詳細描述
1:加電自檢? ---> 2:MBR引導系統(tǒng)啟動,相當于GRUB的第一階段? ----> 3: GRUB1.5階段 加載boot文件系統(tǒng)驅(qū)動--> 4 :grub 2階段 ,讀取/boot/grub/grub.conf文件 ---> 5: 加載系統(tǒng)內(nèi)核/boot/vmlinuz內(nèi)核文件至內(nèi)存--> 6: 加載/boot/initramfs虛擬文件系統(tǒng),加載合適的驅(qū)動程序,以只讀方式掛載根文件系統(tǒng) ----> 7:加載根下的第一個進程/sbin/init? -->? 8:加載系統(tǒng)第一個配置文件/etc/inittab把沼,確定系統(tǒng)的啟動模式? -->9? 加載系統(tǒng)的第一個腳本
/etc/rc.d/rc.sysinit,系統(tǒng)初始化腳本: --> 10 根據(jù)系統(tǒng)的啟動模式 ,依據(jù) /etc/rc.d/rc#.d下的文件 依次開啟服務
二:各階段簡述
1 POST:power-on-slef-test
???? 加電自檢:檢測外部硬件是否正常工作吁伺,如cpu.內(nèi)存饮睬,顯卡,硬盤篮奄,鍵盤捆愁,光驅(qū)割去。
2 :MBR引導系統(tǒng)啟動
??????? MBR一共512字節(jié),存放在硬盤的0扇區(qū)0柱面1磁道上滓彰。它的主要功能為引導系統(tǒng)啟動控妻,相當于grub的第一階段,在/boot/grub/stage1內(nèi)存放的二進制代碼與MBR一致揭绑。 MBR可以確定此分區(qū)是否為主活動分區(qū)弓候,由第一字節(jié)所決定,00為非活動分區(qū)80為活動分區(qū)他匪。MBR的后續(xù)字節(jié)可以檢測硬盤分區(qū)表是否完好
??????? bootloder:前446字節(jié)菇存,引導加載器,引導系統(tǒng)啟動的一段程序邦蜜。不同的系統(tǒng)依鸥,引導程序不一樣。windows:不支持linux啟動悼沈。linux:允許用戶選擇要啟動的內(nèi)核版本贱迟,支持windows啟動
3 :grub階段
??????? grub1.5:加載boot文件系統(tǒng)的驅(qū)動文件
??????? grub2.0:讀取/boot/grub.conf文件,加載內(nèi)核文件/boot/vmlinuz至內(nèi)核絮供,加載/boot/initramfs虛擬文件系統(tǒng)衣吠,加載根文件系統(tǒng)的驅(qū)動程序,以只讀方式掛載真實的根文件系統(tǒng)
4:啟動系統(tǒng)的第一個進程
讀取系統(tǒng)第一個配置文件/etc/inittab壤靶。確定系統(tǒng)默認在什么模式下啟動系統(tǒng)
5:啟動系統(tǒng)的第一個腳本
系統(tǒng)初始化腳本:/etc/rc.d/rc.sysinit缚俏,此腳本主要完成的內(nèi)容如下
(1)設置主機名
(2)掛載/etc/fstab文件中定義的文件系統(tǒng)
(3)檢測根文件系統(tǒng),并以讀寫方式重新掛載根文件系統(tǒng)
在/boot/initramfs時是以只讀方式掛載根文件系統(tǒng)
(4)設置歡迎信息
(5)激活udev和selinux
(6)設置系統(tǒng)時鐘
(7)激活swap設備
(8)根據(jù)/etc/sysctl.conf文件設置內(nèi)核參數(shù)
(9)激活lvm及software raid設備
(10)加載額外設備的驅(qū)動程序
(11)清理操作
6:根據(jù)系統(tǒng)啟動的模式讀取用戶的服務文件
讀取此目錄下的文件來 關(guān)閉或開啟相關(guān)服務