
使用WinHex手动还原硬盘分区表. 最近,PC无法正常启动. 将硬盘安装到其他PC,硬盘显示为未分区. 结果如下图所示: 原始硬盘分为4个分区,但现在显示为Partition,大概是因为硬盘的分区表丢失了. 我计划使用WinHex工具手动还原硬盘分区表. 通过使用WinHex查看分区表,分区表确实丢失了,因此我使用此工具还原并成功修复了硬盘. 在恢复期间,我提到了Internet上的许多资料. 尽管这些材料提供了很多帮助,但他们认为它们过于理论化,没有充分利用该工具本身的优点,因此我进行了总结,以为新手提供帮助. 为了更好地了解恢复计划,文章中添加了一些小知识点. 如果您对理论不感兴趣,则可以跳过这些小的知识点,而直接参考恢复步骤. 我还要感谢所有共享信息的英雄. 1.检查MBR(主引导记录)并使用WINHEX打开硬盘的MBR,如下图所示: 从图中可以看出,第一个扇区55AA之前的64个字节全为0,表示分区表信息丢失. 2.在顶部栏中,您可以看到分区信息,包括分区名称,类型,大小,分区的第一个扇区以及其他信息,这将有助于我们快速恢复硬盘分区. 提示1: MBR(主机?引导?记录器),DPT(磁盘?分区?表)? MBR位于磁盘的第一个扇区中,CHS地址为0柱面,0磁头,1个扇区,共占63个扇区,实际上只使用1个扇区;其布局如下: 扇区内的偏移量描述: 0x0000-0x01BD,446字节启动代码0x01BE-0x01FD,4个16字节主分区表条目,总共描述了4个分区表条目. 每个分区表条目都可以描述一个主分区还是一个扩展分区? 0x01FE-0x01FF? DPT分区中定义的2字节MBR签名(0xAA55)(两个字节分别为55和AA)包括主分区和扩展分区. 主分区+扩展分区的总数不能超过4.

所谓的主分区意味着DPT包含系统可以使用的磁盘分区. 硬盘主分区至少有一个,最多四个. 可以将其设置为活动状态,即可以引导操作系统. 硬盘只能有一个活动分区. 扩展分区不能被系统直接使用. 它的功能是打破DPT中只能定义的四个分区的限制. 对于Windows系统,通常将其划分为主分区和扩展分区. (本文介绍的方法也针对这种情况,以还原硬盘分区表). 方法: 定义主分区后,将剩余容量定义为扩展分区,指定分区的起始位置,并根据该起始位置指向硬盘的某个扇区,这称为扩展MBR(EBR) . 分区表. 如果只有一个分区,请定义该分区,然后结束;如果有多个分区,则定义一个基本分区和一个扩展分区,扩展分区指向下一个分区表,并且该分区在下一个分区表中定义,直至结束. 扩展分区中定义的分区是逻辑分区. 扩展分区的容量=每个逻辑分区的容量加上隐藏扇区(即EBR占用的扇区)的总和. 此外,EBR的结构与MBR的结构相同,MBR也占用63个扇区. 硬盘的数据结构分为四个区域: 图中的磁盘C是主分区,磁盘D,磁盘E和磁盘F都是逻辑分区. 2.分区表恢复方案. 由于目前通常采用LBA寻址方式,所以每个分区表项的最重要的16字节信息是1、5、9、10、11、12、13、14、15、16组信息.

对于2、3、4字节,对于C驱动器,通常为010100,而其他驱动器为00,C1,FF(即0磁头,1扇区,11111111111柱面(因为柱面数为通常大于1024,因此代表圆柱数的10位数字都是1)); 6、7和8个字节通常用FE,FF和FF填充. 第一个字节表示启动标志,启动磁盘为80,其他字节为00;第五个字节代表分区类型,可以从图中所示的分区类型获得. 在此硬盘中,四种分区类型为: FAT32,FTA32,NTFS,FAT32. 第9、10、11和12个字节代表此分区中先前使用的扇区数,需要进行计算. 第13、14、15和16个字节代表此分区中的扇区总数,需要进行计算. 通过在EBR中搜索分区信息以及WinHex系统提供的信息,可以在MBR中计算分区信息以完成分区表的恢复. 3.手动恢复硬盘分区表的过程1.在每个EBR中收集分区信息. 由于EBR的结构与MBR的结构相同,即使用55AA作为结束标记,因此可以搜索55AA. 为了加快搜索速度,请设置offset mod 512 = 510,即搜索510和511字节,它们是512的整数倍. 如果直接从MBR开始搜索,则必须注意确定它是否为EBR. 扇区前后的扇区字节通常都是00. 提示: 由于WinHex工具本身提供了完整的信息,因此您可以直接单击Partition2,然后执行反向搜索.

很快就搜索了第一个EBR. 如下图所示: 第一个扩展分区在第一个扩展分区中. 分区信息表如下: 00 01C1FF 0B FEFFFF 3F000000 AD2CE20400 00C1FF 05 FEFFFF EC2CE204 EC2CE204,然后单击Partition3进行反向搜索,并获得第二个EBR,如下图所示: 第二个扩展分区的分区图. 第二个扩展分区的分区信息如下: 00 010100 0B FEFFFF 3F000000 AD2CE20400 00C1FF 05 FEFFFF D85909 731A6C06再次单击Partition4,执行反向搜索,并获得第三个EBR,如下图所示指示: 第三个扩展分区分区图. 第三扩展分区的分区信息如下: 00 01C1FF 0B FEFFFF 3F000000 341A6C062. 计算C驱动器和扩展分区的信息. 对于C驱动器,先前使用的扇区数是所占用的MBR. 共有63个扇区,转换为十六进制数到3F. 接下来,着重计算此分区中的扇区总数. 实际上,第一个EBR紧随C驱动器,它从扇区63开始并在第一个EBR之前的第一个扇区结束. 通过第一个扩展分区分区图的左下角,您可以看到EBR位于4096570扇区中,而该扇区位于C驱动器的末尾. 因此,C驱动器占用的扇区63 + 1转换为十六进制: 2711637,然后是13、14、15和16个字节分别是: 37、16、71、02. 对于第一个扩展分区,扇区数分区之前使用的是C驱动器和MBR上的扇区总数之和. 63转换为16. 系统为2711676,9、10、11和12个字节分别为: 76、16、71、02. 现在,我们需要计算第一个扩展分区的总扇区数.

可以通过两种方式计算第一个扩展分区的总扇区数. 一个是每个逻辑分区的容量+隐藏扇区(即EBR占用的扇区)的总和;另一个是(总硬盘扇区-未分区扇区)-MBR点扇区-C驱动器扇区. 使用以下两种方法进行计算: 方法1: 每个逻辑分区的容量与隐藏扇区(即EBR占用的扇区)的容量之和,以从每个EBR获取信息,第一个逻辑分区是04E22CAD扇区,第二个逻辑分区是04E22CAD,第三个逻辑分区是066C1A34. 此外,每个EBR占用3F扇区,总共3个扇区,总和为: 1030744B,则13、14、15、16个字节为: 4B,74、30、10. 方法2: (总的硬盘扇区未分区扇区)-MBR点扇区-C驱动器扇区(总硬盘扇区-未分区扇区)表示已参与分区的扇区总数. 在此硬盘中,有2.5MB的未分区空间. 从312576705个扇区开始,这意味着已对312576705个扇区进行了分区(从0开始计数扇区),并且MBR占用了该扇区. 第一个扩展分区中的扇区总数为: 312576705-63271610955,转换为十六进制系统: 1030744B,即与方法1的结果相同. 至此,分区表重要参数的计算完成. C驱动器和第一个扩展分区的分区信息如下: 80 010100 0B FEFFFF 3F00000000 00C1FF 0F FEFFFF4B7430103. 编辑分区表内容. 根据C驱动器和刚刚计算出的扩展分区的信息来编辑分区表.
如下图所示: 保存并编辑后退出. 4.恢复结果恢复后重新启动计算机,即可看到原始硬盘信息. 如下图所示: 检查磁盘1中每个磁盘的信息是否正常,硬盘分区表恢复是否完成. 第四,进一步的探索计划是丢失分区表. 如果将分区表修改为仅具有一个分区会怎样?决定将其仅分为一个区域进行测试. 在磁盘管理器中,如下图所示: 使用WinHex打开分区表,显示如下: 再次搜索以查看原始EBR是否存在. 如果存在,请使用刚介绍的方法进行还原. 直接转到原始存储EBR区域以查看,仍然有相关的分区信息. 这意味着仅MBR中的分区信息已更改,因此原始EBR信息仍可用于还原MBR中的分区信息. 搜索EBR时,不能再使用“ 3.手动恢复硬盘分区表的过程”中介绍的技巧. 需要全文搜索. 因此,您必须仔细确定它是否是真正的EBR. 诸如丢失分区表信息之类的其他过程类似. 从之前和之后的图中还可以看出,在没有分区表的情况下,WINHEX将搜索EBR信息并在上面的分区信息上显示相关信息;如果有分区信息,它将在MBR发生中显示相关的分区以及分区信息. 五,总结与展望该程序充分利用了WinHex工具中的一些方法. 在恢复过程中,不需要转换磁头,磁柱,扇区等会更加方便. 但是,此解决方案仅适用于一个主分区和多个逻辑分区;尽管大多数WINDOWS系统都具有这样的分区结构,但是也有两个或多个主分区. 在这种情况下,您需要使用DBR信息进行还原,有关DBR信息和相应的还原信息将在新文章中进行介绍.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-309372-1.html
我辈仍需努力