其實關于UEFI的幾篇文章很早就寫下了,只是自己讀了一遍感覺很不滿意,就決定重寫。目的是想用最簡單直白的語言把內(nèi)容寫出來,讓每個人都能輕松讀懂。當然,如果你已經(jīng)對這些內(nèi)容有了很深的理解的話,這篇文章除了浪費你的時間外恐怕是別無益處了,建議去UEFI官方網(wǎng)站下載UEFI規(guī)范文檔,那里詳細闡述了UEFI、GPT的每個技術細節(jié)。
其實UEFI、GPT都不是什么新鮮玩意了,只不過因為預裝Win8電腦指定采用了這一標準所以仿佛是在一夜之間關于UEFI啟動Windows的文章就遍地開花了,很多人大概也是頭一次聽說世上還有這玩意。既然UEFI、GPT是“新”技術,那么就必然有較舊技術(BIOS+MBR)更先進、更NB的地方。到底NB在哪里呢?下面來簡單比較一下:
GPT及其優(yōu)勢
GPT和MBR是兩種不同的分區(qū)方案。目前在Windows下廣泛采用的磁盤分區(qū)方案仍然是MBR分區(qū)結(jié)構(gòu),但不容懷疑GPT是今后的趨勢。我們可將MBR磁盤分區(qū)結(jié)構(gòu)用下圖簡單表示(Windows下基本磁盤、4個主分區(qū)):
MBR分區(qū)結(jié)構(gòu)
為了方便計算機訪問硬盤,把硬盤上的空間劃分成許許多多的區(qū)塊(英文叫sectors,即扇區(qū)),然后給每個區(qū)塊分配一個地址,稱為邏輯塊地址(即LBA)。
在MBR磁盤的第一個扇區(qū)內(nèi)保存著啟動代碼和硬盤分區(qū)表。啟動代碼的作用是指引計算機從活動分區(qū)引導啟動操作系統(tǒng)(BIOS下啟動操作系統(tǒng)的方式);分區(qū)表的作用是記錄硬盤的分區(qū)信息。在MBR中,分區(qū)表的大小是固定的,一共可容納4個主分區(qū)信息。在MBR分區(qū)表中邏輯塊地址采用32位二進制數(shù)表示,因此一共可表示2^32(2的32次方)個邏輯塊地址。如果一個扇區(qū)大小為512字節(jié),那么硬盤最大分區(qū)容量僅為2TB。
GPT磁盤分區(qū)結(jié)構(gòu)可用下圖簡單表示(Windows下基本磁盤):
GPT分區(qū)結(jié)構(gòu)
可以看到,在GTP磁盤的第一個數(shù)據(jù)塊中同樣有一個與MBR(主引導記錄)類似的標記,叫做PMBR。PMBR的作用是,當使用不支持GPT的分區(qū)工具時,整個硬盤將顯示為一個受保護的分區(qū),以防止分區(qū)表及硬盤數(shù)據(jù)遭到破壞。UEFI并不從PMBR中獲取GPT磁盤的分區(qū)信息,它有自己的分區(qū)表,即GPT分區(qū)表。
GPT的分區(qū)方案之所以比MBR更先進,是因為在GPT分區(qū)表頭中可自定義分區(qū)數(shù)量的最大值,也就是說GPT分區(qū)表的大小不是固定的。在Windows中,微軟設定GPT磁盤最大分區(qū)數(shù)量為128個。另外,GPT分區(qū)方案中邏輯塊地址(LBA)采用64位二進制數(shù)表示,可以計算一下2^64是一個多么龐大的數(shù)據(jù),以我們的需求來講完全有理由認為這個大小約等于無限。除此之外,GPT分區(qū)方案在硬盤的末端還有一個備份分區(qū)表,保證了分區(qū)信息不容易丟失。
Windows操作系統(tǒng)對GPT磁盤的支持
因為BIOS無法識別GPT分區(qū),所以BIOS下GPT磁盤不能用于啟動操作系統(tǒng),在操作系統(tǒng)提供支持的情況下可用于數(shù)據(jù)存儲。
UEFI可同時識別MBR分區(qū)和GPT分區(qū),因此UEFI下,MBR磁盤和GPT磁盤都可用于啟動操作系統(tǒng)和數(shù)據(jù)存儲。不過微軟限制,UEFI下使用Windows安裝程序安裝操作系統(tǒng)是只能將系統(tǒng)安裝在GPT磁盤中。
下表列出了Windows各版本操作系統(tǒng)對GPT磁盤的支持程度:
32位Windows對GPT分區(qū)支持情況
64位Windows對GPT分區(qū)支持情況
UEFI及其優(yōu)勢
UEFI是BIOS的一種升級替代方案。關于BIOS和UEFI二者的比較,網(wǎng)絡上已經(jīng)有很多相關的文章,這里不再贅述,僅從系統(tǒng)啟動原理方面來做比較。UEFI之所以比BIOS強大,是因為UEFI本身已經(jīng)相當于一個微型操作系統(tǒng),其帶來的便利之處在于:
首先,UEFI已具備文件系統(tǒng)的支持,它能夠直接讀取FAT分區(qū)中的文件;
什么是文件系統(tǒng)?簡單說,文件系統(tǒng)是操作系統(tǒng)組織管理文件的一種方法,直白點說就是把硬盤上的數(shù)據(jù)以文件的形式呈現(xiàn)給用戶。Fat32、NTFS都是常見的文件系統(tǒng)類型。
其次,可開發(fā)出直接在UEFI下運行的應用程序,這類程序文件通常以efi結(jié)尾。
既然UEFI可以直接識別FAT分區(qū)中的文件,又有可直接在其中運行的應用程序。那么完全可以將Windows安裝程序做成efi類型應用程序,然后把它放到任意fat分區(qū)中直接運行即可,如此一來安裝Windows操作系統(tǒng)這件過去看上去稍微有點復雜的事情突然就變非常簡單了,就像在Windows下打開QQ一樣簡單。而事實上,也就是這么一回事。
要知道,這些都是BIOS做不到的。因為BIOS下啟動操作系統(tǒng)之前,必須從硬盤上指定扇區(qū)讀取系統(tǒng)啟動代碼(包含在主引導記錄中),然后從活動分區(qū)中引導啟動操作系統(tǒng)。對扇區(qū)的操作遠比不上對分區(qū)中文件的操作更直觀更簡單,所以在BIOS下引導安裝Windows操作系統(tǒng),我們不得不使用一些工具對設備進行配置以達到啟動要求。而在UEFI下,這些統(tǒng)統(tǒng)都不需要,不再需要主引導記錄,不再需要活動分區(qū),不需要任何工具,只要復制安裝文件到一個FAT32(主)分區(qū)/U盤中,然后從這個分區(qū)/U盤啟動,安裝Windows就是這么簡單。后面會有專門的文章來詳細介紹UEFI下安裝Windows7、8的方法。
=======================
文章匆忙改就,如有錯誤之處望指出。
預裝Win8電腦重裝系統(tǒng)及UEFI+GPT安裝Windows7/8相關教程:
《
預裝64位Win8/8.1電腦安裝64位Win7詳細過程(單/雙系統(tǒng))》
《
預裝Win8中文版電腦系統(tǒng)升級方法指導》
《
用于引導Windows的GPT磁盤(預裝Win8電腦)各分區(qū)作用詳解》
《
預裝Win8電腦重裝系統(tǒng)實現(xiàn)自動激活的幾個注意事項》
《
UEFI+GPT引導基礎篇(一):什么是GPT,什么是UEFI?》
《
UEFI+GPT引導實踐篇(一):切換到UEFI啟動,準備安裝介質(zhì)》
《
UEFI+GPT引導實踐篇(二):UEFI引導安裝64位Win7/Win8》