Linux Linux是怎麼啟動的

2021-06-25 17:02:15 字數 1159 閱讀 2824

昨天筆試考了一道關於linux系統啟動的過程,當時沒答上來,現在整理出來(其實並不複雜)。

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

1、  bios加電自檢:

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

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

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

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

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

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

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

4、  linux核心映像:

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

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

1、  檢測硬體

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

3、  初始化與檔案系統相關的虛擬裝置,lvm或raid

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

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

5、  init程序

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

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

至此,linux啟動完成。

我們稍微總結一下:

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

swap分割槽是什麼?

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

**:

linux linux啟動流程

墨跡這麼久,總算開始核心源 分析了。階段1大部分為彙編,以程式啟動到執行到start kernel函式為第一階段。大概流程如下 變數與檔案的對應關係。thumb src arch arm include asm unified.h head.s的很多定義在src arch arm kernel he...

啟動linux Linux系統啟動流程

linux系統啟動流程 電源開關 手動操作按鈕 加電自啟動 載入bios 最接近硬體的軟體 各家廠商都會開發適合自己主機板的bios bios加電自檢 只有硬體沒有問題的情況下才能執行軟體 機器自檢後 引導系統。bios設定好的 預設讀取主引導記錄 mbr 即磁碟的地0個煮面的第0個磁軌的第乙個扇區...

Linux是怎麼啟動的

昨天筆試考了一道關於linux系統啟動的過程,當時沒答上來,現在整理出來 其實並不複雜 按下電源按鈕的直到歡迎頁出來之後,linux總共做的事可以分為五步來完成。1 bios加電自檢 加電自檢,檢測硬體裝置。然後按照cmos上面的順序來搜尋處在活動狀態下的可以引導的裝置。可以是光碟機 軟盤 usb等...