埃德蒙顿华人社区-Edmonton China

 找回密码
 注册
查看: 2554|回复: 0

win 8的GPT和UEFI介绍

[复制链接]
鲜花(3) 鸡蛋(1)
发表于 2013-12-3 10:09 | 显示全部楼层 |阅读模式
老杨团队,追求完美;客户至上,服务到位!
GPT和MBR是两种不同的分区方案。目前在Windows下广泛采用的磁盘分区方案仍然是MBR分区结构,但不容怀疑GPT是今后的趋势。我们可将MBR磁盘分区结构用下图简单表示(Windows下基本磁盘、4个主分区):+ S% u7 H$ E1 M
MBR分区结构- S7 g# h. o! U- h. w$ ^

3 N* h. C% R5 K7 fMBR分区结构! e) r& e% @, j/ ]# v
7 P2 g  x2 T$ `0 u7 O
为了方便计算机访问硬盘,把硬盘上的空间划分成许许多多的区块(英文叫sectors,即扇区),然后给每个区块分配一个地址,称为逻辑块地址(即LBA)。
. O8 Q; a# k% K  p
& V" u( S7 S3 T5 ~, ?6 G  k在MBR磁盘的第一个扇区内保存着启动代码和硬盘分区表。启动代码的作用是指引计算机从活动分区引导启动操作系统(BIOS下启动操作系统的方式);分区表的作用是记录硬盘的分区信息。在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。在MBR分区表中逻辑块地址采用32位二进制数表示,因此一共可表示2^32(2的32次方)个逻辑块地址。如果一个扇区大小为512字节,那么硬盘最大分区容量仅为2TB。; g5 c# O3 n- w( W* x- }( x% p
- _& v7 V0 j, A9 R
可以看到,在GTP磁盘的第一个数据块中同样有一个与MBR(主引导记录)类似的标记,叫做PMBR。PMBR的作用是,当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏。UEFI并不从PMBR中获取GPT磁盘的分区信息,它有自己的分区表,即GPT分区表。
# B  ~/ a& H& ^$ z) |
& j; |9 G# u3 ^% O# v. N" xGPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。在Windows中,微软设定GPT磁盘最大分区数量为128个。另外,GPT分区方案中逻辑块地址(LBA)采用64位二进制数表示,可以计算一下2^64是一个多么庞大的数据,以我们的需求来讲完全有理由认为这个大小约等于无限。除此之外,GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。
3 ^3 H- ?; R+ P7 N5 g( T8 W- sWindows操作系统对GPT磁盘的支持1 I! i7 E/ l& m7 b  h

' j. ^6 t/ n! a+ @7 M9 M# K0 r因为BIOS无法识别GPT分区,所以BIOS下GPT磁盘不能用于启动操作系统,在操作系统提供支持的情况下可用于数据存储。
% U& D9 i$ r- [" f, @5 F5 N' y! t3 c/ e& i" w7 q9 I( J
UEFI可同时识别MBR分区和GPT分区,因此UEFI下,MBR磁盘和GPT磁盘都可用于启动操作系统和数据存储。不过微软限制,UEFI下使用Windows安装程序安装操作系统是只能将系统安装在GPT磁盘中。3 I; s; O& @4 t) v' p( t; |' n
; X( ?5 s0 G$ U. z
下表列出了Windows各版本操作系统对GPT磁盘的支持程度:- V7 f( g- Q" C! M  u: p) B( n( X
32位Windows对GPT分区支持情况" h" y0 v  f( {8 p! Z
+ n# \% k2 n9 M' r! k
32位Windows对GPT分区支持情况1 j8 |" V% n$ Q7 v: Z" O
64位Windows对GPT分区支持情况
( s0 [& V  c. S) O8 ^
6 h6 [. R' R( l) x$ l& J" h64位Windows对GPT分区支持情况' f9 Q2 T- K: P" X, P( V- M- q/ R8 O
UEFI及其优势% [, E4 R1 a; r* b

: G/ \1 e& l# ?9 EUEFI是BIOS的一种升级替代方案。关于BIOS和UEFI二者的比较,网络上已经有很多相关的文章,这里不再赘述,仅从系统启动原理方面来做比较。UEFI之所以比BIOS强大,是因为UEFI本身已经相当于一个微型操作系统,其带来的便利之处在于:
) ]4 [* O; |' m4 ^6 c/ g% g0 K$ r
首先,UEFI已具备文件系统的支持,它能够直接读取FAT分区中的文件;
, T8 R2 u1 ?  V' T1 J4 X5 C2 ~. t$ j# S7 }' u
    什么是文件系统?简单说,文件系统是操作系统组织管理文件的一种方法,直白点说就是把硬盘上的数据以文件的形式呈现给用户。Fat32、NTFS都是常见的文件系统类型。
5 B: y% M7 Q* q; |9 X( Q6 L9 ?9 g" K2 A: u6 l
其次,可开发出直接在UEFI下运行的应用程序,这类程序文件通常以efi结尾。
  J9 e3 ^6 A: D5 L: t; X! [. N4 q
; O( t6 f0 D  w- {既然UEFI可以直接识别FAT分区中的文件,又有可直接在其中运行的应用程序。那么完全可以将Windows安装程序做成efi类型应用程序,然后把它放到任意fat分区中直接运行即可,如此一来安装Windows操作系统这件过去看上去稍微有点复杂的事情突然就变非常简单了,就像在Windows下打开QQ一样简单。而事实上,也就是这么一回事。$ L) F" u; M: _. t1 N: L1 Y5 [
# S# T$ A; |; b1 G1 [2 e1 C
要知道,这些都是BIOS做不到的。因为BIOS下启动操作系统之前,必须从硬盘上指定扇区读取系统启动代码(包含在主引导记录中),然后从活动分区中引导启动操作系统。对扇区的操作远比不上对分区中文件的操作更直观更简单,所以在BIOS下引导安装Windows操作系统,我们不得不使用一些工具对设备进行配置以达到启动要求。而在UEFI下,这些统统都不需要,不再需要主引导记录,不再需要活动分区,不需要任何工具,只要复制安装文件到一个FAT32(主)分区/U盘中,然后从这个分区/U盘启动,安装Windows就是这么简单。 + j! N- V. v/ D7 Y
2 U* b6 a3 {  _* `* Z
=======================
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|小黑屋|手机版|Archiver|埃德蒙顿中文网

GMT-7, 2025-7-27 10:12 , Processed in 0.150562 second(s), 10 queries , Gzip On, APC On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表