硬盘修理方面的两篇文章——硬盘维修与数据恢复
形形色色的硬盘维修
在《硬盘损坏全分析》中已经分析过硬盘故障的种类,这里就专门针对日常使用中最常见的几种来逐一分析,概括地说明一下专业硬盘维修的一些具体方法。
1.逻辑坏道
这是日常使用中最常见的硬盘故障,实际上是磁盘磁道上面的校验信息(ECC)跟磁道的数据和伺服信息对不上号。出现这一故障的原因,通常都是因为一些程序的错误操作或是该处扇区的磁介质开始出现不稳定的先兆。一般在操作中的表现就是文件存取时出错,或者硬盘克隆的时候到了出错的地方就弹出出错信息,不能再继续下去。消除这些逻辑坏道的方法其实比较简单,最常用的方法就是用系统的磁盘扫描功能。在DOS下面用Scandisk扫描,系统可以把逻辑出错的扇区标出来,以后在进行存取操作时就会避免操作这些扇区。当然,如果单单是软件的错误操作造成的,也可以用原厂的工具进行全盘低格来重新恢复所有有逻辑错误的地方。也有的人利用HDD Regenerator、效率源之类的软件消除扇区错误,重新激活这个扇区。不过对于那些因为是该扇区的磁介质不稳定造成的错误,这里还是不推荐使用重新激活的方式,以免在储存了重要信息后再次出错。
2.物理坏道
这个也是比较常见的硬盘故障,实际上是因为震荡、划伤等原因导致一些扇区的磁介质失去磁记忆能力而造成的。通常这样的损坏修复都比较麻烦,因为在硬盘内部的磁道列表中,这个扇区是被标记为正常的,是真实的物理存在,所以它不能通过扫描、格式化、低级格式化或者激活扇区的方法消除,而必须把这个扇区加入到设置在硬盘内部的系统保留区内,由工厂设置的缺陷列表(G列表和P列表)中去,才能在硬盘控制系统的可见范围内消除这个坏道。当然,这样做需要专门的软件(目前能够比较容易找到,而且已经经过长时间市场实践检验的就是PC-3000),价格也非常高,如果大家想要这样做,只能找具有这样设备的专门维修商来修理了。对普通用户的价格大概是每个硬盘100~150元,是否值得就让大家自己考虑了。
不过,这里有必要提醒大家一下,请多多关注各大硬盘厂商的网站,有些厂商提供的原厂工具也可以对少量物理坏道进行处理,把它们加入G列表甚至P列表。譬如IBM/日立的DFT和西部数据的Data LifeGuard Diagnostics。这些原厂的工具软件都是作为向购买该厂硬盘的消费者提供的售后服务而免费提供的,不但扫描速度快,而且辨别准确率高,能够对比较普遍出现的硬盘问题作出相应的处理。对硬盘内部进行操作毕竟是比较危险的,还是原厂的东西比较可靠。除非碰上原厂工具不能解决的问题,否则不推荐大家使用第三方工具软件。
相对于上面那种比较高级的隐藏方式,也有一些要求不高的用户,不需要这样高级的隐藏方式,那么他们可以通过FBDisk和Disk Genius这一对软件的组合来把坏道所在的位置做成隐藏分区隐藏起来。具体的操作并不复杂,即使是稍有计算机经验的“中鸟”也应该可以很容易掌握,这里就不再细说了。
(小技巧:加入坏道列表和隐藏分区这两种方法在效果上的区别有两点,第一是隐藏分区方式会减少硬盘的可使用容量,而加入坏道列表则不会;第二,在坏道比较分散的情况下,需要使用多个隐藏分区才能全部屏蔽坏道,造成分区过多,影响硬盘使用效果;第三,坏道列表的数量是有限制的,坏道数量不能超过一定的值,如果坏道数量大而相对集中,隐藏分区不失为一种好办法。这里介绍另外一种折中的方式,类似于隐藏分区,但又不会因为分区过多而影响使用。不管三七二十一,先按照你自己的需要对有坏道的硬盘分好区,然后准备一个500KB左右大小的文件?D?D我觉得一张JPG图片就不错,不断复制,生成许多同样的副本,用编号来为这些文件命名,从1开始一直下去?D?D用ACDSee的批量编号命名功能就很好。然后,开始一个一个复制到有坏道的硬盘里面去,碰到有咔咔声响、或者复制速度突然变得很慢的地方,就是坏道了,记下当时这个文件的编号,如此不断继续,一个分区完了就进行另一个分区。把整个硬盘都填满以后,所有被记下编号的文件就是硬盘坏道的地方了,把这些文件设置成“只读”、“隐藏”,其他全部删除。这样,只要你不去动这些剩下的文件,磁头就不会去动那些个坏道了,非常方便,比隐藏分区要好。如果你的系统设置是可以看到隐藏文件的,而你又恰恰是一个完美主义者,觉得这些文件的存在还是太碍事,那么新建一个文件夹,把文件都拖到里面去,用超级兔子之类的工具隐藏掉这个文件夹,那就“整个世界都清净了”。)
3.大面积物理坏道
这样的硬盘就算是重病缠身,能继续用多久就要看天意了。如果有几块不同的大面积物理坏道,而且分布在不同的盘面上,那么我劝大家别花这个力气了。如果是虽然有大面积坏道,但全部都聚集在一个盘面上,那么你的运气比较好,真要修的话还是可以的,但是要损失硬盘容量。方法就是通过专门的软件,把有坏道的盘面整个屏蔽掉(其实就是把负责读取这个盘面的磁头停掉,并且在硬盘保留区的控制信息中抹去这个磁头的信息,当作没有这个磁头存在),这样就等于像做肿瘤切除手术一样,把这个有大面积坏道的盘面整个切除。如果是单片双面的硬盘,这样要损失一半的容量,双面三片损失1/3,双面四片损失1/4。给硬盘做这样的“手术”同样需要找具有这种设备的专门维修商,至于值不值得这样做就不是我能决定的了。
4.磁头定位不准
这个问题也经常可以碰到,其实就是磁头因为装配上的轻微误差,导致在硬盘长时间使用后问题恶化;又或者是硬盘的磁头长期工作后出现疲劳现象导致这种情况的发生。有时候一些硬盘读写特别慢,拷贝一个文件老半天没有反应,或者有时候会听到轻微的咔咔声,也许就是磁头定位不准而产生的问题。对于这样的问题,还是需要找专门的专业软件或者找有这些专业软件的维修人员,通过软件对磁头的控制程序做出轻微的调整,一般就可以恢复正常使用。不过如果硬盘已经有一定的“年纪”了,或者平时就是不间断、大负荷使用的话,磁头就确实已经疲劳或者老化了,即使经过调整暂时把问题掩盖起来,还是会在不长的时间内再次出现的。
5.磁头变形
这个跟磁头定位不准是不一样的,即使是微小的变形,对于读取数据所需要的精度来说也已经是太多了,用软件调整的方法不一定可行。处理这样的问题,最简单直接的方法就是像处理大面积坏道一样,把这个磁头停掉。这同样会损失这个磁头所负责读取的盘面的那一部分容量。
6.控制芯片或者电路板烧坏
这样的问题没说的,一般最直接的方法都是找另一块同样型号的硬盘的电路板,把坏的电路板换下来(维修的人管这个叫“换板”)。或者找一块相同型号的芯片,写进同型号硬盘的芯片信息,然后换到电路板上去。
说句实在话,其实硬盘保留区的信息和内部指令,是由硬盘厂商开发出来的,也受到知识产权和专利的保护,那些专业软件通过破解内部信息和指令的方法来维修,从严格的法律意义上来说,并不是一种正确的途径。而且,对于硬盘维修这个行业,硬盘厂商心里面肯定是蛮不舒服的?D?D要是所有人在硬盘坏了的时候第一时间都是考虑先试着修一下,将就着用,那么谁还会去买新硬盘呢?在这个微利时代,厂商的盈利要建立在大量出货的基础上,如果销售量上不去,那么对硬盘厂商的打击是相当大的。尽管如此,但是他们嘴上却不能有任何表示?D?D不让消费者维修,逼着他们买新的,这个罪名可没人担当得起。于是,硬盘厂商只能在暗中采取一系列措施来防止硬盘保留区的信息和指令被破解。
首先是不断开发新的信息格式和新的指令集。不同厂商的硬盘内部的信息格式和指令固然不同,就算是同一个厂商的不同型号硬盘,内部的信息和指令也有可能是不同的,这样就无形中增加了破解的难度?D?D为了能维修不断增加的新的硬盘型号,开发这些专业软件的公司就必须不断研究新的硬盘。
其次是采用芯片和硬盘内部信息结合的方式来杜绝换板。现在的硬盘,在控制芯片内部和硬盘保留区内都有一个唯一的串号,每一个硬盘的串号都是不一样的。在硬盘启动时,硬盘内部控制程序会先把在芯片中的串号和保存在磁盘上面的串号作对比,两者一致才继续初始化;如果两者不一致,就挂起。这样,即使更换了同样型号的硬盘电路板和芯片,也会因为内部串号校验的时候不能通过而无法启动硬盘。
最后一个方法是“釜底抽薪”,从根本上扼杀这些靠破解指令生存的公司的空间。其实,以前很多硬盘厂商提供的工具里面是有盘片扫描、加入坏道列表等功能的,像希捷的Disk Technician Factory Test。只是后来因为厂商希望加快硬盘的生命循环周期,才把这些功能去掉了。但是现在,一些厂商又开始在最新版的原厂工具里面重新加入这些功能(像IBM/日立和西部数据),有的甚至还加入了对硬盘固件(BIOS或Firmware)进行简单修复的功能。当然,为了避免这些工具真的会有“起死回生”的能力,厂商们在功能上都作了一定的限制,避免功能太强,但即便是这样,也足够应付日常产生的绝大部分问题。原厂的工具绝大多数是免费的,而其他公司的工具价格都是上万元,用户们用脚趾头都可以作出选择,这就从根本上扼杀了这些第三方公司的软件的生存空间。
不过对于硬盘维修,最近国内业界发生了一些事,使我觉得有不吐不快的感觉。目前能称为专业级的软件,一般都是来自俄罗斯和乌克兰,如PC-3000、MHDD、HDD、HRT等等,国内目前能放上桌面的大概就是效率源了。根据效率源的宣传资料,他们说是可以“修好”物理坏道,让硬盘“完全跟新的一样”,这样的话就比较值得认真探讨一下了。真的是可以“完全跟新的一样”吗?其实磁盘表面的物理损坏,无非来自两种原因?D?D磁介质不稳定和表面破损。一个扇区的磁介质不稳定,对相邻的其他扇区的磁介质影响非常非常微小,因此屏蔽掉后确实不会影响使用;而且只要其他的扇区磁介质仍然有足够的稳定性,这个硬盘还可以继续稳定使用一段较长的时间。但是构成物理坏道的原因,差不多90%来自因为碰撞、磁头划伤而导致的盘片表面破损。这种破损对周边扇区的影响是非常大的,破损处表面的磁介质晶体处于碎裂和疏松状态,在硬盘盘片以5400转/分或者7200转/分的转速高速旋转时,该处的破损晶体要承受多大的内应力、多大的离心力、多大的空气摩擦力、多大的热张力,都是有定律可遵循、有公式可计算的。在多种力的作用下,这个伤痕就会慢慢向四周蔓延,导致周围的扇区也出现坏道,并且越来越多。因此,类似效率源这样的宣传其实是不科学,也不负责任的,硬盘虽说是高科技产品,但总还是地球人造出来的,还是要遵守地球上的物理定律的吧?还有,最近效率源推出了全新的版本,据说是全面改进了维修方式,比外国产品还要先进。通过一些朋友的帮助和其他渠道,我找到了他们的试用版,在试用以后,发现这个软件在设计上存在非常大的问题,一是对芯片组的兼容性有很大漏洞,在我的MVP3机器上运行昆腾模块就出现挂起不能启动的错误;第二是出现漏查和把好盘修坏的错误,在一块被效率源迈拓模块修好了的迈拓盘上,用MHDD扫描仍然发现有错误,而在经PC-3000扫描过的迈拓硬盘上,效率源却说有坏道并且大肆修复一番,把缺陷列表改得不成人形了。看来,这个版本的推出实在是过于匆忙了,连作为软件产品的基本稳定性都还没有具备。另一方面,应该是效率源为了缩短扫描时间(如果按照MHDD的默认扫描方式,一块有5000个坏道的40GB硬盘扫描1个星期大概还不能完成),采用了简化算法来扫描,结果快是快了,但也出现了很多漏查和错误判断。这个问题也凸现出在程序设计的基础理念、总体控制、查错算法和对硬盘内部信息的理解上,国内的技术员跟国外相比还是有很大的差距啊。
其实,从总体上说,用软件来维修硬盘,本身就是层次比较低、成本也比较低的维修方法。因为用软件修,毕竟还是需要硬盘可以转动、机器可以认出硬盘型号和参数、磁头仍然可以运动并读写等等先决条件,一旦碰到一些死得特别彻底的(如硬盘哐哐响,盘体明显变形等),软件也就根本没有办法了,所以财大气粗的老美就对软件维修硬盘这个玩意儿不大感冒(这也是一众硬盘厂商没有对破解硬盘信息的公司采取决定性法律措施的原因之一),但是老美却具备世界上最尖端、也是最高成本的维修技术。至于他们拿这些技术干什么用的,下面很快就会提到。下面先讲一下成本比较高,可以修一些已经本身不能动、机器认不出、可以说已经判了“死刑”的硬盘的方法?D?D开盘维修。
通常,普通的老美用户都不修东西,硬盘坏了就扔掉换一个。类似象上面那些层次的损坏,除了逻辑错误,他们都是不去修的。但是,也确实有一些非要维修不可的时候,对于一些有盘体变形、磁头松脱、盘片偏心、马达损坏等问题的硬盘,却非要修的时候,他们通常会采取开盘维修法,拆开硬盘,矫正或者更换盘体、磁头,矫正盘片转轴、更换马达等等。不要以为这样很简单,因为开盘维修需要无尘程度非常高的无尘工作台甚至无尘工作间,光是配置一个这样的工作环境就不是普通公司可以承受的。目前国内能达到100级的无尘工作台或者超净工作室已经不多了,而对于维修这些损坏种类的硬盘来说,需要更高级别的无尘工作空间。单单是维持这样一个工作环境就已经所费不菲,难道老美们都疯了,要把钱往海里扔?当然不是,因为不单单在美国,在俄罗斯或者其他国家,同样有具备这样先进的技术和设备的维修公司,来对那些非修不可的硬盘进行维修。
说句实在话,一个硬盘才多少钱?值得那样大动干戈?确实,单单是维修硬盘本身的话就实在是太不符合成本效益原则了,但这些公司的目标明确得很,只有一个字?D?D利!所谓“利之所在,趋之若慕”,他们之所以舍得下这样的本钱,当然是背后存在着比这个本钱更大的利益,而这个利益就是?D?D数据恢复!
数据恢复简介
本人一向认为单纯为了维修而维修的硬盘维修实在没有太大意义,除非是那些一门心思要当二手商人的批发和零售商(不过请不要受到我主观观念的影响,大家可以根据自己硬盘的用途,对是否值得维修独立作出判断)。毕竟,硬盘维修的“维修”跟普通意义上的维修是有很大区别的。如果我们坏了一块主板,经检查发现是一个三极管烧了,我们可以更换一个新的三极管,这样,这个三极管仍然可以实现原来三极管的功能,主板没有受任何影响,坏的地方也就不存在了,我们可以说?D?D这块主板修好了。但是硬盘不一样,所谓的“维修”,只是把盘片上的坏道、硬盘内部的缺陷等等问题掩盖起来,不让硬盘的控制系统和计算机操作系统发觉而已,那些缺陷仍然实实在在地躺在硬盘里面,成为随时可以再爆发的定时炸弹。因此,单纯的维修,只能使硬盘暂时恢复可用性,我认为意义不大。而如果维修是为了让硬盘可以暂时使用,使用户可以重新读取盘里面的数据并备份到其他地方,那么这应该是值得的,毕竟用户的数据在一定程度上是无价的。
(PS:比较讽刺的是,当一些二手商通过简单地隐藏分区来隐藏坏道的时候,不少硬盘维修商还振振有词地说那些人是利用了部分消费者的无知来坑人,是奸商;而他们才是真正的维修,所以他们的工作是如何复杂、技术要求如何高,他们人是如何正直等等。现在,我们发现原来他们也只不过是把缺陷藏起来而已,只不过藏得非常隐蔽,让人无从发现,不知道他们现在应该如何自处?还是说奸商如果能不让人发现,就可以摇身一变变得不奸了?我觉得至少那些隐藏分区的人还算比较正直,因为他们毕竟还为消费者保留了发现作假的权利^_^。在这方面,我接触过一个硬盘维修商,他是PC-3000在南方新增加的一个国内代理,这人算是比较坦白的,能够明确告诉客户硬盘修复后和原盘的差别,让客户自己决定是否维修。这在硬盘维修界中算是另类了。)
数据恢复是一个比较敏感的话题,对于一些具体的理论、还原算法、涉及的仪器和具体操作的细节,都有各种各样的限制,不能详细作出描述。这里只能根据需要,尽量完整地让大家对数据恢复有一个大概的整体印象就已经足够了。数据恢复可以分为纯软件的恢复和软硬件结合的恢复。
硬盘内部是有一定的校验公式来保障数据的完整性的,根据每一个扇区内数据的内容、扇区的伺服信息,再根据一定的校验公式经过运算,会产生一个唯一的校验和,这个值每一个扇区都是不一样的。同一个扇区储存不同数据的时候校验和固然不一样,不同的扇区储存相同的数据也会产生不一样的校验和(SCSI硬盘在这方面的机制会更加完善)。数据恢复正是利用了这样的原理,通过逆向运算,在某一方面的信息因为错误操作而丢失或者被改变的情况下,仍然可以根据其余的原始信息,把数据尽可能完整地还原出来。
其实在实际操作中,删除文件、重新分区并快速格式化(Format不要加U参数)、快速低格、重整硬盘缺陷列表等等,都不会把数据从物理扇区中实际抹去。删除文件只是把文件的地址信息在列表中抹去,而文件的数据本身还是在原来的地方静静躺着,除非拷贝新的数据进去那些扇区,才会把原来的数据真正抹去。重新分区和快速格式化只不过是重新构造新的分区表和扇区信息,同样不会影响原来的数据在扇区中的物理存在,直到有新的数据去覆盖他们为止。快速低格一般只有原厂的DM才可以实现,是用DM软件快速重写盘面、磁头、柱面、扇区等等初始化信息,仍然不会把数据从原来的扇区中抹去。重整硬盘缺陷列表也只不过是把新的缺陷扇区加入到G列表或者P列表中去,对于那些本来储存在缺陷扇区中的数据那是没有办法了,因为扇区已经出现物理损坏,即使不加入缺陷列表,也很难恢复;但对于其他数据,其实还是没有实质性影响的。对这样的硬盘进行数据恢复,算是数据恢复里面比较简单的,最关键的一点是在错误操作出现后,不要再对硬盘作任何自己都不知道目的的无意义操作和不要再往硬盘里面写入任何东西。
恢复这种硬盘的数据,可以通过纯粹的软件操作来完成。目前大家能够找到的数据恢复软件还是非常多的,大致有EasyRecovery、Recover、Lost&Found、FinalData、Disk Recover等等,还有其他很多,就不逐一列举了。这些软件有的在DOS模式下面运行,有的可以在Windows模式下面运行,甚至可以在NT/2000下面运行,处理NTFS格式分区里面丢失的数据。对于误删除、错误格式化,但又没有用其他数据覆盖这些形式的数据恢复,上面说的这些软件还是有相当好的效果的。当然,如果让一个菜鸟和一个老鸟来运用这些软件的话,恢复效果会有很大的差别。要提高数据恢复的成功率,关键是要掌握每一个软件的特性和每一个操作的参数和特点,有针对性地合理选择,配合使用,这是需要一定的经验积累才可以做到的。目前国内的数据恢复公司对这种级数的数据恢复报价是每个硬盘350~1000元人民币。
纯粹软件的恢复当然有着极大的局限性,前提条件是必须要硬盘还能够正常使用才行。因此,对于一些有轻微缺陷的硬盘,稍微修理一下,让硬盘可以正常使用后,再进行软件的数据恢复是明智的,因为这样可以节省大量的数据恢复成本。毕竟,对于那些无论如何不能动的硬盘,软件是无能为力的,这时候就需要使用成本比较高的软硬件结合的恢复方式。
采用软硬件结合的数据恢复方式,关键在于恢复用的仪器设备。这些设备都需要放置在超净无尘工作间里面,而且这些设备内部的工作台也是级别非常高的超净空间。这些设备的恢复原理也是大同小异,都是把硬盘拆开,把磁碟放进机器的超净工作台上,然后用激光束对盘片表面进行扫描,因为盘面上的磁信号其实是数字信号(0和1),所以相应地,反映到激光束发射的信号上也是不同的。这些仪器就是通过这样的扫描,一丝不漏地把整个硬盘的原始信号记录在仪器附带的电脑里面,然后再通过专门的软件分析来进行数据恢复。可以说,这种设备的数据恢复率是相当惊人的,即使是位于物理坏道上面的数据,由于多种信息的缺失而无法找出准确的数据值,也可以通过大量的运算,在多种可能的数据值之间进行逐一代入,结合其他相关扇区的数据信息,进行逻辑合理性校验,从而找出逻辑上最符合的真值。
对于上面说到的设备和方式,目前国内拥有数据恢复设备,能够做到软硬结合的恢复方式的公司,根据资料显示目前暂时只有两家,分别位于北京和广东(资料有效期是今年4月,或许还有别的公司说自己有这样的设备,不过我觉得炒作的可能性比我漏查的可能性要大)。现在很多数据恢复公司都吹嘘说他们有多先进的设备,多高超的技术,但其实多半都是停留在纯软件级别的恢复而已。真的碰到难缠的盘,他们会快递到这两地的公司,让他们去用机器恢复,而这两家公司也认可这样的操作方式,因为这样他们就不需要花费打广告的钱,也保证了机器能够有足够的工作负荷,缩短投资回收期。这样级别的数据恢复,目前国内市场价格大约是每个硬盘3000~5000人民币甚至更多。当然,那两家公司接收从其他数据恢复公司转手过来的硬盘的时候,收的是行内批发价,这中间大概有数百到一千元左右的差价,当然是让那些数据恢复公司当仁不让当作中介费吃掉了。
不过这仍旧不是数据恢复的终极方式。因为他们都有一个前提,就是数据没有被覆盖。对于已经被覆盖的数据、完全低格、全盘清零、强磁场破坏的硬盘,仍然有最终极的数据恢复方式,老美管这个叫“深层信号还原”。具体的原理比较复杂,但是可以通过一个相关的例子来说明。譬如一个人开车撞了人,跑掉了,为了逃避公安的侦查,他把汽车撞过凹陷的地方重新鼓起拉直,并喷上了新的油漆。那么,这样处理过的车子,在肉眼的观察下是看不出碰撞过的痕迹的。但是鉴证科的人只需要用弧光灯照射汽车,戴上专门的偏光镜去看,碰撞过的痕迹就马上一目了然。“深层信号还原”应用了与此类似的原理。从硬盘磁头的角度来看,同样的数据,拷贝进原来没有数据的新盘和拷贝进旧盘去覆盖掉原有数据,是没有分别的,因为这时候磁头所读取到的数字信号都是一样的。但是对于磁介质晶体来说,情况就有点不一样了,以前的数据虽然被覆盖了,但在介质的深层,仍然会留存着原有数据的“残影”,通过使用不同波长、不同强度的射线对这个晶体进行照射,可以产生不同的反射、折射和衍射信号,这就是说,用这些设备发出不同的射线去照射磁盘盘面,然后通过分析各种反射、折射和衍射信号,就可以帮助我们“看到”在不同深度下这个磁介质晶体的残影。根据目前的资料,大概可以观察到4~5层,也就是说,即使一个数据被不同的其他数据重复覆盖4次,仍然有被“深层信号还原”设备读出来的可能性。当然,这样的操作成本无疑是非常高的,也只能用在国家安全级别的用途上,目前世界范围内也没有几个国家可以拥有这样的技术,只有极少数规模庞大的计算机公司和不计成本的政府机关能拥有这样级别的数据恢复设备,而且主要都是由美国人掌握。
看到这里,不知道我们的读者会有什么感想。在数据恢复领域,别人很早就已经能达到这样的技术高度了,而且现在,所有实质意义上的硬盘公司也全部都是别人的,但他们并没有大大咧咧到处炫耀。相反,我们国内的一些技术人员,数据恢复软件水平离日本还有十万八千里(被认为是“数据恢复软件之王”的FinalData是日本的产品),更不要说美国了;连属于自己的真正意义上的硬盘厂家都没有,算是小半桶水都不到了,但是摇晃起来倒是咣咣咣咣震天响。譬如某个南方的数据恢复公司设计了一个数据恢复软件(他们保密得很,我只看到了界面,没有真正看过工作方式和源码,不知道是不是“Banana软件”【注】,暂且算是他们设计的吧),10月23号的时候做了一次演示,把一个被PC-3000清空了缺陷列表的硬盘数据恢复出来,就认为效果很好了。可是,这本来就只是一个数据恢复软件应该做到的事情,国外的产品可以做到比这个更多,实在没有什么好炒作的。还有国内一个硬盘维修企业出了一个称为“国防版”的硬盘数据操作软件,但通过一些朋友在内部渠道了解过以后,不禁觉得有点失望?D?D如果中国现在的国防级别软件也只能达到这个水平的话,未免太让人心灰意冷了吧。衷心希望这个“国防版”只是一句广告词而已。
【注】:Banana?D?D香蕉。老美专指那些在美国出生的华裔,他们有中国人的黄皮肤,但是骨子里接受的却是美国白人的文化背景、生活方式和价值观念,因此用香蕉来比喻,取其“黄皮白心”之义。现在,有一些中国的软件公司,他们好一点的,购买外国软件的核心算法和引擎自己重新开发,但是付了2年的使用许可费,第3、4年照样使用;差一点的,反汇编出外国软件的算法、流程和指令,自己编写一个同类软件;或者再恶劣一点,只是对外国的软件进行脱壳,只是换上自己写的一个中文界面,就堂而皇之地拿出来卖,美其名曰“民族软件”。对于这些软件,国外程序员比较无奈地,其中比较有幽默感的人就把这些软件统称“Banana软件”。这类软件在国内是令人难以置信地超大量存在,无论出品自大公司小公司,你叫得出名字叫不出名字,几乎毫无例外地有着“香蕉”的影子。
几种硬盘问题的菜鸟处理方法
相信很多读者都会对这个比较感兴趣,但是对于我来说却是非常不好写。毕竟,绝大部分读者都不是专家,一些在操作中被我们认为很理所当然的事情别人却未必能很好理解和掌握。另一方面,对于这样的问题,确实也不方便说得太多太详细,于是,就写成了下面这部分不伦不类的文字。尽管如此,我还是希望通过在这里的一些描述,让绝大部分使用者都可以自如地解决一些比较常见、而且大家也比较关心的硬盘问题。这样,大家在碰到一些常见问题的时候就不需要出去找那些搞硬盘维修的,让人狠宰了。其实,很多常见硬盘问题的处理方法在网上都登得滥了,非常容易找到一大堆解决的方法,因此这里不打算对一些网上有详细说明,而且可操作性很高的硬盘问题处理方法作描述。我这里想要说的,是一些也比较容易碰到,但是网上的说明却都是那些枪手们你抄我抄大家抄,毫无可操作性甚至根本不符合逻辑的那些问题的处理方法。不过我必须提醒大家,既然我说的这些都是比较棘手的问题,那你也别指望有太高的成功率,现代硬盘的结构和运行机理已经远比从前复杂很多很多了,我不可能每一个牌子每一个型号的硬盘都那样去试,这些方法的原理都是符合现代硬盘的结构和控制、运行机制的,但是能不能真正解决问题,还是要看操作者是否能够对硬盘故障的原因作出正确把握并能否灵活和综合运用各种工具软件。
1.硬盘分区表损毁
造成这个问题的最通常原因,是在电脑使用过程中突然停电。如果电脑在进行磁盘整理或者其他需要大量磁盘读写过程的操作的时候,突如其来的停电有很大可能会产生这种错误。大家不要认为这是很初级的硬盘问题,设身处地想一下,要是一些老鸟自己碰到这个问题,也会彷徨一下子的。问题主要是如果不需要数据的话,那么这个根本就不算是一个硬盘问题,只要重新分区格式化就搞定了;但是,如果里面有比较重要的数据的话怎么办?或者你比较懒,不想重装系统,能不能在保存系统和数据的情况下解决这个问题呢?对于这个要求,网上很多文章的介绍是用DiskMan这个软件去自动修复分区表。不过,在实际操作中,这样的方法倒是有点过于傻瓜化了,想靠软件去自动修复分区表,靠的其实是软件的算法,但是算法是死的,人却是活的,每个人自己硬盘的分区都不可能一样。跟据实际的操作证实,这样的恢复方法大概只有90%的修复率,就是说,能100%完全修复分区表的机会并不是很高。不过用DiskMan这个软件,主分区的恢复倒是一般不成问题,只要你的主分区恢复了,系统可以启动了,剩下的不能恢复的分区里面的数据可以试着用FinalData来恢复,在正常情况下,应该可以完全恢复过来。这个方法最大的优势是DiskMan支持的文件格式非常多,所以即使在NTFS、EXT等等其他格式的分区里,也能比较有效地恢复分区表。
不过,如果你的硬盘是FAT或者FAT32的话,我觉得上面的方法还是太复杂了,而且把希望全部寄托在两个软件的算法上面,没有调动人的主观能动性,太浪费人力资源了^_^。估计绝大部分人对自己用的计算机里面的硬盘分区大小还是心中有数的吧,如果能记得每一个分区的大小,这样就可以了。你原来用什么软件分区的,现在还是用它,一摸一样按照原来每个分区的大小重新分区,不过记住不要格式化。不要格式化这个非常关键,有一些分区软件如Partition Magic等等,通常在默认情况下都是分区连格式化的,在设置里面取消分区连格式化的选项。重新分区之后,用软盘、光盘启动或者把这块硬盘接到另外一台计算机上面,运行NDD(Norton Disk Doctor,不要告诉我你不知道这个是什么),执行扫描,很快,它就会发现硬盘分区错误和一些很专业的“莫名其妙”看不懂的错误,不知道说什么也没关系,接下来当然是修复这些问题啦。全部修复完以后,重新启动,你会惊奇地发现整个硬盘又已经可读了,所有分区跟原来都一模一样,所有原来的文件也完好无损,一个字节也没有少。这种方法的恢复成功率非常高,过程非常傻瓜但是又可以调动大家主观能动性。不需要运行专门的数据恢复软件,又能让大家真正去动手,使菜鸟也能拥有妙手回春的满足感,特能满足人们的虚荣心,哈哈。当然,最保险的办法还是在软盘或其他存储介质上备份一个分区表,这样可以令硬盘的安全系数得到大大提高。
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的小程序,运行它可以创建一张软盘,用来为硬盘解锁。毕竟是一个商业产品,如果没有一定的作用谁敢拿出来?试了一下,虽然不是能治百病,但对一般的硬盘锁还是很有效的。
增量偏移法当初其实不是用来制造逻辑锁,而是用来制作硬盘保护卡的,联想的“宙斯盾”和捷波的“恢复精灵”等硬盘保护软件也是采用了相似的技术。这种方法的原理就是在硬盘里面划出一个特别的区域,把整个硬盘的所有写入全部操作映射到这个区域中,这样,原来设置了受保护的系统和数据区域就不会受到新增加的写入信息的影响,甚至是文件的修改,其实也是映射到特定区域的操作。因此无论出现什么样的崩溃,只要一个按钮,就可以把原来受到保护的系统和数据恢复过来。不过对硬盘的保护好是好了,但如果换了一块主板,或者主板、保护卡坏了,要处理这个硬盘也真的十分头痛。因为上面说的方法对这个硬盘已经没有用了,你通过软件从硬盘里面读出硬盘分区表的数据,然后修改、写进去,可惜,这些正确的信息并没有真正写入分区表,而是都映射到那个特殊的区域去了,硬盘仍然不行。这样的硬盘,无论做重新分区、格式化甚至低格,完了你还是发现里面的数据纹丝不动。如果你运气好,知道硬盘是被“宙斯盾”或“恢复精灵”,又或者是什么其他硬盘保护卡保护过的,那么你只要找到相应的主板或硬盘卡,执行一次卸载过程就可以了;如果运气不好,不知道,那么试试下面的方法吧。
经过一些实践,可以用这样的方法来解除。找一块没有“宙斯盾”或者“恢复精灵”主板的机器,把这个硬盘作为从盘挂上,COMS设置里面把这个硬盘设成None(在大多数情况下,这样就已经能够解除映射信息对BIOS的欺骗,恢复软件对硬盘的实模式操作),然后运行fdisk /mbr,应该就可以恢复这个硬盘了。如果还是不行,那就干脆不要用微软的系统。在PC-DOS或者ROM-DOS下面运行原厂DM,把硬盘内部现有的分区表信息不管对错,全部推倒,重新使用该硬盘的默认盘面、磁头、柱面、扇区信息进行快速初始化并按照原来的分区大小和方式重新分区。如果阁下对数据的完整性十分在意,不想丢掉数据,那么完了以后试着用FinalData、EasyRecovery之类的软件吧,只能祝你好运(对这些数据恢复软件运用越纯熟,了解越多,数据恢复的成功率越高,建议大家平时有事没事多试试,所谓“平时多流汗,战时少流血”嘛)。要解决被增量偏移这种方法锁了的硬盘真的比较麻烦,就算非常有经验的人,恢复的成功率也是不高的。现在,我对“宙斯盾”和“恢复精灵”开始有点莫名地憎恨了,不知道大家是否有同样的感想,呵呵。
3.零磁道损坏
这样的文章网上太多太多了,遗憾的是很多都是几百年前的资料,都是在网上你抄我我抄你的。要命的是根据他们所说的用DE或者PCTools将硬盘的起始扇区从0面0柱1扇区改为0面1柱1扇区的方法,却根本没有一个人真正修好过零磁道。想来,大概是写这些文章的人自己也没有零磁道损坏的硬盘,没有真正看到过这样的硬盘是不是真的像他们想象的那样还可以动起来;或者,就是把修复软盘零磁道损坏的方法照样套在硬盘上去了。硬盘和软盘的结构和机制区别非常大,特别是现代硬盘,已经完全没有软盘原理的影子了。
零磁道损坏分为物理零磁道损坏和逻辑零磁道损坏。逻辑零磁道其实就是引导扇区(请注意,不是网上众多文章所说的主引导扇区,主引导扇区坏了的话是神仙也难救的),物理零磁道是主引导扇区。在老式的老爷硬盘里面,主引导扇区的信息通常是做在硬盘的Firmware上面的,所以硬盘没有物理零和逻辑零的区别,主引导扇区和引导扇区的称呼没有任何区别,其实都是指逻辑零。而现代硬盘,初始化信息的起点就是硬盘的物理零,如果物理零损坏了的话,硬盘根本无法完成初始化过程,通过软件方法根本没有成功恢复的可能性。
通常,现代的硬盘启动的过程是这样的,通电后,磁头接收到从硬盘控制芯片上传来的第一个启动指令,然后开始读主引导扇区(物理零)的初始信息,确定硬盘保留区的位置,然后读硬盘保留区,确定缺陷列表、调入校验算法公式、读入内部操作指令等等。所有这些完成了,硬盘才算完成了初始化,正式进入工作状态。然后,硬盘开始读取引导扇区(逻辑零),确定硬盘的起点和分区表位置,读入分区表等等。从这个过程的分析中,我们可以看出,逻辑零磁道损坏的硬盘还是可以完成整个初始化过程,被系统认出来的,因此,也就存在着被软件修复的可能性。就不要用什么DE和PCTools了,这些都是很老的软件,基于老式硬盘的CHS结构体系以及相应的3D寻址方式,跟现代硬盘的模块化结构和线性寻址方式是有很大差距的。按照网上文章的说明修改以后,对现代硬盘根本不会起作用,不信的话大家可以自己试一下(也会有起作用的时候,但那必须是你的主板BIOS里面有3D寻址-线性寻址翻译模块,并且恰好能够支持你想要修的那个硬盘,不过你要是觉得可以碰上这样的可能性的话,我劝你不如去买彩票算了)。用一个原厂的DM吧,DM用的人多了,但是我可以说估计没有几个人会有这个好奇心把里面所有的选项和功能都试一遍的。某些厂商的DM里面有一个项目,叫“高级选项”,进入后,选“自定义”选项,有一个项目的选项中,它会首先问你是否愿意按照硬盘参数默认的磁头、柱面和扇区参数来对硬盘分区和格式化,既然你的硬盘逻辑零磁道坏了,当然是选择“否”,然后DM会让你自己输入相应的磁头、柱面和扇区信息,这时候你应该知道如何做了吧?如果不幸你的硬盘品牌的相应DM没有这样的选项和功能,那么就试试用Acronis DiskEditor吧(要在Windows 2000/XP下面运行),试着用这个最新最强的扇区编辑软件封闭硬盘的逻辑零磁道,也可以达到相似的效果。不过无论是DM还是Acronis DiskEditor,这样的操作因为受到很多其他条件的约束,先决条件是必须能把硬盘认出来并且能够进行实模式操作,否则成功率不会高。而且对普通用户来说这些操作还是比较复杂,要多试几遍,多研究几次才可以提高成功率。
对于物理零损坏,根据上面的硬盘初始化过程,我们可以知道,这样的硬盘根本连初始化都不能开始进行,无论什么系统什么软件都不可能对它进行操作,真正的软硬不吃。不过,这么久以来,我还没有真正碰到过物理零损坏的硬盘,所以也不知道像PC-3000这样的软件有没有这个能力修复。比较能确定的方法只能是回原厂用机器设备重新扫描定位,重写伺服信息,然后进行内部格式化来修复;或者,你可以找一家比较有实力,拥有硬盘伺服机的修复公司帮你修,不过成本方面就……嘿嘿。
总的来说,现在有很多公司根据现代硬盘的结构和原理,配合现在比较通用的Windows操作系统平台,设计了很多非常新的、功能很强大的软件,譬如Acronis,这家公司的全套系统工具包括DiskEditor、Drive Image、OS Selector、Unlock(解除硬盘逻辑锁)等等十多个,都应用了现在硬盘的基本原理,功能也非常全面。在进行各种硬盘操作的时候,适当进行各种软件的新旧搭配,互相配合使用,经常会发现有意想不到的效果。这些就需要大家在实际操作中摸索并熟练使用才可以达到的了。
后记
每次想到硬盘、数据,就不由得想到了国内的进口二手垃圾。说句实在话,别人敢于向国内出口硬盘垃圾,其实就是想着我们也只能把这些硬盘修修当二手的用而已。如果国内的数据恢复水平能够普遍提高,我相信外国往国内输出二手计算机零配件的时候会三思而后行的?D?D保不准里面还有IBM、Microsoft的哪一个高级工程师用的硬盘呢;说不定还有政府部门甚至国防部的机器用过的硬盘呢。嘿嘿,说说笑话而已,他们公司和政府的关键部门所使用的硬盘都要通过Disk Eraser这类硬盘数据销毁设备处理过后才会扔的啦。
在这里,如果大家对自己动手解决一些硬盘问题比较感兴趣,我衷心提议大家先不要忙着满互联网地找一些你我都不知道是谁写、做什么用的第三方工具,多留意一下原厂家的网站,用用他们原厂的工具软件。虽然厂家为了尽量避免让大家修硬盘修得很爽,并没有在原厂DM和其他原厂工具上面提供太丰富的功能,但基本的功能还是会提供给大家的,而且性能非常可靠,功能也很实用。而且有时候原厂工具的较低版本里面维修功能可能比新版本多,譬如西部数据的原厂低格程序WDClear,它是比较旧了,最高版本也就是1.3,而且只支持最大8.4GB的小硬盘。但是它的功能却非常强大,比现在西部数据的DM(当然,厂商不一定把这个程序叫DM,反正不管叫什么名字,我们知道它其实就是DM就行了)要强很多。不少硬盘维修商就非常清楚它的作用,它体积小,功能大,具备非常快速而准确的盘面检测能力,能够快速进行坏道修复,可以智能跳过顽固物理坏道,正是因为这些优点,它成为了不少维修商的修盘利器!
把这个程序放在一个完好的主硬盘里,把待修的硬盘(要西部数据的盘,不然我不保证会发生什么后果)放在其他IDE接口上。运行WDClear,会出现一个蓝色的窗口和几行简单的英文,右面还有一个红色的小窗口,显示硬盘的型号、串号、固件版本信息等,如果还想看更详细的参数,就选择“查看检测结果”。这里面的参数更详细一些。现在,里面显示了两个硬盘参数,选择你要维修的硬盘的参数,回车。选“读取并检测磁盘”,回车,确定,于是软件就对硬盘的表面开始检测了。在扫描过程中检测到的坏道,只是显示坏道的类型和位置,软件不会对它们做任何的修复和写入处理。扫描完以后,确定了坏道的位置,就可以使用“清零驱动器”来把坏道清除或者写入G列表。所以有时候原厂的东西,版本老一点的还是很有作用的,反正你要修的也是旧盘嘛,新的硬盘只要好好用,哪里会这么快就坏了呢?
一口气写了这么多,主要还是因为觉得目前国内有一种很不好的风气“浮夸”,大家都在互相抄袭,急功近利,你说你的路由设备有3000条规则,我就会说我的有5000条,纯粹的基于利益的炒作,丝毫没有科学的精神在里面(路由规则越多,说明路由效率越低下,通常2500~3000是一个比较合理的数字,既可以保证足够的安全和路由效果,又可以维持比较高的路由效率。记住了,购买时看到在路由规则上攀比的厂商就要留意了)。
又譬如,出品PC-3000的俄国ACE Laboratory在国内原来只有一家代理商,PC-3000的首年升级、技术支持和培训都是免费的,但是因为国内是独家代理,导致代理商扣起客户的升级和支持帐号与密码,每次升级收费几百到一千不等的升级费,技术支持收几百元的咨询费,培训收培训费等等。很多客户不满,纷纷越过代理,通过香港和美国直接向ACE Laboratory购买,严重影响了ACE Laboratory的声誉。焦头烂额的ACE Laboratory只好又在国内增加了一个代理,希望通过竞争,杜绝这种现象。还有,就是现在网络上、报纸杂志上不少所谓技术性比较强的专业文章其实都只是故作高深,似是而非的东西,没有误导已经很不错了,对读者并没有任何帮助。
也有的人,在网上发布信息,售卖硬盘、主板维修或者其他各种的资料,每份要价一千到数千元不等。其实里面只有十多页纸,都是网上找来的大路货,没有任何实质性的内容,而且售卖的人其实连这些资料是对是错都分不清。
实际上,现在是一个资讯时代,很多资料和信息都已经相当公开了。如果大家还想着因为自己掌握了那么一点点东西,就拼命保守这些所谓的秘密,希望利用对信息的封锁、利用用户的无知来达成一定的经济效益的话,那就错了。现在,只有本着公平、公开的原则来经营,凭着坚持不懈的意志去做研究,才能从根本上提高自己公司的技术水平,获得真正的经济利益。
作为一个在海外的中国人,当然希望自己的祖国可以早日强大,但所有的事情都是有自己的客观发展规律的,并不能一步登天。北京某名牌大学说要把自己办成世界级的一流大学,向哈佛看齐什么的,我不知道他们凭什么这样说。先不要说哈佛物理系的大功率粒子加速器和粒子对撞设备,光是校园里面的Internet 2的超高速校园网、能模拟流体力学实况的巨型计算机,国内就没有什么大学能够做到。落后并不可耻,只要我们敢于正视,我们的技术人员能够多动脑去搞研究,多动手去做实验,少动嘴去吹牛皮,相信很快我们就可以拥有与国外相同层次和水平的技术与设备。
相关文章
man -f/-k [keyword]在fedora 29 中报错nothing appropriate
这篇文章主要介绍了man -f/-k [keyword]在fedora 29 中报错nothing appropriate ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2019-04-04HarmonyOS开发基础知识之Component和ComponentContainer区别(鸿蒙教程)
这篇文章主要介绍了HarmonyOS开发基础知识之Component和ComponentContainer区别(鸿蒙教程),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09
最新评论