紅帽Linux啟動流程詳解

2022-03-15 10:27:51 字數 1868 閱讀 8137

在linux社群中看到了這篇文章,關於啟動的,還是得好好學習一下!

主要的啟動流程

初始化bios→執行啟動載入器→載入核心→啟動init服務

bios

1.1檢測所有外設

檢測有那些外設,以及外設的錯誤

1.2尋找啟動裝置

依據bios裡面設定的啟動順序來尋找可以啟動的裝置(cd-rom、ide-hdd、floppy….)

啟動載入器

bios找到啟動裝置後,接下來就是啟動該裝置中的作業系統。bios會試著依照下列的順序找出啟動扇區,也就是主引導記錄(mbr)的磁區。

2.1尋找硬碟的第乙個扇區,也就是主引導記錄。

2.2如果主引導記錄中沒有儲存作業系統,則尋找磁碟中標註為啟動分割槽(bootpartition)的第乙個扇區中的作業系統。

不管是主引導記錄扇區還是啟動分割槽中的第乙個扇區,儲存作業系統的空間都只有446個位元組。目前的作業系統沒法擠在這麼小的空間內。如果沒有辦法在 上面提到的扇區中儲存作業系統的核心,那麼,就會使bios無法繼續啟動的工作。為了避免重新定製bios的規則,又能讓bios可以順利啟動儲存於其他 位置的作業系統核心,人們想出來的辦法就是寫乙個小小的程式,儲存到啟動扇區的前446個位元組空間內。然後再由這個小程式來載入儲存到其他位置的操作系 統。

這個小程式就是「啟動載入器」(linux預設是grub)

啟動核心

當bios順利的執行啟動載入器後,啟動載入器會尋找儲存在其他扇區的作業系統,然後啟動它。linux核心啟動後會執行下列幾項工作

3.1檢測所有的硬體裝置

核心向bios查詢計算機的所有硬體資訊,然後自己接管這些硬體裝置,以便提供給系統使用。

3.2驅動硬體裝置

接著linux驅動硬體

要驅動硬體裝置,就必須載入它的驅動。linux的驅動程式分為編譯在核心的靜態驅動程式與核心模組的動態驅動程式兩種。其中動態驅動程式儲存在檔案系統中。

由於此時還沒有掛載任何檔案系統,所以只能使用靜態驅動程式,驅動一些其能驅動的程式。其他的硬體要等到掛載完根檔案系統後才能驅動。

以唯讀的方式掛載根檔案系統

接著linux核心會嘗試著去掛載根檔案系統,掛載根檔案系統有兩個目地。

安裝適當的核心模組,以便驅動某些硬體裝置或啟動某些功能。

啟動儲存於根檔案的init服務,以便讓init服務接管後續的啟動工作。

啟動init服務

啟動核心後的最後乙個動作就是啟動init服務。linux核心會按照如下順

序來尋找init服務。

找/sbin/是否有init服務

找/etc/init

找/bin/init

如果都找不到,最後執行/bin/sh

初始化系統環境

啟動init服務時,init服務會讀取/etc/inittab檔案,根據該檔案的設定進行初始化系統環境的工作。該檔案定義init服務在linux啟動過程中必須依序執行以下幾個script。

/etc/init.d/rc.sysinit

/etc/init.d/rc

/etc/init.d/rc.local

下面介紹一下這幾個rcscript都做了什麼事情

/etc/init.d/rc.sysinit

啟動udev與selinux子系統

設定核心引數

設定系統時間

載入鍵盤對應表

啟用虛擬記憶體空間

設定主機名

檢測並掛載所有檔案系統

初始化硬體

啟用軟體磁碟陣列與lvm

初始化串列埠

清除過期的鎖定檔案與ipc檔案

重新設定硬碟引數

/etc/rc.d/rc

這個用來建立runlevel環境

/etc/rc.d/rc.local

存放使用者啟動的指令碼

Linux 的啟動流程詳解

第一階段 bios啟動引導階段 在該過程中實現硬體的初始化以及查詢啟動介質 從mbr中裝載啟動引導管理器 grub 並執行該啟動引導管理 第二階段 grub啟動引導階段 裝載stage1 裝載stage1.5 裝載stage2 讀取 boot grub.conf檔案並顯示啟動選單 裝載所選的kern...

linux系統啟動流程詳解

linux系統啟動流程詳解 對系統的流程先有乙個大概的了解 開電源 bios自檢 啟動裝置 磁碟 oru盤or光碟機 引導程式 lilo或grub 核心 init程式 rc.sysinit和 rc mingetty 終端登入 shell.現在分為四個階段來講述 第一階段 bios啟動引導階段實現硬體...

Linux系統啟動流程詳解

以下是centos6的啟動流程 linux系統啟動的大體流程,可以概括為 post bios grub kernel init post 加電自檢 linux系統在接通電源後,首先系統會啟動post加電自檢程式來對內部的各個配件進行自檢,若在自檢的過程中發現錯誤,這可能會出現以下兩種情況 1.若出現...