与主引导区相比,分区表被破坏时的修复相对要复杂一些,这里推荐大家使用由国人编写的DiskGenius软件。该软件可以直接在纯DOS环境下运行,而且采用直观的中文界面,因此它对于英文不好的用户而言是最佳的选择。进入DiskGenius的主界面之后,按下F10就能轻松地自动恢复硬盘分区表,而且这一招非常有效。
DiskGenius将首先搜索0柱面0磁头从2扇区开始的隐含扇区,寻找被病毒挪动过的分区表。然后搜索每个磁头的第一个扇区,其中搜索过程可以采用“自动”与“交互”两种方式进行。自动方式保留发现的每一个分区,适用于大多数情况下,建议大家选择这种方案。通过以上对主引导区以及分区表的修复,大家才可能让一个遭受严重破坏的硬盘得以在Windows下正确看到分区,进而为其它操作打下坚实的基础。
分区表的操作一般就是通过查找备份的分区表并复制到相应扇区,这一步骤可以交给DiskGenius等软件来完成。但是在部分情况下,可能任何软件都无法找到备份的分区表,此时只能手动修改。手动修改将完全凭借经验,在WinHex等软件下直接操作分区表数据。以一块WD 800BB硬盘为例,使用WinHex打开磁盘后看到如下界面。其中从“80”开始到“55AA”结束的DPT硬盘分区表相当关键。
关于这些16进制的意义,系统有详细的约定,大家可以根据我们下面的这张表格来理解。因为我们这里截图展示的硬盘分区表是完好的,因此并不需要修改。但是对于一个已经被破坏的分区表而言,其结束位置可能完全错乱,此时大家可以通过寻找下一个“55AA”标志来确定,因为下一个分区开始的位置向前推移一个扇区就是上一个分区的结束的位置。根据所得到的磁头、扇区和柱面数字再折算成16进制,然后使用WinHex回写即可。此外,在寻找下一个“55AA”的过程中会碰到很多干扰项,建议根据硬盘分区的容量结合判断,而且这需要更多经验。手写恢复分区表的整个过程需要拥有大量的实战经验,限于笔者水平以及篇幅,这里只能简要地介绍至此,大家可以深一步挖掘。