恢复GPT分区的研究与实现
2021-08-02陈培德吴建平
陈培德,吴建平
(云南大学 信息学院,云南 昆明 650223)
0 引 言
全局唯一标识GPT是globally unique identifier partition table的缩写,其含义是“全局唯一标识磁盘分区表”[1],它是可扩展固件接口(EFI)标准的一部分[2]。GPT的出现是为了替代旧式的MBR(master boot record)[3],主要解决了MBR分区表不支持容量大于2.2 TB的分区问题[4]。
由于MBR分区最多包含4个项目,多于4分区则采用扩展分区的形式来管理,每个分区项目定义了主分区在磁盘上的位置[5]。
目前,微软公司Windows 10使用了GPT磁盘分区格式,同时Windows 10不再支持MBR。计算机如果使用Windows 10就必须采用MBR分区格式,这样不同分区表误操作、误转换的结果是硬盘中原有的磁盘分区表丢失,磁盘中的数据不能正常读取。在Windows 7和Windows 10用户数量庞大的今天,这种因GPT分区表问题导致硬盘中的数据无法读取和使用的问题较为突出[6]。
当GPT存储磁盘出现误操作或操作系统本身故障所造成的分区表损坏、数据不可见、不可读的数据等问题的时候,有可能是GPT分区表的逻辑出错,可以通过一定的技术手段,对保存在台式机硬盘、笔记本硬盘、服务器硬盘等设备上丢失的宝贵数据进行抢救和恢复。
1 GPT磁盘介绍
从整体来看,GPT磁盘主要由6大部分组成[7]。即保护MBR、GPT头、GPT分区表、GPT分区区域(即文件系统所在区域)、GPT分区表备份和GPT头备份[8]。大致结构如图1所示[8](注:假设GPT磁盘的扇区号范围为0 ~n-1,其中n为GPT磁盘的总扇区数)。

图1 GPT磁盘的整体结构
(1)保护MBR。
保护MBR位于GPT磁盘的0号扇区[9],也是由主引导记录、磁盘签名、MBR分区表和结束标志4个部分组成[10-11]。在MBR分区表中,分区标志为0XEE[2],相对扇区为1,总扇区数为4 294 967 295,也就是分区总数的最大值[2],即该磁盘已经被GPT分区占用,不能再进行MBR分区。……
