天天看點

linux系統引導過程

 系統引導過程

1 加電自檢(檢測bios)--->根據設定(如硬碟啟動,cdrom)查找MBR(主引導記錄bootloader 定義了如何

啟動目前硬碟上的作業系統,查找分區表,找到核心)

2 linux中grub實際上就是一個bootloader,可以引導windows,linux,unix,BSD等,grub分二段,第一段放在MBR中,第二段放在作業系統安裝所在的分區上,grub引導後出現菜單選擇菜單後,根據選擇來啟動對應作業系統的核心

3 加載核心 系統在這個時候會在grub的引導之下把核心讀到記憶體中去,并在記憶體中解開展開,展開後核心要初始化,初始化讀取根分區

4 加載根分區 讀取/sbin目錄 執行第一個init程序(這個程序是系統的初始化,加載驅動挂載裝置等)

5 加載init程序的時候需要讀取/etc/inittab配置檔案,而/etc/inittab 下定義了init怎麼工作 ,以及預設的運作級别和系統加載的初始化腳本 /etc/rc.d/rc.sysinit

7 由/etc/rc.d/rc.sysinit最終實作系統的初始化(完成設定網絡、主機名、加載檔案系統等初始化工作)

8 初始化後進入預設的級别需要的腳本/etc/rc.d/rc3.d (這個檔案裡所有腳本都是連結都指向/etc/init.d/*)

 (預設運作級别是/etc/inittab中定義的,運作 /etc/rcN.d/ 下的腳本,先執行 K 開頭的(按從低到高),再執行S開頭的(從低到高),01-99 啟動優先級,數字越小,優先級越高)

9 系統初始化結束的時候,運作服務檔案并執行/etc/rc.d/rc.local

10 啟動mingetty 啟動一個虛拟終端,給你一個登陸界面

<a target="_blank" href="http://blog.51cto.com/attachment/201101/003818202.png"></a>

開機是由init控制 init在/etc/inittab配置檔案中定義了開機要執行的腳本

 /etc/rc.d/rc.sysinit

由init程序調用執行,完成設定網絡、主機名、加載檔案系統等初始化工作

/etc/rc.d/rc腳本檔案

由init程序調用執行,根據制定的運作級别,加載或者終止相應的服務

/etc/rc.loal腳本檔案

由rc腳本調用執行

儲存使用者定義的需開機後自動執行的指令

本文轉自 張玉坡 51CTO部落格,原文連結:http://blog.51cto.com/fighter/472693

繼續閱讀