載入 BIOS 的硬體資訊,並取得第一個開機裝置的代號;
讀取第一個開機裝置的 MBR 的 boot Loader (grub)的開機資訊;读取磁碟上/boot里面的grub配置文件
載入 Kernel 作業系統核心資訊, Kernel 開始解壓縮,並且嘗試驅動所有硬體裝置;(vmlinuz,initrd.img)Kernel 執行 init 程式並取得 run-level 資訊(/etc/inittab); init 執行 /etc/rc.d/rc.sysinit 檔案; 啟動核心的外掛模組 (/etc/modprobe.conf);执行/etc/rc.d/rc (判断你的运行级别)
init 執行 run-level 的各個批次檔Scripts(/etc/rc.d/rc?.d); init 執行 /etc/rc.d/rc.local 檔案; 執行 /bin/login 程式,並等待使用者登入; 登入之後開始以 Shell 控管主機。
--------------------------------------------------------------------------------
/etc/rc.d/rc.sysinit 主要的工作大抵有這幾項:
載入 Kernel 作業系統核心資訊, Kernel 開始解壓縮,並且嘗試驅動所有硬體裝置;(vmlinuz,initrd.img)Kernel 執行 init 程式並取得 run-level 資訊(/etc/inittab); init 執行 /etc/rc.d/rc.sysinit 檔案; 啟動核心的外掛模組 (/etc/modprobe.conf);执行/etc/rc.d/rc (判断你的运行级别)
init 執行 run-level 的各個批次檔Scripts(/etc/rc.d/rc?.d); init 執行 /etc/rc.d/rc.local 檔案; 執行 /bin/login 程式,並等待使用者登入; 登入之後開始以 Shell 控管主機。

/etc/rc.d/rc.sysinit 主要的工作大抵有這幾項:
- 取得網路環境與主機類型:
首先讀取網路設定檔 /etc/sysconfig/network ,取得主機名稱與預設通訊閘 (gateway) 等網路環境。 - 測試與掛載記憶體裝置 /proc 及 USB 裝置 /sys:
除掛載記憶體裝置 /proc 之外,還會主動偵測系統上是否具有 usb 的裝置, 若有則會主動載入 usb 的驅動程式,並且嘗試掛載 usb 的檔案系統。 - 決定是否啟動 SELinux :
近期以來,很多 distributions 都加入了美國國家安全局發展的 Security Enhance Linux 套件, 這個 SELinux 可以更加強化 Linux 操作環境的安全性,不過,由於安全掛帥, 對於新手來說,不是很容易上手。因此,我們才會建議大家先不要啟動啊。無論如何, 在這個階段我們可以分析 SELinux 是否要啟動。 - 周邊設備的偵測與 Plug and Play (PnP) 參數的測試:
根據核心在開機時偵測的結果 (/proc/sys/kernel/modprobe ) 開始進行 ide / scsi / 網路 / 音效 等周邊設備的偵測,以及利用以載入的核心模組進行 PnP 裝置的參數測試。 - 使用者自訂模組的載入
使用者可以在 /etc/sysconfig/modules/*.modules 加入自訂的模組, 則此時會被載入到系統當中喔! - 載入核心的相關設定:
系統會主動去讀取 /etc/sysctl.conf 這個檔案的設定值,使核心功能成為我們想要的樣子。 - 設定系統時間 (clock):
- 設定終端機 (console) 字形:
- 設定 RAID 與 LVM 等硬碟功能:
- 以 fsck 檢驗磁碟檔案系統:
- 進行磁碟配額 quota 的轉換 (非必要):
- 重新以可讀取模式掛載系統磁碟:
- 啟動 quota 功能:
- 啟動系統亂數裝置 (產生亂數功能):
- 清除開機過程當中的暫存檔案:
- 將開機相關資訊載入 /var/log/dmesg 檔案中。
转载于:https://blog.51cto.com/bowen/97847