跟据实际的操作证实,这样的恢复方法大概只有90%的修复率,就是说,能100%完全修复分区表的机会并不是很高。不过用DiskMan这个软件,主分区的恢复倒是一般不成问题,只要你的主分区恢复了,系统可以启动了,剩下的不能恢复的分区里面的数据可以试着用FinalData来恢复,在正常情况下,应该可以完全恢复过来。这个方法最大的优势是DiskMan支持的文件格式非常多,所以即使在NTFS、EXT等等其他格式的分区里,也能比较有效地恢复分区表。
(DiskMan界面)
不过,如果你的硬盘是FAT或者FAT32的话,我觉得上面的方法还是太复杂了,而且把希望全部寄托在两个软件的算法上面,没有调动人的主观能动性,太浪费人力资源了^_^。估计绝大部分人对自己用的计算机里面的硬盘分区大小还是心中有数的吧,如果能记得每一个分区的大小,这样就可以了。
你原来用什么软件分区的,现在还是用它,一摸一样按照原来每个分区的大小重新分区,不过记住不要格式化。不要格式化这个非常关键,有一些分区软件如Partition Magic等等,通常在默认情况下都是分区连格式化的,在设置里面取消分区连格式化的选项。
重新分区之后,用软盘、光盘启动或者把这块硬盘接到另外一台计算机上面,运行NDD(Norton Disk Doctor,不要告诉我你不知道这个是什么),执行扫描,很快,它就会发现硬盘分区错误和一些很专业的“莫名其妙”看不懂的错误,不知道说什么也没关系,接下来当然是修复这些问题啦。全部修复完以后,重新启动,你会惊奇地发现整个硬盘又已经可读了,所有分区跟原来都一模一样,所有原来的文件也完好无损,一个字节也没有少。
这种方法的恢复成功率非常高,过程非常傻瓜但是又可以调动大家主观能动性。不需要运行专门的数据恢复软件,又能让大家真正去动手,使菜鸟也能拥有妙手回春的满足感,特能满足人们的虚荣心,哈哈。当然,最保险的办法还是在软盘或其他存储介质上备份一个分区表,这样可以令硬盘的安全系数得到大大提高。

(Norton Disk Doctor的DOS版界面)
2.硬盘逻辑锁
网上对于解除硬盘逻辑锁方法的文章可以说是汗牛充栋,但仔细看了,都是天下文章一大抄,每一篇都大同小异。其实,硬盘逻辑锁大体上可以分成逻辑死循环和增量偏移两种方式。再复杂的方式如全盘算法加密等等就不是普通的用户可以解决的了,因此这里也就不提也罢。
逻辑死循环也有很多种,从比较简单的0-1扇区死循环到比较烦人的C-D分区死循环,无非都是在分区表上作文章,人为地造成分区表的逻辑错误,使硬盘在启动的时候陷入死循环而不能启动,必须经过一些验证手段才能重新得到正确的分区表信息。
网上很多文章都长篇大论,介绍了通过PCTools、DE(Disk Editor)甚至Debug命令来恢复的方法,这些恢复方法在理论上是正确的,不过都没有太大的现实意义。因为他们都忽略了,在他们长篇大论的时候,用户硬盘里面的磁头还在0-1扇区或者C-D分区之间不断地作往复运动。
硬盘都启动不起来,还怎么去读取分区表信息?怎么把正确的信息写进去?磁头是没空做这个事情了,不知道他们是打算用铅笔写还是用圆珠笔写?
0-1扇区死循环还比较简单,软盘启动、光驱启动或者把硬盘挂在别的机器上还是可以动起来的,而如果是恼人的C-D分区死循环,则不论是软盘启动、光驱启动还是把硬盘挂在别的机器上,都不能启动机器。可笑的是,破除这个死循环的方法也是无比地简单,因为这种方式的逻辑锁其实是利用了MS-DOS里面IO.SYS的漏洞。
IO.SYS文件是输入输出管理文件(Input and Output),它包含LOADER、IO1、IO2、IO3四个模块,其中IO1中包含有一个很关键的程序SysInt_I,它在启动中很固执,非要去读分区表,而且不把分区表读完誓不罢休。如果碰上分区表是循环的,它就只有死机了。
同时, DOS为了获得硬盘使用权必须读分区表参数,而且DOS还约定驱动器号不能超过26,这是系统的设计者没有考虑到此等循环分区表的严重后果,这就是MS-DOS的脆弱性和不完备性。回过头来,如果不想陷入这样的逻辑死循环,只要不使用微软基于DOS(从DOS3.0到Windows Me)的操作系统就可以了。
