当然,在一片降低成本的呼声中,也有部分厂商跑得太远,偏离了正常轨道。最明显的问题就是伺服口的处理问题。熟悉硬盘的朋友都知道,硬盘上面有一个孔,一般都是用铝质贴纸封住,有的甚至还用金属片包住封口的贴纸,防止它被破坏,这个就是伺服口(有一些销售人员叫这个是真空封口,其实是错误的,硬盘内部并不是真空,磁头要靠空气的气垫原理悬浮在盘片的上方来读取数据。这个封口的作用其实是防止灰尘进入硬盘内部,因此,正确的说法应该是——硬盘内部是无尘的)。一般而言,盘片的磁道构造都不是在装配之前进行的,想想都知道,3英寸的盘片上要储存几十GB数据,磁道一定是要非常细密的才可以做到。如果在装配之前构造磁道,那么只要装配中出现非常微小的误差,都可能使装配好的硬盘在工作中出现这样或那样的问题。同时,装配过程中还可能出现轻微的碰撞,产生坏扇区,如果在装配前构造磁道,就不可能找出这些坏扇区来加以屏蔽了(详情请参阅第10期《软件能修复硬盘吗?——硬盘损坏全分析》)。而伺服口的作用,就是在装配好硬盘以后,机械手能够从这个孔伸进去进行扫描和写入伺服信息,构造磁道,这样,只需要对硬盘进行一次扫描和写入过程就可以完成伺服信息的写入,而又能最大限度保证伺服信息的准确和硬盘成品的可靠性。伺服口的数量有可能是1个、2个、3个或者更多。单片单面的磁盘只需要1个伺服口,单片双面的需要2个,双片3面的也是2个,双片四面的是3个,如此类推。 伺服口是不可以破损的,一旦破损,空气中的灰尘就会进入硬盘内部。而对于磁盘的盘面来说,一粒灰尘就相当于一个炸弹。即使只有一粒灰尘进去,在高速旋转的盘片上,灰尘会像弹球一样跳来跳去,不断击中盘面,形成大大小小的坏扇区。因此,硬盘厂商对于这样的硬盘是不予维修的。大家可以看到,在伺服口的贴纸上,都会有这样的说明——Warranty Void If Remove(一旦破损,保修失效)。但正是在这个盘体最重要、也是最脆弱的地方,某个硬盘厂商有意无意地出现了比较严重的设计失误。如图,某些硬盘厂家用来保护伺服口的材料,除了没有足够的凹陷以外,保障硬盘内部绝对无尘工作环境的竟然是一张15mm×8mm、厚不到0.1mm的小纸片(真的是纸片)!只要一个不小心刮破这张薄纸,整个硬盘就全报废了。稍有DIY常识的人都应该知道硬盘安装的过程中,要把硬盘插到硬盘架上,其侧面和机架有点磨擦是很正常的事,而且这个地方也是拿硬盘时手指最容易戳到的地方,没有足够的凹陷而把纸片暴露在这个位置上那简直就是在玩火了。如果哪个硬盘厂商在不少顾客因为不小心刮破了这张纸导致硬盘报废后,拒绝为顾客提供三包服务,而要让顾客来为他们的设计失误买单,那样就确实有点过分了。
(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)的操作系统就可以了。有很多系统可供选择:如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的小程序,运行它可以创建一张软盘,用来为硬盘解锁。毕竟是一个商业产品,如果没有一定的作用谁敢拿出来?试了一下,虽然不是能治百病,但对一般的硬盘锁还是很有效的。