GPT分区体系

简介:
GPT ,即 GUID Partition Table GUID  分区表, GPT )的简写形式,它是 Windows Server 2003  中的一种新型磁盘架构,是 一种由基于  Itanium  计算机中的可扩展固件接口  (EFI*)  使用的磁盘分区架构。这种 64 位的 Itanium  Windows 系统采用的磁盘布局架构,与传统的 32 位磁盘完全不同。
与主启动记录  (MBR)  分区方法相比, GPT  具有更多的优点:
u         它允许每个磁盘有多达 128 个分区(MBR磁盘最多只能有4个主分区,或者3个主分区加一个扩展分区和无限制的逻辑驱动器)。
u         支持高达 18 千兆兆字节(EBexabytes)的卷大小(MBR磁盘支持的最大卷为2TB)。
u         允许将主磁盘分区表和备份磁盘分区表用于冗余。
u         支持唯一的磁盘和分区 ID (GUID)
u         性能更加稳定。
 
...
 

  GPT磁盘总体布局

可以在运行带有 Service Pack 1 (SP1)   Windows Server 2003 的磁盘管理中进行 MBR GPT 磁盘的相互转换,然后进行相应的分区操作。也 可以使用  DiskPart.exe  命令行实用程序或  EFI  固件实用程序  Diskpart.efi  在基本  GPT  磁盘上创建分区。
一个转换为 GPT 并建立分区后的磁盘,总体布局如图 2.37 所示。
 
2.37  GPT 磁盘总体布局
我们可以看到,一个 GPT 磁盘可以分为两大部分:保护 MBR EFI 部分。
1 )第一部分只由 0 号扇区组成,在这个扇区中包含一个 DOS 分区表,分区表内只有一个表项,这个表项描述了一个类型值为 0xEE 的分区,大小为整个磁盘(如图 2.38 所示)。这个分区的存在可以使计算机认为这个磁盘是合法的,并且已被使用,从而不再试图对其进行格式化等操作,所以该扇区又被称为“保护 MBR ”。实际上, EFI 根本不使用这个分区表。
 
2.38  GPT 磁盘的 0 号扇区
2 )另一部分为 EFI 部分, EFI 部分又可以分为 4 个区域: EFI 信息区 ( 又称为 GPT ) 部分、分区表部分、 GPT 分区部分和备份区域。
u         EFI信息区,也称为GPT头,起始于磁盘的1号扇区,通常只占用这一个扇区。GPT磁盘创建后,由GPT头定义分区表的位置和大小。Windows限定分区表项为128个。GPT头还包含头和分区表的校验和,这样就可以及时发现错误或者改变。
u         分区表区域包含分区表项。这个区域由GPT头定义,一般占用磁盘233号扇区。分区表中的每个表项由起始和结束地址、类型值、名字、属性标志和GUID值组成。分区表建立后,128位的GUID对系统来说是唯一的。
u         分区部分是最大的区域,由分配给分区的扇区组成。这个区域的起始和结束地址由GPT头定义。
u         备份区域位于磁盘的尾部,包含GPT头和分区表的备份。它占用GPT结束扇区和EFI结束扇区之间的33个扇区。其中最后一个扇区用来备份1号扇区的EFI信息,其余的32个扇区用来备份233号扇区的分区表。
 

数据结构

1.  EFI信息扇区数据结构
EFI 信息扇区位于磁盘的 1 号扇区,也称为 GPT 头。 GPT 磁盘创建后,由 GPT 头定义分区表的位置和大小, Windows 限定分区表项为 128 个。 GPT 头还包含头和分区表的校验和。 EFI 信息扇区的结构如表 2.21 所示。
2.21  EFI 信息扇区结构
相对字节偏移
( 十六进制 )
字节数
说明
00 07
8
签名 (ASCII 码“ EFI PART
08 0B
4
版本
0C 0F
4
GPT 头大小字节数
10 13
4
GPT CRC 校验和
14 17
4
保留
18 1F
8
当前 GPT 头的 LBA 扇区号,也即为 EFI 区域起始扇区号
20 27
8
GPT 头备份 LBA 扇区号,也即为 EFI 区域结束扇区号
28 2F
8
GPT 分区区域起始 LBA
30 37
8
GPT 分区区域结束 LBA
38 47
12
磁盘 GUID
48 4F
8
GPT 分区表起始 LBA
50 53
4
分区表项数
54 57
4
每分区表项占用字节数
58 5B
4
分区表 CRC 校验和
5C 1FF
366
保留
通过这些结构中的描述值,我们可以确定 GPT 头、分区表、 GPT 分区区域、分区表的备份位置等结构布局。图 2.39 显示了一个 GPT 头的实例。
 
 
2.39  GPT
具体分析如下:
1)    0x00 0x07 8 个字节, GPT 头签名“ 4546492050415254 ”, ASCII 码为“ EFI  PART ”。
2)    0x08 0x0B 4 个字节,版本号。
3)    0x0C 0x0F :4个字节, GPT 头大小字节数,此处的值为 0x5C ,即92个字节。
4)    0x10 0x13 :4个字节, GPT 头校验和。
5)    0x14 0x17 :4个字节,保留。
6)    0x18 0x1F :8个字节,当前 GPT 头的 LBA 扇区号,即 EFI 区域起始扇区号,通常为1。
7)    0x20 0x27  8 个字节, GPT 头备份位置的 LBA 扇区号,即 EFI 区域结束扇区号,此处的值为 224909 0x086E8D )。
8)    0x28 0x2F :8个字节, GPT 分区区域起始 LBA 扇区号,此处的值为 34 0x22 )。
9)    0x30 0x37 :8个字节, GPT 分区区域结束 LBA 扇区号,此处的值为 224876 0x036E6C )。
10)0x38 0x47 16 个字节,磁盘 GUID
11)0x48 0x4F :8个字节, GPT 分区表起始 LBA 扇区号,此处的值为 2 0x02 ),通常都是起始于 2 号扇区。
12)0x50 0x53 4 个字节,分区表项数,限定为 128 0x80 )。
13)0x54 0x57 4 个字节,每分区表项占用字节数,固定为 128 0x80 )。
14)0x58 0x5B 4 个字节,分区表 CRC 校验和。
15)0x5C 0x1FF 420 个字节,保留。



















本文转自老骥伏枥51CTO博客,原文链接: http://blog.51cto.com/sjhfml/129146  ,如需转载请自行联系原作者

相关文章
|
Windows
Windows无法安装,选中的磁盘为GPT分区形式
Windows无法安装,选中的磁盘为GPT分区形式
361 0
|
Windows
Parted 创建 GPT 分区
对于磁盘的分区表 MBR与GPT区别。MBR:MBR分区表(即主引导记录)大家都很熟悉,是过去我们使用windows时常用的。所支持的最大卷:2T,而且对分区有限制:最多4个主分区或3个主分区加一个扩展分区 GPT: GPT(即GUID分区表)。
5505 0

热门文章

最新文章