Linux系統啟動流程(以CentOS 6為物件)

2021-10-06 00:23:53 字數 1247 閱讀 5437

linux 系統的啟動,從計算機開機通電自檢開始,一直到登陸系統,需要經歷多個過程。學習 linux 的啟動過程,有助於了解 linux 系統的結構,也對系統的排錯有很大的幫助。

centos 6.x 系統啟動過程發生了較大的變化,使用 upstart 啟動服務取代了原先的 system v init 啟動服務。upstart 啟動服務的效率更高,啟動速度更快。

linux 系統啟動過程比較複雜,我們先整理一下基本的啟動過程,有乙個整體的印象,然後再進一步說明。

目前,centos 6.x 的啟動流程經歷以下幾步:

伺服器加電,載入 bios 資訊,bios 進行系統檢測。依照 bios 設定,找到第乙個可以啟動的裝置(一般是硬碟);

讀取第乙個啟動裝置的 mbr (主引導記錄),載入 mbr 中的 boot loader(啟動引導程式,最為常見的是 grub)。

依據 boot loader 的設定載入核心,核心會再進行一遍系統檢測。系統一般會採用核心檢測硬體的資訊,而不一定採用 bios 的自檢資訊。核心在檢測硬體的同時,還會通重載入動態模組的形式載入硬體的驅動。

核心啟動系統的第乙個程序,也就是 /sbin/init。

由 /sbin/init 程序呼叫 /etc/init/rcs.conf 配置檔案,通過這個配置檔案呼叫 /etc/rc.d/rc.sysinit 配置檔案。而 /etc/rc.d/rc.sysinit 配置檔案是用來進行系統初始化的,主要用於配置計算機的初始環境。

還是通過 /etc/init/rcs.conf 配置檔案呼叫 /etc/inittab 配置檔案。通過 /etc/inittab 配置檔案來確定系統的預設執行級別。

確定預設執行級別後,呼叫 /etc/init/rc.conf 配置檔案。

通過 /etc/init/rc.conf 配置檔案呼叫並執行 /etc/rc.d/rc 指令碼,並傳入執行級別引數。

/etc/rc.d/rc 確定傳入的執行級別,然後執行相應的執行級別目錄 /etc/rc[0-6].d/ 中的指令碼。

/etc/rc[0-6].d/ 目錄中的指令碼依據設定好的優先順序依次啟動和關閉。

最後執行 /etc/rc.d/rc.local 中的程式。

如果是字元介面啟動,就可以看到登入介面了。如果是圖形介面啟動,就會呼叫相應的 x window 介面。

總的來說,linux 系統的啟動,要經歷bios自檢 -> 啟動 grub -> 載入核心 -> 執行第乙個程序 -> 配置系統初始環境。當然,本節僅是簡單地看啟動過程,接下來分別詳解介紹每步啟動過程。

Linux系統啟動流程

這是看linuxcast的筆記 linux系統啟動 使用grub引導 順序是 bios通電自檢,並找到512位元組的mbr 是grub引導的第一階段 把控制權交給mbr grub分兩個階段引導系統 第一階段mbr中的主引導引導程式加次引導載程式 第二階段次引導引導程式載入核心映像 核心映像建立進第乙...

Linux系統啟動流程

載入 bios 的硬體資訊與進行自我測試,並依據配置取得第乙個可啟動的裝置 讀取並執行第乙個啟動裝置內 mbr 的 boot loader 亦即是 grub,spfdisk 等程式 依據 boot loader 的配置載入 kernel kernel 會開始偵測硬體與載入驅動程式 在硬體驅動成功後,...

linux系統啟動流程

核心空間啟動主要流程 1 init main.c start kernel 2 init main.c rest init 3 init main.c kernel init 4 init main.c init post 核心至使用者空間啟動主要流程 openwrt使用者空間啟動主要流程 1 et...