Linux開機過程__Linux

來源:互聯網
上載者:User

參考:
Linux開機過程
Linux啟動流程
電腦是如何啟動的 引言

每個硬碟最多有一個MBR,這個MBR有512Bytes,以0x55開始,0xAA結束。MBR分為446Bytes與64Bytes,前446Bytes是一些開機的資訊,後64Bytes是分區表資訊,每個分區有16Bytes,所以最多有4個主要磁碟分割。但是有一種擴充分區,Linux中最多有一個擴充分區,擴充分區中還可以有邏輯分區,邏輯分區理論上沒有上限。
每個分區中可以裝一個作業系統,每個作業系統啟動時需要一個boot loader來啟動它,這個boot loader會放在一個叫boot sector的地方。即每個分區開始處就會有一個boot sector,裡面存放的是這個作業系統的引導程式,也就是分區引導程式。所以開機過程中MBR會找到這個boot secotr,然後啟動boot loader。Linux中最常見的boot loader就是Grub。
但是如果我有多個作業系統怎麼辦呢。這時MBR中就會跳過尋找分區表中的啟用分區,而是啟動boot loader,比如Grub。然後讓我們自己來選取啟動哪個作業系統。
之後電腦的控制權就交給Grub來處理。 Boot loader 主要功能: 提供選單。如果你有多個作業系統,那麼就是讓你選擇啟用那個作業系統的Boot sector。 載入kernel。直接指向可以開機的程式段來開始作業系統。 轉交給其他loader。


這個圖中的MBR就是啟動了Boot loader來讓我們自己選擇載入哪個作業系統的kernel檔案。圖中紅色就是kernel檔案。 開機過程

首先是充電,啟動BIOS進行硬體自檢,然後BIOS把控制權轉交給下一個階段的啟動程式。
這個下一個階段的啟動程式存放在哪個裝置中呢。即BIOS需要一個外部裝置的排序,根據排序以及外部裝置的內容來轉交控制權。
BIOS找到一個優先順序最高且可作為啟動裝置的裝置之後,就把控制權交給這個裝置的MBR,即下一個階段的啟動程式
在MBR中後64位元組記錄了整個裝置的大致分區情況。根據MBR的資訊找到boot loader,然後根據boot loader啟動作業系統的kernel。
上述過程完成之後,控制權就轉交給作業系統了。 grub

Grub是Linux的一個常用boot loader,可以根據grub來載入Linux核心。

聯繫我們

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