GPT和MBR是两种不同的分区方案。目前在Windows下广泛采用的磁盘分区方案仍然是MBR分区结构,但不容怀疑GPT是今后的趋势。我们可将MBR磁盘分区结构用下图简单表示(Windows下基本磁盘、4个主分区):1 ]0 l/ A8 D; Y4 H
MBR分区结构 7 A0 c% a F9 ?2 R . I3 i; X9 Q: D3 `MBR分区结构7 K9 i, U7 \& k * ^" S- r7 D7 [+ p: y) K为了方便计算机访问硬盘,把硬盘上的空间划分成许许多多的区块(英文叫sectors,即扇区),然后给每个区块分配一个地址,称为逻辑块地址(即LBA)。 - U& w% {( J2 B. r" L- v) n4 z 9 T2 Q+ r4 X( P, ~在MBR磁盘的第一个扇区内保存着启动代码和硬盘分区表。启动代码的作用是指引计算机从活动分区引导启动操作系统(BIOS下启动操作系统的方式);分区表的作用是记录硬盘的分区信息。在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。在MBR分区表中逻辑块地址采用32位二进制数表示,因此一共可表示2^32(2的32次方)个逻辑块地址。如果一个扇区大小为512字节,那么硬盘最大分区容量仅为2TB。 : t( i4 B2 k5 }! _ 1 T2 C& v* ^+ T+ a6 f) i
可以看到,在GTP磁盘的第一个数据块中同样有一个与MBR(主引导记录)类似的标记,叫做PMBR。PMBR的作用是,当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏。UEFI并不从PMBR中获取GPT磁盘的分区信息,它有自己的分区表,即GPT分区表。. G+ c0 R3 f) d; j
* G7 c% ?5 P' B2 O; E3 O) R* bGPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。在Windows中,微软设定GPT磁盘最大分区数量为128个。另外,GPT分区方案中逻辑块地址(LBA)采用64位二进制数表示,可以计算一下2^64是一个多么庞大的数据,以我们的需求来讲完全有理由认为这个大小约等于无限。除此之外,GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。. v2 R( q2 Y# ~/ j. y! P3 N
Windows操作系统对GPT磁盘的支持 . c* \) p" b {1 r% f # d' k: y+ D2 `) z; n; A7 T0 N( F因为BIOS无法识别GPT分区,所以BIOS下GPT磁盘不能用于启动操作系统,在操作系统提供支持的情况下可用于数据存储。 6 x$ w. \6 N7 j z+ n* N- u3 k0 w3 k3 ]2 y C5 P, v
UEFI可同时识别MBR分区和GPT分区,因此UEFI下,MBR磁盘和GPT磁盘都可用于启动操作系统和数据存储。不过微软限制,UEFI下使用Windows安装程序安装操作系统是只能将系统安装在GPT磁盘中。 d ?; r4 X, X3 l% y# \ - S# s1 P, o6 O L* W1 w0 v" \7 c9 ?9 }下表列出了Windows各版本操作系统对GPT磁盘的支持程度:6 b" D& k# H8 ^2 k. V4 @
32位Windows对GPT分区支持情况 8 _2 N) [8 M; T2 B* Y 5 A6 u D7 @) p% m32位Windows对GPT分区支持情况 9 m& v4 T. |6 q3 H6 [/ i64位Windows对GPT分区支持情况 ) L- t' Z6 S* ^6 X+ Y 9 Q* q0 f$ ]: T64位Windows对GPT分区支持情况 4 G& {- D4 U: n6 `. d: \UEFI及其优势$ \" G/ J; |8 N) L6 `4 T {/ T, C
8 P. J( d& I; KUEFI是BIOS的一种升级替代方案。关于BIOS和UEFI二者的比较,网络上已经有很多相关的文章,这里不再赘述,仅从系统启动原理方面来做比较。UEFI之所以比BIOS强大,是因为UEFI本身已经相当于一个微型操作系统,其带来的便利之处在于:5 a1 k2 F' @2 P! {0 l& F6 I