linux的啟動過程

來源:互聯網
上載者:User

linux作業系統啟動之前,首先是硬體上電, BIOS,然後是主引導載入程式等。

我們從上電開始說起直到init進程。

啟動第一部分:從系統上電到進入linux作業系統。

第二部分:linux作業系統開始初始化到啟動init進程。

第一部分:

1.系統上電之後,會從0xffff,fff0處取指令。在0xffff,fff0地址處是一個跳轉指令,通過此指令,CPU跳轉到BIOS(位於ROM中)開始運行BIOS程式。

2.BIOS程式分兩個部分:其一主要做自檢工作,這個工作叫做POST(power on self test),這部分工作主要是檢查硬體,其中有顯卡,記憶體和系統匯流排,其中PCI的裝置枚舉過程就是在此完成的。例如沒有鍵盤的話,會在此檢查出來,並有提示。

 

2.1其一部分是:讀入“引導塊”。通過BIOS設定的引導順序(“引導順序”這個大家都很明白吧,就是從哪兒啟動,一般是硬碟啟動,安裝系統時從光碟片啟動),依次從硬碟,光碟片,軟碟機中讀入“引導塊”。此引導塊是第一扇區的512個位元組。一般來說都是從硬碟中讀出此“引導塊”並儲存到RAM中,此時CPU從BIOS跳轉到主引導載入程式。

3.主引導載入程式:

主引導載入程式的工作是尋找並載入次引導載入程式(第二階段)。它是通過在分區表中尋找一個使用中的磁碟分割來實現這種功能的。當找到一個使用中的磁碟分割時,它會掃描分區表中的其他分區,以確保它們都不是活動的。當這個過程驗證完成之後,就將使用中的磁碟分割的引導記錄從這個裝置中讀入 RAM 中並執行它。

4.次引導載入程式:

次引導載入程式(第二階段引導載入程式)可以更形象地稱為核心載入程式。這個階段的任務是載入 Linux 核心和可選的初始 RAM 磁碟。

在 x86 PC 環境中,第一階段和第二階段的引導載入程式一起稱為 Linux Loader(LILO)或 GRand Unified Bootloader(GRUB)。

5.啟動作業系統。(當然也可以是windows系統)

在此啟動的第一部分完成,開始運行作業系統,注意以上過程全部使用真實位址模式。

 

 

以硬碟啟動為例

  1. 開機

  2. BIOS 加電自檢 ( Power On Self Test -- POST ) 記憶體位址為 0FFFF : 0000

  3. 將硬碟第一個扇區 (0頭0道[柱面]1扇區,也就是Boot Sector) 讀入記憶體位址0000 : 7C00 處.

  4. 檢查(WORD) 0000 : 7DFE 是否等於0xAA55,若不等於則轉去嘗試其它啟動介質

  如果沒有其它啟動介質則顯示"No ROM BASIC" 然後死機.

  5. 跳轉到0000 : 7C00 處執行MBR 中的程式.

  6. MBR 首先將自己複製到 0000 : 0600 處, 然後繼續執行.

  7. 在主要磁碟分割表中搜尋標誌為活動的分區. 如果發現沒有使用中的磁碟分割或有不止一個使用中的磁碟分割, 則轉停止.

  8. 將使用中的磁碟分割的第一個扇區讀入記憶體位址 0000 : 7C00 處.

  9. 檢查(WORD) 0000 : 7DFE是否等於0xAA55,若不等於則顯示"Missing Operating System"然後停止,或嘗試磁碟片啟動

  10. 跳轉到0000 : 7C00處繼續執行特定系統的啟動程式.

  11. 啟動系統 ...

  以上步驟中 2,3,4,5 步是由 BIOS 的引導程式完成. 6,7,8,9,10步由MBR中的引導程式完成.

 

更詳細的介紹:

http://www.ibm.com/developerworks/cn/linux/l-linuxboot/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.