新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 存储频道 > 数据备份/恢复 > 正文:硬盘数据恢复揭密

硬盘数据恢复揭密

新客网 XKER.COM 2006-09-23 来源: 收藏本文

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)的操作系统就可以了。

  有很多系统可供选择:如PC-DOS 、DR-DOS、ROM-DOS等(建议大家去看看新DOS时代,里面有很多很有用的DOS方面的信息:http://neWDos.yginfo.net/dosmain.htm),另外,微软的NT/2000/XP系列也是可以的。硬盘动起来后,大家想怎么样就怎么样吧。不过我始终还是推荐大家用原厂的DM,毕竟是原厂的东西,对自己牌子的硬盘操作总是比较有把握的,而且,那些PCTools之类因为比较老,对FAT32、NTFS以及大硬盘等等的操作总有一些问题。

  也有热心的人把恢复正常分区表的指令编写成一个小程序,叫Unlock.com(有很多不同的人编写的不同版本,大家可以挑一些日期比较近的,太古老十八代的东西就不要用了),大家可以试用一下,效果还是有的。

  现在,一家叫Acronis的公司也来凑热闹,发布了一个叫AcronisUnlock的小程序,运行它可以创建一张软盘,用来为硬盘解锁。毕竟是一个商业产品,如果没有一定的作用谁敢拿出来?试了一下,虽然不是能治百病,但对一般的硬盘锁还是很有效的。

 

  (Seagate的原厂DM)

 

  增量偏移法当初其实不是用来制造逻辑锁,而是用来制作硬盘保护卡的,联想的“宙斯盾”和捷波的“恢复精灵”等硬盘保护软件也是采用了相似的技术。这种方法的原理就是在硬盘里面划出一个特别的区域,把整个硬盘的所有写入全部操作映射到这个区域中,这样,原来设置了受保护的系统和数据区域就不会受到新增加的写入信息的影响,甚至是文件的修改,其实也是映射到特定区域的操作。

  因此无论出现什么样的崩溃,只要一个按钮,就可以把原来受到保护的系统和数据恢复过来。不过对硬盘的保护好是好了,但如果换了一块主板,或者主板、保护卡坏了,要处理这个硬盘也真的十分头痛。因为上面说的方法对这个硬盘已经没有用了,你通过软件从硬盘里面读出硬盘分区表的数据,然后修改、写进去,可惜,这些正确的信息并没有真正写入分区表,而是都映射到那个特殊的区域去了,硬盘仍然不行。

  这样的硬盘,无论做重新分区、格式化甚至低格,完了你还是发现里面的数据纹丝不动。如果你运气好,知道硬盘是被“宙斯盾”或“恢复精灵”,又或者是什么其他硬盘保护卡保护过的,那么你只要找到相应的主板或硬盘卡,执行一次卸载过程就可以了;如果运气不好,不知道,那么试试下面的方法吧。

  经过一些实践,可以用这样的方法来解除。找一块没有“宙斯盾”或者“恢复精灵”主板的机器,把这个硬盘作为从盘挂上,COMS设置里面把这个硬盘设成None(在大多数情况下,这样就已经能够解除映射信息对BIOS的欺骗,恢复软件对硬盘的实模式操作),然后运行fdisk /mbr,应该就可以恢复这个硬盘了。

  如果还是不行,那就干脆不要用微软的系统。在PC-DOS或者ROM-DOS下面运行原厂DM,把硬盘内部现有的分区表信息不管对错,全部推倒,重新使用该硬盘的默认盘面、磁头、柱面、扇区信息进行快速初始化并按照原来的分区大小和方式重新分区。

  如果阁下对数据的完整性十分在意,不想丢掉数据,那么完了以后试着用FinalData、EasyRecovery之类的软件吧,只能祝你好运(对这些数据恢复软件运用越纯熟,了解越多,数据恢复的成功率越高,建议大家平时有事没事多试试,所谓“平时多流汗,战时少流血”嘛)。

  要解决被增量偏移这种方法锁了的硬盘真的比较麻烦,就算非常有经验的人,恢复的成功率也是不高的。现在,我对“宙斯盾”和“恢复精灵”开始有点莫名地憎恨了,不知道大家是否有同样的感想,呵呵。

共4页: 上一页 [1] [2] [3] [4] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐