UEFI+GPT引導基礎篇 :什么是GPT,什么是UEFI?


GUID Partition Table (GPT) is a standard for the layout of the partition table on a physical storage device used in a desktop or server PC, such as a hard disk drive or solid-state drive, using globally unique identifiers (GUID).

The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware.

建議去UEFI官方網站下載UEFI規范文檔,那里詳細闡述了UEFI、GPT的每個技術細節。

其實UEFI、GPT都不是什么新鮮玩意了,只不過因為預裝Win8電腦指定采用了這一標准所以仿佛是在一夜之間關於UEFI啟動Windows的文章就遍地開花了,很多人大概也是頭一次聽說世上還有這玩意。既然UEFI、GPT是“新”技術,那么就必然有較舊技術(BIOS+MBR)更先進、更NB的地方。到底NB在哪里呢?下面來簡單比較一下:

GPT及其優勢

GPT和MBR是兩種不同的分區方案。目前在Windows下廣泛采用的磁盤分區方案仍然是MBR分區結構,但不容懷疑GPT是今后的趨勢。我們可將MBR磁盤分區結構用下圖簡單表示(Windows下基本磁盤、4個主分區):

MBR分區結構MBR分區結構

為了方便計算機訪問硬盤,把硬盤上的空間划分成許許多多的區塊(英文叫sectors,即扇區),然后給每個區塊分配一個地址,稱為邏輯塊地址(即LBA)。

在MBR磁盤的第一個扇區內保存着啟動代碼和硬盤分區表。啟動代碼的作用是指引計算機從活動分區引導啟動操作系統(BIOS下啟動操作系統的方式);分區表的作用是記錄硬盤的分區信息。在MBR中,分區表的大小是固定的,一共可容納4個主分區信息。在MBR分區表中邏輯塊地址采用32位二進制數表示,因此一共可表示2^32(2的32次方)個邏輯塊地址。如果一個扇區大小為512字節,那么硬盤最大分區容量僅為2TB。

GPT磁盤分區結構可用下圖簡單表示(Windows下基本磁盤):

GPT分區結構GPT分區結構

可以看到,在GTP磁盤的第一個數據塊中同樣有一個與MBR(主引導記錄)類似的標記,叫做PMBR。PMBR的作用是,當使用不支持GPT的分區工具時,整個硬盤將顯示為一個受保護的分區,以防止分區表及硬盤數據遭到破壞。UEFI並不從PMBR中獲取GPT磁盤的分區信息,它有自己的分區表,即GPT分區表。

GPT的分區方案之所以比MBR更先進,是因為在GPT分區表頭中可自定義分區數量的最大值,也就是說GPT分區表的大小不是固定的。在Windows中,微軟設定GPT磁盤最大分區數量為128個。另外,GPT分區方案中邏輯塊地址(LBA)采用64位二進制數表示,可以計算一下2^64是一個多么龐大的數據,以我們的需求來講完全有理由認為這個大小約等於無限。除此之外,GPT分區方案在硬盤的末端還有一個備份分區表,保證了分區信息不容易丟失。

Windows操作系統對GPT磁盤的支持

因為BIOS無法識別GPT分區,所以BIOS下GPT磁盤不能用於啟動操作系統,在操作系統提供支持的情況下可用於數據存儲。

UEFI可同時識別MBR分區和GPT分區,因此UEFI下,MBR磁盤和GPT磁盤都可用於啟動操作系統和數據存儲。不過微軟限制,UEFI下使用Windows安裝程序安裝操作系統是只能將系統安裝在GPT磁盤中。

下表列出了Windows各版本操作系統對GPT磁盤的支持程度:

32位Windows對GPT分區支持情況32位Windows對GPT分區支持情況 64位Windows對GPT分區支持情況64位Windows對GPT分區支持情況

UEFI及其優勢

UEFI是BIOS的一種升級替代方案。關於BIOS和UEFI二者的比較,網絡上已經有很多相關的文章,這里不再贅述,僅從系統啟動原理方面來做比較。UEFI之所以比BIOS強大,是因為UEFI本身已經相當於一個微型操作系統,其帶來的便利之處在於:

首先,UEFI已具備文件系統的支持,它能夠直接讀取FAT分區中的文件;

什么是文件系統?簡單說,文件系統是操作系統組織管理文件的一種方法,直白點說就是把硬盤上的數據以文件的形式呈現給用戶。Fat32、NTFS都是常見的文件系統類型。

其次,可開發出直接在UEFI下運行的應用程序,這類程序文件通常以efi結尾。

既然UEFI可以直接識別FAT分區中的文件,又有可直接在其中運行的應用程序。那么完全可以將Windows安裝程序做成efi類型應用程序,然后把它放到任意fat分區中直接運行即可,如此一來安裝Windows操作系統這件過去看上去稍微有點復雜的事情突然就變非常簡單了,就像在Windows下打開QQ一樣簡單。而事實上,也就是這么一回事。

要知道,這些都是BIOS做不到的。因為BIOS下啟動操作系統之前,必須從硬盤上指定扇區讀取系統啟動代碼(包含在主引導記錄中),然后從活動分區中引導啟動操作系統。對扇區的操作遠比不上對分區中文件的操作更直觀更簡單,所以在BIOS下引導安裝Windows操作系統,我們不得不使用一些工具對設備進行配置以達到啟動要求。而在UEFI下,這些統統都不需要,不再需要主引導記錄,不再需要活動分區,不需要任何工具,只要復制安裝文件到一個FAT32(主)分區/U盤中,然后從這個分區/U盤啟動,安裝Windows就是這么簡單


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM