查看原文
其他

【了解一下】GPT分区

电子物证 2023-05-16

本文包含四个部分:

1.GPT磁盘分区的数据结构

2.初始化GPT磁盘,它有哪些变化

3.查看受损的GPT磁盘

4.删除一个分区,GPT硬盘有哪些变化


GPT磁盘分区的数据结构

GPT磁盘的特点

1.GPT磁盘可以有128个分区

2.支持18EB的卷大小 (1EB=1024*1024*1024GB)

3.每个分区都有唯一的分区ID分区表的位置2-33扇区,每个分区表占128字节

GPT磁盘结构

保护MBR跟MBR很类似,不同之处在于:

1.分区表的类型是EE,表示GPT分区

2.分区的开始位置是1号扇区,结束扇区都是FF填充


GPT头

找到备份GPT头的扇区号,跳转

备份的GPT头与原GPT头有所差异,在这个备份中:

gpt头所在的扇区号是当前这个备份GPT头的扇区号

而备份GPT头的扇区号是1号扇区。

也就是说这个备份认为自己是GPT头,将原先的那个从1号扇区开始的GPT头视为备份



查看备份GPT头中的GPT分区表的起始扇区号,对应的是备份GPT分区表

GPT的分区表使用8个字节表示起始扇区号,但是MBR里只用4个字节,所以GPT分区表可以支持更大的分区。

初始化gpt磁盘,它有哪些变化

创建一个VHD,在还没初始化之前,使用winhex查看

全部填充EE,方便之后观察

填充之后,全选,复制选块至新文件,命名为“初始化gpt之前的样子”

点击“专业工具”-“将镜像转换为磁盘”


磁盘管理,初始化磁盘

会发现初始化之后容量变小了,由“没有初始化”变成了“联机”,说明初始化成功

再次进入winhex,重新打开

点击“工具”-“文件工具”-“比较”

点一次确定后,会自动计算字节数



点击“同步窗口”“同步比较”

发现0号扇区被写入了保护MBR

1号扇区被写入GPT头

2号扇区被写入了分区表

分区表被清空

对照刚才生成的报告


接着向下查看有变化的位置,发现跳到了一个备份分区表

因为分区表有32个扇区,所以在此基础上,往后32个扇区,紧跟着的是GPT头备份

对照完成,试验成功

小结:

初始化GPT磁盘后:

1.0号扇区写入保护MBR

2.1号扇区写入GPT头,剩余字节清零

3.2-33号扇区写入系统默认的分区表,剩余字节清零

4.备份GPT头和备份分区表的改变也一样


查看受损的GPT磁盘

准备一个分区,里面存放一个文件

使用winhex打开,人工破坏头部的几个扇区,把前四个扇区填充为00,关闭文件

磁盘管理,分离虚拟磁盘,再把这个虚拟磁盘附加进来,此时显示“没有初始化”

现在如何恢复?根据备份!

他有备份的GPT头,备份的分区表,但是没有保护MBR

所以第一步创建一个保护MBR

固定操作:先填入55AA,分区类型是EE,开始扇区是1,结束扇区FF FF FF FF


再次分离虚拟磁盘,再把这个虚拟磁盘附加进来,

到这一步,已经可以打开,并且查看里面的数据

为什么1号扇区的GPT头和2号扇区的分区表都没有填充,却可以读取数据?

Winhex无法读取,但是操作系统可以直接读取

因为操作系统根据保护MBR确定这个磁盘是GPT磁盘,然后自己读取尾部的备份信息,就可以打开了。

如果想恢复完整,将备份的数据复制过去,就可以用winhex查看了。

注意:严格来说,还需要改一下校验和



删除一个分区,对GPT硬盘做了什么操作

创建一个虚拟磁盘,初始化,使用GPT分区形式

新建简单卷,设置为FAT32文件系统,因为NTFS文件系统在不操作的时候也会产生很多日志文件

用winhex打开,复制至新文件“删除分区之前的状态”,然后“将镜像工具转换为磁盘”

删除卷

使用Winhex打开磁盘,进行比较

删除分区,对应的分区表项被删除

接着向下,发生改变的是一个备份分区表,分区表项也被清零

很明显,这是一个备份GPT头,并且两个校验和发生了改变

小结:

删除一个分区:

1.GPT头的校验和改变

2.分区对应的分区表项清零

3.备份GPT头的校验和改变

4.备份分区对应的分区表项清零


转自:电子取证及可信应用协创中心

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存