紅帽Linux啟動流程詳解

來源:互聯網
上載者:User

在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

存放使用者啟動的指令碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.