一、開機全過程 綜述: 當用戶打開 PC 的電源, 1 BIOS 開機自檢,按 BIOS" name="description" />
MILY: 宋體; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN">一、開機全過程
綜述:
當用戶打開PC的電源,1 BIOS開機自檢,按BIOS中設置的啟動設備(通常是硬盤)啟動,2接著啟動設備上安裝的引導程序lilo或grub開始引導Linux,3 Linux首先進行內核的引導,4接下來執行init程序,init程序調用了rc.sysinit和rc等程序,rc.sysinit和rc當完成系統初始化和運行服務的任務后,返回init;5 init啟動了mingetty后,打開了終端供用戶登錄系統,用戶登錄成功后進入了Shell,這樣就完成了從開機到登錄的整個啟動過程。
1 BIOS開機自檢
2 grub開始引導Linux
3 接下來執行init程序
init程序需要讀取配置文件/etc/inittab。inittab是一個不可執行的文本文件,它有若干行指令所組成。
###啟動時自動執行/etc/rc.d/rc.sysinit腳本(sysinit)
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
它調用執行了/etc/rc.d/rc.sysinit,而rc.sysinit是一個bash shell的腳本,它主要是完成一些系統初始化的工作,rc.sysinit是每一個運行級別都要首先運行的重要腳本。它主要完成的工作有:激活交換分區,檢查磁盤,加載硬件模塊以及其它一些需要優先執行任務。
4啟動對應運行級別的守護進程
在rc.sysinit執行后,將返回init繼續其它的動作,通常接下來會執行到/etc/rc.d/rc程序。以運行級別3為例,init將執行配置文件inittab中的以下這行:
l5:5:wait:/etc/rc.d/rc 5
這一行表示以5為參數運行/etc/rc.d/rc,/etc/rc.d/rc是一個Shell腳本,它接受5作為參數,去執行/etc/rc.d/rc5.d/目錄下的所有的rc啟動腳本,/etc/rc.d/rc5.d/目錄中的這些啟動腳本實際上都是一些鏈接文件,而不是真正的rc啟動腳本,真正的rc啟動腳本實際上都是放在/etc/rc.d/init.d/目錄下。而這些rc啟動腳本有著類似的用法,它們一般能接受start、stop、restart、status等參數。
5 啟動了mingetty
等待輸入用戶名和密碼
原文轉自:http://www.anti-gravitydesign.com