GPT分区表
老样子具体概况如下↓
保护MBR |
GPT头 |
分区表 |
分区区域 |
分区表备份 |
GPT头备份 |
是不是感觉和MBR的不一样啊,我会一个个的解析的。
保护MBR:
从这里看出MBR的引导没了只剩下分区表和磁盘签名了。这个值是让计算机检测到我这里是有一个从1号扇区开始,并且大小为32bit的最大值FF FF FF FFH并且是固定不变的。具体GPT分区并不用0扇区
GPT头
我们吧GPT头分为4大块
红块:是GPT的名字12
原谅块是:GPT头的大小4;CRC32校验4;GPT当前位置8,GPT备份位置8;
蓝块是:分区区域的开始8;结束8;
黄块是:分区表的开始8;分区表项数量4;分区表项的字节4;分区表CRC32校验和4;
这样记起来是不是快一些呢?(白色的就当他不存在,因为这是在分GPT分区时候的潇洒签名)
emmm我还是老老实实的讲一下GPT头吧,要是上面的看得懂下面就可以跳过了。
咳咳;这个就是GPT头,里面有一些参数还是比较重要的
这个是GPT头的签名,ASCII码翻译过来就是 基本上是固定的一个值
版本号,10进制是65,536。我分过很多的GPT分区,版本号没有变过。
为GPT头的总字节数

这两张图就可以看出我这里的GPT头占用92字节
这个值是GPT头的CRC32校验和,具体算法点击:工具→哈希值计算。就可以了,不过乱填也是可以的。
GPT头的位置,这里是1,就是说明这个GPT头是在1扇区
确认无误
备份GPT头位置,这里的10进制是983,039我们跳过去看一下
这里我们看到确实有一个有着GPT头签名的东东在983039扇区
分区区域的开始10进制为34,忘记了可以翻上去看看GPT分区概况(一般GPT分区的分区区域都是在34扇区),跳过去看看:
因为我将磁盘写满了FFH再进行分区的,所以我们可以看到33扇区是被分区时擦0了33分区也就是分区表,所以我们也知道了这个GPT的分区表为 -GPT头(1扇区)-保护MBR(1扇区)=32扇区
和上面是紫色是兄弟,他表示的就是分区区域的结束位置,10进制为983,006,跳过去看见↓
我们可以看到他指向的是最后一个分区的DBR备份,因为NTFS的备份位他的最后一个扇区,让我们更加确信了他的分区区域的最后位置为983006
并且他的下一个扇区983007紧挨着是分区表备份
明白了之后就知道了: 分区区域开始。 分区区域结束。他们指出了分区区域的大小
大大的GPTGUID签名
分区表起始扇区号,毫无质疑就是02
11.  他们都是表示分区表的,前一个表示:分区表一共有多少分区表项;后一个表示:一个分区表项有多少字节(在Windows下只能有128个分区表项,并且大小也是128字节)
分区表项的CRC32校验和。
分区表
上图的每一块颜色就是每一个分区表项
分区表项说:“像我这么厉害的还有128个”
我们以第二个分区表项来解析:
这里就比GPT头简单一些了,
第一个最后再看,咱门先看第二个↓:
1. 这是一个分区表的GUID,差不多就是签名的意思,记住这个值在这个分区里面是唯一的。
这个是分区开始位置。(很重要,也比较好理解吧)
是分区的结束位置(这里就和MBR的大小不一样了GPT表示的是分区的结束位置,而不是分区的大小)
所实话我不知道。。。。
这个就是分区名称了,他是用Unicode编码的内容为Microsoft reserved partition 说明他是一个微软保留分区。除此之外还有Basic data partition翻译过来就是基本数据分区↓(普通的磁盘分区)
还有EFI system partition 翻译是EFI系统分区
- 最后讲讲第一个
首先看下图↓
为什么我要全部标起来呢?因为 是一个分区类型,但是又和MBR的07 0B 0F 0C等等的不一样,因为这是描述分区类型的,
↑这个就是我目前在看的分区↑分区表里面4个分区分别对应上图的4个分区(第五个截图截不进去了)
28 73 2AH.......这个表示着是Windows下的ESP系统分区,和关于EFI系统分区感兴趣可以问问看度娘。
16 E3 C9H.....这是一个微软保留分区
A2A0D0这是一个基本分区
其余的还有
微软公司下的↓
AA C8 08H.....LDM元数据文件
A0 60 9BH.....LDM数据文件
Intel公司下的↓
C1 2A 73H.....EFL系统分区
02 4D EEH.....DOS分区表
(了解一下就好,都是不常见的类型,但是没见话过比赛就容易慌)
另外还有00 00 00H.....的,我不知道为啥,会有这个。
分区表备份
和分区表是一模一样的备份,具体位置请看GPT头备份要是再分区表在被破坏的时候,GPT会自动读取分区表备份的内容,比较智能的感觉,只有一起被破坏的时候才会提示文件系统错误或者找不到分区。
GPT头备份
关于GPT头备份就有点不一样了,我们找到GPT的20H-27H偏移位置: 结果为983,039扇区。跳过去看看:↓
点击查看下的同步窗口和比较:↓
我们可以看到有一些不同:首先来讲一下第一个
- 备份
源 CRC校验和之前研究过,但是算法太复杂我这里就先不讲了,随机的一个值也可以的。

看蓝色箭头标志的,在GPT里表示是01 00 00H也就是GPT位置在01,然而GPT备份里面则是FF FF 0EH是不是有点像 呢,应为这是GPT备份里的这个位置表示的是GPT备份所在的位置。
红色箭头在GPT里表示的是备份;但是在GPT备份里面则是表示着GPT头的位置

还记得这个值是什么吗?分区表位置,在GPT里面表示着2扇区就是分区表位置,然而在GPT备份里面表示的是备份分区表位置
所以我们就知道了,要是GPT头被玩坏了,可以从GPT备份复制过来,但是要将GPT头里面关于GPT头位置和备份位置互换一下,并且找出他的源分区表的位置(一般为2)填写进去,并且算好CRC32的校验emm 这里有个傻瓜软件可以用来计算,但是CRC32校验乱填也是没关系的。
以上关于GPT的分区大致就到这里了,GPT下的DBR还是熟悉的样子,我就不仔细的再说了。我这里又是深夜了,那就就祝大家晚安啦ღ( ´・ᴗ・` )比心 |