Linux的啟動過程

2021-09-18 01:09:06 字數 2312 閱讀 8143

不管是 windows 還是 linux 作業系統,底層裝置一般均為物理硬體,作業系統啟動之前會對硬體進行檢測,然後硬碟引導啟動作業系統,如下為作業系統啟動相關的各個概念:

1、bios

基本輸入輸出系統(basic input output system,bios)是一組固化到計算機主機板上的

唯讀記憶體映象(read only memory image,rom)晶元上的程式,它儲存著計算機最重要的

基本輸入輸出的程式、系統設定資訊、開機後自檢程式和系統自啟動程式。主要功能是為計

算機提供最底層的、最直接的硬體設定和控制。

2、mbr

全新硬碟在使用之前必須進行分割槽格式化,硬碟分割槽初始化的格式主要由兩種,分別是:

mbr 格式和 gpt 格式。

如果使用 mbr 格式,作業系統將建立主引導記錄扇區(main boot record,mbr),

mbr 位於整塊硬碟的 0 磁軌 0 柱面 1 扇區,主要功能是作業系統對磁碟進行讀寫時,判斷分割槽的合法性以及分割槽引導資訊的定位。

主引導扇區總共為 512 位元組,mbr 只占用了其中的 446 個位元組,另外的 64 個位元組為硬碟分割槽表 (disk partition table,dpt),最後兩個位元組「55,aa」是分割槽的結束標誌。

在 mbr 硬碟中,硬碟分割槽資訊直接儲存於主引導記錄(mbr)中,同時主引導記錄還

儲存著系統的引導程式,如圖 所示:

mbr 是計算機啟動最先執行的硬碟上的程式,只有 512 位元組大小,所以不能載入操作

系統的核心,只能先載入乙個可以載入計算機核心的程式,我們稱之為引導程式。

因為 mbr 分割槽標準決定了 mbr 只支援在 2tb 以下的硬碟,對於後面的多餘空間只能

浪費。為了支援能使用大於 2t 硬碟空間,微軟和英特爾公司在可擴充套件韌體介面(extensible

firmware inte***ce,efi)方案中開發了全域性唯一的識別符號(globally unique identifier,guid),

進而全面支援大於 2t 硬碟空間在企業中使用

3、gpt

全域性唯一的識別符號(globally unique identifier,guid),正逐漸取代 mbr 成為新標準。

它和統一的可擴充套件韌體介面 (unified extensible firmware inte***ce,uefi)相輔相成。

uefi 用於取代老舊的 bios,而 gpt 則取代老舊的 mbr。之所以稱為「guid 分割槽表」,是

因為驅動器上的每個分割槽都有乙個全域性唯一的識別符號。

在 gpt 硬碟中,分割槽表的位置資訊儲存在 gpt 頭中。出於相容性考慮,第乙個扇區同

樣有乙個與 mbr 類似的標記,叫做受保護的主引導記錄(protected main boot record,

pmbr)。

pmbr 的作用是當使用不支援 gpt 的分割槽工具時,整個硬碟將顯示為乙個受保護的分

區,以防止分割槽表及硬碟資料遭到破壞,而其中儲存的內容和 mbr 一樣,之後才是 gpt

頭。gpt 優點支援 2t 以上磁碟,如果使用 fdisk 分割槽,最大只能建立 2tb 大小的分割槽,建立大於 2tb 的分割槽,需使用 parted,同時必須使用 64 位作業系統,mac、linux 系統都能支援 gpt 分割槽格式,windows 7/8 64bit、windows server 2008 64bit 支援 gpt。

如圖所示:

gnu 專案的多作業系統啟動程式(grand unified bootloader,grub),可以支援多操

作系統的引導,它允許使用者可以在計算機內同時擁有多個作業系統,並在計算機啟動時選擇

希望執行的作業系統。

grub 可用於選擇作業系統分割槽上的不同核心,也可用於向這些核心傳遞啟動引數。它

是乙個多重作業系統啟動管理器。用來引導不同系統,如 windows,linux。linux 常見的

引導程式包括:lilo、grub、grub2,centos 7 linux 預設使用 grub2 引導程式,引導

系統啟動。

grub2 是基於 grub 開發成更加安全強大的多系統引導程式,最新 linux 發行版都是

使用 grub2 作為引導程式。同時 grub2 採用了模組化設計,使得 grub2 核心更加精煉,

使用更加靈活,同時也就不需要像 grub 分為 stage1,stage1.5,stage2 三個階段

Linux啟動過程

1 開啟 pc電源 pc加電後,乙個特殊的硬體電路會觸發 cpu 的 reset 腳的邏輯值,然後一些 cpu 暫存器,如 cs eip 等被給定乙個值,接著 cpu 跳轉到乙個固定位址開始執行 bios 2 bios 自檢,按設定的裝置啟動 bios 對硬體進行一系列徹底的檢查,如 cpu 型別 ...

Linux 啟動過程

fae 將porting 好的linux 提供,幾乎都在寫應用 空閒時間整理一下 b1202 系統啟動的過程 通過 boot vm 進行啟動 vmlinuz init 程序會讀取 etc inittab etc inittab 先 etc rc.d rc.sysinit 再 etc rc.d rc3...

Linux啟動過程

1.加電時由硬體將bios載入到記憶體末尾.這時是實模式,定址空間為1m.2.由硬體將cs段暫存器強制設定為0xffff,ip指令暫存器設定為0x0000.這樣cs ip指向了oxffff0的位址位置.這個位置就是bios程式的入口位址.3.執行bios程式.在記憶體起始位址0x00000設定1k大...