當前位置:才華齋>計算機>作業系統>

Linux系統開機啟動過程詳細分解

作業系統 閱讀(1.19W)

按下電源按鈕的直到歡迎頁出來之後,linux總共做的事可以分為五步來完成。

Linux系統開機啟動過程詳細分解

1、 BIOS加電自檢:

加電自檢,檢測硬體裝置。然後按照cmos上面的順序來搜尋處在活動狀態下的可以引導的裝置。可以是光碟機、軟盤、USB等。

2、 載入主引導載入程式(MBR):

主載入程式是一個512位元組的映像。包含一點機器碼還有一個小的分割槽。

主載入程式的`任務就是查詢並且載入處在硬碟分割槽上的次載入程式。通過分割槽表查詢活動分割槽,並將處在活動分割槽的次引導載入程式讀取到記憶體裡面執行。

3、 載入次引導記載程式(GRUB)

次引導載入程式只要就是載入linux核心。

上一階段結束之後次引導載入程式就會在記憶體裡面跑起來。就會出現GRUB圖形介面,讓使用者選擇載入什麼樣的核心。

4、 linux核心映像:

使用者選擇要載入的核心之後,次引導載入程式(GRUB)就會根據/boot/配置檔案中所設定的資訊,從/boot/所在的分割槽上讀取Linux核心映像,然後把核心映像載入到記憶體中並把控制權交給Linux核心。

linux核心獲得控制權之後開始幹自己的事

1)、 檢測硬體

2)、 解壓縮自己並安裝必要驅動

3)、 初始化與檔案系統相關的虛擬裝置,LVM或RAID

4)、 裝載根檔案系統,掛在根目錄下面

5)、 完成之後,linux在程序空間裡面載入init程式,下面輪到init幹活

5、 init程序

init是所有程序的發起者和控制者,所有的程序都由此衍生。

init程序獲得控制權之後,它會執行/etc/rc.d/nit指令碼,根據裡面的程式碼設定環境變數、網路、啟動swap、檢查並掛載檔案系統、執行其他初始化工作。

至此,linux啟動完成。

我們稍微總結一下:

首先是BIOS加電自檢,之後載入主引導載入程式、次引導載入程式,最後就是linux核心映像,完了把控制權交給init程序,完成初始化工作。

swap分割槽是什麼?

類似windows系統中的虛擬記憶體,當實體記憶體不夠用的時候,使用swap中的記憶體。