UEFI與 Legacy BIOS兩種啟動模式詳解

來源:互聯網
上載者:User

標籤:war   bcd   tmg   輸入   破壞   硬碟分區   應用程式   sector   這一   

(1)、 UEFI啟動模式 與 legacy啟動模式

legacy啟動模式: 就是這麼多年來PC一直在使用的啟動方式(從MBR中載入啟動程式),UEFI BIOS作為一種新的BIOS自然也應該相容這種老的啟動方式;

UEFI啟動模式: UEFI BIOS下新的啟動技術。如果你的PC在UEFI啟動模式下預裝了Win8,你會發現有兩個很小的隱藏式磁碟分割。一個叫ESP(EFI系統磁碟分割),另一個MSR(Microsoft保留分區,通常為128MB)。MSR是windows要求的。ESP對UEFI啟動模式很重要,UEFI的引導程式是以尾碼名為.efi的檔案存放在ESP分區中的,ESP分區採用fat32檔案系統。此外,可能還存在一個小分區叫WinRE Tools,這個是win8的恢複分區,體積也很小。所以千萬不要把這三個分區刪了。

因此第一個關鍵問題就是確定自己的啟動模式,方法是進入BIOS,然後你會發現有一項叫"boot mode",選中"UEFI boot"就是UEFI啟動模式,選中"Legacy boot"就是Legacy啟動模式。

(2)、 UEFI啟動模式只支援64位的系統,所以預裝的win8是64位的, Ubuntu(烏班圖)是一個以案頭應用為主的Linux作業系統,也需要64位的。

(3)、 UEFI BIOS 和 Legacy BIOS

我們都知道可以在傳統的bios中調整裝置的啟動優先順序,UEFI BIOS在UEFI啟動模式下不但可以調整裝置的優先順序,還可以調整裝置中引導程式的優先順序,安裝完ubuntu之後,你再進BIOS就會發現多了一個可選擇的啟動項叫ubuntu。此外,UEFI BIOS也引入了一些新的技術,例如Fast boot和secure boot,當然後面一項完全是用來坑爹的。

(4)、 UEFI啟動模式下如何從u盤或移動硬碟引導

只要u盤或移動硬碟上有一個fat32的分區,分區的根目錄下有個檔案夾叫EFI,UEFI就會自動去尋找相應的開機檔案(.efi)

如果你剛製作了ubuntu(kylin)-13.04-64位的啟動u盤,可以開啟它,你會發現分區的檔案系統是fat32,確實有一個EFI檔案夾,進去看看就是各種.efi引導檔案(這裡再次強調64位,32位下你是找不到這個檔案夾的)。因此現在想製作可開機u盤或移動硬碟就簡單了,只需要複製粘貼就行了。

 

Legacy BIOS Boot 是如何啟動或引導的

當系統首次引導時,或系統被重設時,處理器會執行一個位於已知位置處的代碼。這個位置在基本輸入 / 輸出系統(BIOS) 中。CPU 會調用這個重設向量來啟動一個位於快閃記憶體/ROM 中的已知地址處的程式。通常,它執行一個啟動自測(POST來檢查機器。最後,它從引導磁碟機上的主引導記錄(MBR)載入第一個扇區。

引導程式就位於 MBR 第一個扇區裡面。此時引導程式就被裝入 RAM 並執行。這個引導載入程式在大小上小於 512 位元組(一個扇區)。BIOS 自檢完成之後,將 MBR 的代碼讀入記憶體,管理權交給 MBR , MBR 再讀取 DPT ,從 DPT (Disk Partition Table,硬碟分區表佔據 MBR 扇區的64個位元組(位移01BEH--位移01FDH))找出硬碟的所有分區哪一個是啟用的主要磁碟分割。到這裡為止,所有系統都是一樣的。下面就有區別了。 DPT讀完找到主要磁碟分割之後然後找到這個主要磁碟分割的 PBR (Partition Boot Record分區引導記錄),PBR位於啟用主要磁碟分割的第一個扇區。安裝不同作業系統的時候 PBR 是會被改變的, XP 的 PBR 寫死的代碼是去找 NTLDR 。而 Vista 和 7 的 PBR 裡寫進的就是去找 Bootmgr 。

這個時候顯示器上還沒有顯示引導管理器的介面。 Bootmgr 被找到之後管理權就交到了 Bootmgr。 Boot Manager 首先從 BCD 中讀取 Boot Manager 菜單的語言版本資訊,然後再調用 BOOTMGR 與相應語言的 BOOTMGR.EXE.MUI 組成相應語言的啟動菜單,之後才會在顯示器上顯示引導管理器,也就是選擇多作業系統的那個文字介面。最後,當你選擇了相應的作業系統,這裡是 Win7 或 8 (如果選擇 XP, 會轉入 XP 的啟動流程,找到 XP 的NTLDR 然後啟動), Bootmgr 就去尋找系統磁碟分割(系統磁碟分割和主要磁碟分割的概念不是一樣的哦)Windows/System32 下的 Winload.exe 載入作業系統核心。

 

EFI Boot 介紹

EFI 的全稱是可延伸韌體介面 (Extensible Firmware Interface),它是 Intel 公司為全新類型的韌體體繫結構、介面和服務提出的建議性標準。該標準有兩個主要用途:向作業系統的引導程式和某些在電腦初始化時啟動並執行應用程式提供一套標準的運行環境;為作業系統提供一套與韌體通訊的互動協議。

簡單說,EFI 是 BIOS 的替代者。它為作業系統和韌體提供了更加強大、安全、方便的互動途徑。EFI 規範定義的介面,包括資料表包含平台的資訊,可在 OS Loader 和 OS 的啟動和運行時服務。

 

EFI 韌體提供了幾種技術優勢:

引導能力支援大容量磁碟(超過 2 TIB );

更快的啟動;

獨立 CPU 的體繫結構;

CPU 的獨立的驅動程式;

靈活的預作業系統環境,包括網路功能;

模組化設計;

 

EFI 啟動還需要一個特殊的分區表,該分區表指向一個特殊的檔案。通常情況下該檔案位於\EFI 路徑,EFI 啟動涉及到一個寫入到 firmware 中的 boot loader, EFI 並不把啟動程式放置在 MBR 中,firmware 知道如何讀取分區表以及 FAT 的檔案格式。EFI 系統磁碟分割是用 FAT 格式格式化的特定分區,其中包含 boot loader, 該 boot loader 是 EFI 可執行程式,可被 EFI boot manager 載入和運行。

Boot loader 被設定為一個可以通過韌體訪問的檔案。Boot loader 允許使用者選擇並載入作業系統。所有的 boot manager 都包含一個 EFI 變數,該變數被用來定義韌體配置參數。

 

MBR 與 GPT

MBR:主引導記錄(Master Boot Record,縮寫:MBR),又叫做主開機磁區,是電腦開機後訪問硬碟時所必須要讀取的首個扇區,它在硬碟上的三維地址為(柱面,磁頭,扇區)=(0,0,1)。

主開機磁區記錄著硬碟本身的相關資訊以及硬碟各個分區的大小及位置資訊,是資料資訊的重要入口。如果它受到破壞,硬碟上的基本資料結構資訊將會丟失,需要用繁瑣的方式試探性的重建資料結構資訊後才可能重新訪問原先的資料。主開機磁區內的資訊是通過分區程式寫入的,它是低階格式化的產物,和作業系統沒有任何關係(作業系統是建立在進階格式化的硬碟分區之上,是和一定的檔案系統相聯絡的)

對於硬碟而言,一個扇區可能的位元組數為 128×2n (n=0,1,2,3)。大多情況下,取 n=2,即一個扇區(sector)的大小為 512 位元組

 

MBR 的限制:

在 MBR 分區表中最多 4 個主要磁碟分割或者 3 個主要磁碟分割+1 個擴充分區:從主引導記錄的結構可以知道,它僅僅包含一個 64 個位元組的硬碟分區表。由於每個分區資訊需要 16 個位元組,所以對於採用 MBR 型分區結構的硬碟,最多隻能識別 4 個主要分區(Primary partition)。

MBR 資料分割配置無法支援超過 2TB 容量的磁碟。因為這一方案用 4 個位元組儲存分區的總扇區數,最大能表示 2 的 32 次方的扇區個數,按每扇區 512 位元組計算,每個分區最大不能超過 2TB 。磁碟容量超過 2TB 以後,分區的起始位置也就無法表示了。

  GPT:全域唯一標識分區表(GUID Partition Table,縮寫:GPT)是一個實體硬碟的分區結構。GUID 磁碟分割表格 (GPT) 是作為 Extensible Firmware Interface (EFI) 計劃的一部分引入的。相對於 PC 常用的較舊的主引導記錄 (MBR) 資料分割配置,GPT 提供了更加靈活的磁碟分割機制。

 

GPT 使用 GUID 分區表 (GPT) 磁碟分割系統。

GPT 磁碟提供了以下好處:

    最多允許 128 個分區;主引導記錄 (MBR) 磁碟可以支援 4 個主要磁碟分割和擴充分區內的 124 個附加分區。

允許大於 2 TB 的卷容量,而 2 TB 是 MBR 磁碟的極限。

由於分區表提供了複製和迴圈冗餘校檢 (CRC) 保護,所以更加可靠。

能在所有x64 為主的 平台上用作儲存卷,包括運行 Windows XP Professional x64 Edition 的平台。從 Windows Server 2003 SP1 開始,GPT 磁碟也可用作基於 x86 的Windows 平台上的儲存卷。

可用作x64 為主的 的 Windows 7、Windows Vista 和 Windows Server 2008 版本上的引導卷。從 Windows Server 2003 SP1 開始,GPT 磁碟也可用作基於 Itanium 的系統上的引導卷。

    注意:Windows 僅支援從包含 Unified Extensible Firmware Interface (UEFI) 引導韌體的系統上的 GPT 磁碟引導。

註:哪些系統支援 UEFI 啟動?為什麼當前我們不能支援 32bit 的 win8 UEFI 啟動?

目前我們的 BIOS 的 Build 產生是 x64 模式的,因此 32 位的 Win8 UEFI 是不被支援的。

總結:UEFI是新式的BIOS,legacy是傳統BIOS。你在UEFI模式下安裝的系統,只能用UEFI模式引導;同理,如果你是在Legacy模式下安裝的系統,也只能在legacy模式下進系統。UEFI只支援64為系統且磁碟分割必須為GPT模式,傳統BIOS使用INT13中斷讀取磁碟,每次只能讀64KB,非常低效,而UEFI每次可以讀1MB,載入更快。此外,Win8,更是進一步最佳化了UEFI支援,號稱可以實現瞬時開機。

UEFI與 Legacy BIOS兩種啟動模式詳解

相關文章

聯繫我們

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