winhex如何找到备份分区表头、分区表的内容?——一个工程师的边修边想
你打开WinHex,面对一连串的十六进制,脑子是不是也跟我第一次时一样——"这堆数字里怎么找到那个该死的备份分区表头?" 嗯,很多人以为备份分区表头藏在某个固定位置,其实没那么简单,尤其GPT和MBR完全不同。今天我把平时修盘时摸出来的门道掰开了说,不保证每句话都漂亮,但全是实战里滚出来的。 技王数据恢复
先搞清楚:你到底要找什么备份?
MBR架构下,主引导记录在0号扇区,但“备份”分区表?严格讲MBR没有原生备份——只有一些第三方工具(比如DiskGenius)会把MBR复制到1号或2号扇区作为预防。可GPT不同,GPT在磁盘末尾有完整的备份分区表头和分区表项。当我说 winhex如何找到备份分区表头、分区表的内容,大多数场景指的是GPT备份。别急,先判断分区表类型:看0号扇区的末尾,如果是"55 AA"后面跟着"EFI PART"?那基本就是GPT。 技王数据恢复
有一次帮客户恢复一个2TB移动硬盘,分区全丢了,打开WinHex看0扇区全是零——显然主GPT被干掉了。那时候我脑子里第一个反应就是:备用备份在末尾,得算对LBA。 这是关键。
技王数据恢复
第一步:确认磁盘总扇区数(用WinHex自带的定位)
WinHex里有几个小工具:① 点菜单"Tools" → "Open Disk"(或直接快捷键F9)选物理盘;② 上方工具栏有个"Go to Sector"(或按Ctrl+G),输入0过去先看一眼。如果想快速知道总扇区数,可以看窗口底部状态栏显示的"Total sectors",或者用"Information"面板。对于GPT,备份分区表头位于磁盘一个扇区(LBA地址 = 总扇区数 - 1)。
技王数据恢复
备份分区表头长什么样?
标准的GPT备份分区表头以"EFI PART"签名开头(字节偏移0x00~0x07),后面跟着版本号、分区表项起始LBA、分区项数目、每个项大小等。如果看到这些,恭喜,备份完好。如果全是0或乱码,那就得看下面一步。
www.fixhdd.cn
万一备份头也不完整?——分区表项藏在哪
winhex如何找到备份分区表头、分区表的内容——实际上备份分区表头后面紧跟着的是备份分区表项(Partition Entries)。GPT规范规定:主分区表项通常从LBA 2开始(共32个扇区,每个扇区4个项,总计128项),而备份分区表项则位于备份头之前连续扇区里。具体位置由备份头里的"Partition Entry LBA"字段指定。但如果是损坏的备份头,这个字段可能不准确,那我们就得倒推:对于常规扇区大小512字节的硬盘,备份分区表项始于(总扇区数 - 34)至(总扇区数 - 2)之间(因为GPT占用最末尾34个扇区:1个备份头+32个分区表项+1个保护MBR?实际计算是:保护MBR占1扇区(0号),主GPT头占1扇区(1号),主分区表项占32扇区(2~33号),备份分区表项占32扇区(末尾34~末尾-2),备份GPT头占1扇区。备份分区表项起始LBA = 总扇区数 - 34(倒推)。 www.fixhdd.cn
——等等,这里容易乱。我当年第一次算的时候少减了一个1,结果跳到备份分区表项但偏移有误。后来我在技王数据恢复的培训文档里看到这个公式:备份分区表项起始扇区 = 磁盘总扇区数 - 2 - 32。也就是总扇区数 - 34,正确。经验就是拿到盘先算好总扇区,然后跳转到(总扇区-34)看看有没有分区项签名(比如"Microsoft basic data"的GUID)。
技王数据恢复

小技巧: 在WinHex里定位到末尾附近后,用文本搜索(Search → Find Text)搜索"EFI PART",如果找到,说明备份头还在。然后按照头里面的"Partition Entry LBA"字段直接跳到分区表项区域。如果没有搜索到,那就手动跳到(总扇区-34)开始检查连续32个扇区,每个扇区前16字节是分区类型GUID,后面是开始LBA、结束LBA等。
真实案例:一块西数4TB,主GPT被误删,备份头偏移了
去年一个朋友拿过来一块WD40NMZW,说在mac上格式化到一半断电,后来接入Windows提示“未初始化”。我用WinHex打开物理盘,0扇区全零,典型的主GPT被破坏。但总扇区数显示7814037168,按照公式跳到LBA 7814037134(总扇区-34),看到了一些连续的分区项数据,但备份头本身所在的一个扇区(LBA 7814037167)却是一堆00?奇怪了。后来发现原来是磁盘的4K对齐问题,扇区大小显示512但物理是4K,导致备份头实际位置偏移到(总扇区-1)但不等于逻辑LBA?经过反复比对,我选择手动搜索"EFI PART",终于在LBA 7814037150找到了备份头——原来是因为磁盘几个扇区被磨损保护了。这个案例提醒我:别迷信公式,搜索才是王道。 技王数据恢复
当时我还用WinHex把那个备份头复制到主GPT位置(LBA 1),再手动重建了一部分分区表项,才把数据全捞出来。如果你也遇到类似情况,不如先试试搜索。这也是 winhex如何找到备份分区表头、分区表的内容 的终极答案:优先搜索签名,次选公式定位,两者结合。
注意事项与常见坑
- 扇区大小混淆: 很多新硬盘内部是4K扇区,但WinHex可能按512B模拟显示。总扇区数除以8才是真实物理扇区数?备份头位置要换算,更稳妥的方法是直接搜索。
- 备份头损坏但分区表项完好: 这时可以不需要备份头,直接从备份分区表项区域提取分区起始和结束LBA,手动重新计算CRC(如果GPT要求)。
- MBR的“伪备份”: 一些工具(比如Windows的diskpart)会在第二个扇区保存一份MBR副本,但并非标准。判断方法:看0扇区和1扇区内容是否一致,如果一致且有效,那就是备份。
总结:winhex如何找到备份分区表头、分区表的内容
抛开理论,实际恢复时我习惯按这个顺序:
① 用WinHex打开磁盘,查看总扇区数;
② 直接Ctrl+G跳到一个扇区(总扇区-1),看是不是"EFI PART";
③ 如果不是,搜索"EFI PART"(大小写敏感),注意可能出现在末尾附近;
④ 找到备份头后,按头中的分区表项LBA跳转,确认分区项内容;
⑤ 若备份头完全丢失,则跳到(总扇区-34)开始查看连续32个扇区,提取分区表项。
说白了,winhex如何找到备份分区表头、分区表的内容 考验的是对GPT规范的理解加上winhex的定位与搜索技巧。别怕试错,多跳几个扇区看看,你会发现那些数字背后的规律。——万一遇到奇怪问题,不妨回忆一下技王数据恢复那边工程师的分享:备份头和分区表项之间隔着CRC校验,有时直接复制过去会报错,需要校验重算。那是另一个话题了。
上一篇:但读不出来?数据恢复老司机盘一盘