硬盘逻辑锁大体上可以分成逻辑死循环和增量偏移两种方式。再复杂的方式如全盘算法加密等等就不是普通的用户可以解决的了,因此这里也就不提了。
逻辑死循环也有很多种,从比较简单的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等,另外,微软的NT/2000/XP系列也是可以的。
如果想了解更多的关于硬盘的知识,小编向他大家推荐天伟数据恢复中心的《硬盘不能启动的常见故障分析及处理》一文。希望对你能有所帮助。