硬盘+硬盘修理方面的两篇文章——硬盘维修与数据恢复

分区描述:

分区是对硬盘空间的再次划分,划分空间是为了实现文件的隔离,为后期的文件存储进行规划。

对硬盘的操作基本上可以分为分区与格式化。分区是对硬盘空间的再次划分,而格式化是在分区的基础上对分区进行文件存储的方式进行规划,就是创建文件系统.格式化可以直接格式化整个硬盘,也可以格式化单独的分区。

分区种类:

文件的分区类型可以分为MBR与GPT

MBR分区类型最大支持4个主分区,也可将其中一个主分区更改为扩展分区,然后在扩展分区中创建逻辑分区。理论上逻辑分区是可以无限创建的。MBR分区表中使用32位二进制数表示一个分区的扇区数,所以在MBR分区中,每个分区最大为2T。

MBR分区的引导空间位于磁盘的0磁道0扇区,大小为512字节。其中前446字节存放的是bootloader,而后的64字节存放的是磁盘的分区信息。每个分区表项大小为16字节,一共可以存放4个分区的信息。这也是MBR分区类型最大只能划分4个主分区的原因。

每个分区表项的数据排列为:

第一字节:可引导标志位。80H为可引导标志,00H为不可引导标志。随后的第2、3、4字节标示了本分区的起始磁头号、扇区号、柱面号,磁头号占据第二字节,扇区号占据第三字节的低6位,柱面占据第三字节的高2位与第四字节。

第5字节存放分区的类型:具体见下图:

分区工具:

parted:支持交互式与非交互式两种操作,可以直接使用命令进入交互式操作。同时支持GPT与MBR分区操作。

mklabel : 创建磁盘的标签,即创建磁盘分区表使用的类型:MBR或GPT

parted /dev/sdb mklabel gpt|msdos

print: 打印分区表及相关信心

parted /dev/sdb print

mkpart:创建分区

parted /dev/sdb mkpart primary 1 200

rm:删除分区

parted /dev/sdb rm 1

-l:显示列表

parted -l

gdisk

GPT类型的分区工具,交互式操作。

-l:显示分区信息,可能会出现已经建立了分区表但是没有分区的情况。或者命令后面声明,操作的磁盘分区,进入交互式操作模式。

p :打印 t:更改分区表类型 n:创建新的分区 d:删除分区 w:保存退出 q:退出

c : 以柱面的方式显示分区的信息 u : 以扇区的方式显示分区的信息

a : 指定分区为启动分区,可以指定多个分区,但是可能会引起故障.

v : 校验分区表

L : 显示分区类型的列表,这里的分区类型仅仅是指明该分区的用途,并无实际的作用。即便指定了一个错误的类型,也不影响使用。

t :更改分区的类型,对应上面的L显示的用途。

注:在fdisk/gdisk中,块大小代表1k。

fdisk:支持 msdos分区类型的工具,即MBR分区。使用方式同gdisk

g : 创建一个新的GPT分区表,但是会覆盖之前原有的分区表.

o : 创建一个新的MBR分区表,但是会覆盖之间的分区表.如果之前的分区表为GPT新创建的分区如果不进行继续的分区,在次进入fdisk时分区表类型不会发生改变.造成这种情况的原因可能是GPT分区表的结构,前面有一个保护的MBR分区表,创建新的MBR分区表时只覆盖了前面的保护MBR分区表但是后续的真正的GPT分区并没有发生改变。

partprobe:在linux中,分区的参数在内存中存在一份。但真实的物理设备上的分区表信息并不会与内存中的分区表实时同步。需要手动进行更新。内存信息位于/proc/partations 中。

linux中df命令读取的是内存中的信息。fdisk,gdisk的工具才会读取硬盘的数据。

partprobe,进行内存信息与磁盘的信息进行同步。

partprobe /dev/sda

在linux中需要使用另类的命令重读分区表:

新增分区时同步:

partx –a /dev/sdb

kpartx –a /dev/sdb

删除分区时同步:

partx –d –nr M-N /dev/sdb

硬盘修理方面的两篇文章——硬盘维修与数据恢复

这是作者致鸣写给我的一段话:“想写这篇文章很久了,之所以一直没有动笔,是因为碍于个人的责任感,担心自己所掌握的知识面不够,不能全面、客观地判断事实。现在,经过几个月的查找资料和反复测试,拆掉、弄坏了几十个硬盘,觉得自己有足够的事实根据去作出判断了,因此写出了这篇文章。由于这是一篇普及性质的文章,针对的是所有的用户和消费者,所以不打算谈论具体的技术和复杂的理论,只讲基本的原理和实际的效果。希望借着这篇文章,能帮助广大的DIYer认清一些事实,对于种种的广告和貌似专业的宣传能够独立作出清晰的判断。”

说实话,这段文字里面的“的”字实在太多了,如果被校对组的老师看到,又非痛骂我一顿不可。不过总觉得这些“的”字无不包含了作者的某些情绪在里面,所以毅然决然地保留了下来,这样你们才能被同样的情绪所感染,而不会担心被编辑笨拙的手笔改到面目全非,失去原有的味道。

话说回来,读者看我们杂志,首要还是了解知识,而非学习语法。正是基于此点,才在杂志制作的关键时期,把原本正在准备中的一个专题撤掉,临时改换此文——就是说,我们以为此文能给读者带来更多的收获和震撼。没错,震撼!本文不是一篇简单的普及知识性文章,而是对广大用户所普遍关心的硬盘问题进行了一些披露。硬盘为什么容易损坏?厂商对返修硬盘如何处理?硬盘维修公司如何修理坏硬盘?软件真的能修复坏硬盘吗?看下去,你会寻找到问题的实质。

纷争的起点

一直以来,硬盘都是计算机系统中最主要的存储设备,同时也是计算机系统中最容易出故障的部件。十几年来,计算机CPU的运行速度已经翻了不知道多少番,从几十MHz提高到现在的3GHz以上,计算和处理功能已经过了几代飞跃。其他零部件,诸如显卡、声卡和光驱也已经换了很多代,只有硬盘这个最主要的存储设备,虽然容量和速度有了很大提高,但基本结构和工作原理仍然没有多大的变化,而且由于硬盘转速和磁盘密度的提高,硬盘比以前更加容易损坏。一般的用户在使用过程中,如果硬盘出现故障,还在质保期内的话当然是尽快找到销售商要求保修或者更换;但是现在绝大部分IDE硬盘的质保期只有一年,在这个时期过后硬盘出了故障,就只能考虑花钱修理或者购买新的硬盘了。

硬件的损坏不可避免

刚用了一年多或者两年的硬盘就这样扔掉,当然非常可惜,大部分用户也都希望能花最少的钱使自己的计算机各零部件能够最大限度地发挥用途。出于对这种节省心理的迎合,这两年二手硬盘市场发展很快,也陆续出现了一些以维修硬盘作为卖点的硬盘维修公司,更出现了很多据说能修理硬盘坏道的硬盘维修软件,譬如HDD Regenerator、MHDD、PC-3000和效率源等等,其中有一些更是宣传自己是专业软件,可以修复硬盘的物理坏道而且不影响硬盘容量从而卖到了一万多元的天价。尤其是当俄罗斯的PC-3000进入中国后,这方面的信息就更加受到瞩目。

[编注:PC-3000是由俄罗斯著名硬盘实验室ACE Laboratory研究开发的商用专业修复硬盘综合工具,它能破解各种型号的硬盘专用CPU的指令集,解读各种硬盘的Firmware(固件),从而控制硬盘的内部工作,实现硬盘内部参数模块读写和硬盘程序模块的调用,最终达到以软件修复多种硬盘缺陷的目的。另外,它在数据恢复方面也有其特别的功效,大部分OEM硬盘厂商也很难全部掌握这些功能。ACE Laboratory经过十多年的不断研究,PC-3000 V12(最新版本)已能支持大部分新旧型号的IDE接口硬盘,容量从40MB至200GB。其强劲的修复硬盘功能已得到世界各国的专业硬盘维修公司所认可,目前在世界各地已有数千个专业级用户,据说每天用PC-3000修复好数千到上万个缺陷硬盘。]

对于普通用户来说,如果真的能把有物理坏道的硬盘修好,那么就可以省下买新硬盘的钱了;对于二手硬盘销售商来说,一个有坏道的硬盘和一个没有坏道的价格差很多,如果能把有坏道的摇身一变成为没有坏道的,可以多挣很多利润;对于专门修理硬盘人的来说,有了这些软件就可以用一台计算机一张桌子开店了,平均每修理好一个硬盘收40元那也是非常好的生意;而对于销售这些软件的代理来说,每销售一套就是7000~8000元人民币的利润,更加是肥得流油的生意。因此,在种种力量的促使下,各种不同的群体怀着不同的目的开始了一系列的宣传,使这些软件变得更加瞩目。由此,在很多以硬盘维修、二手硬盘和硬盘技术为主题的论坛上引发了很大规模的讨论甚至骂战。有兴趣的读者可以到“存储在线”(http://www.stol.com.cn)的论坛转转。

那么,软件能够修复硬盘吗?要弄清楚这个问题,必须先从硬盘内部的结构谈起,先搞清楚硬盘损坏的原因和机理。

硬盘的结构

硬盘内部结构

关于硬盘结构的文章已经非常多了,不过真正要说清楚的话,就算专门出一本书也说不完,因此这里就不再从头细细讲述了。只是要讲明白一点,到目前为止,在很多文章、技术资料甚至教科书里面讲述的硬盘结构模式,已经是非常老式的硬盘结构了。对于现在的新硬盘来说,都已经全部不采用这样的结构,而是采用了更为复杂、也更加科学的结构方式。

在老式硬盘中,采用的都是比较古老的CHS(Cylinder/Head/Sector)结构体系。因为很久以前,在硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘。也就是硬盘盘片的每一条磁道都具有相同的扇区数,由此产生了所谓的3D参数(Disk Geometry),即是磁头数(Heads)、柱面数(Cylinders)、扇区数(Sectors)以及相应的3D寻址方式。

CHS结构体系

其中:磁头数表示硬盘总共有几个磁头,也就是有几面盘片,最大为255(用8个二进制位存储);柱面数表示硬盘每一面盘片上有几条磁道,最大为1023(用10个二进制位存储);扇区数表示每一条磁道上有几个扇区,最大为63(用6个二进制位存储);每个扇区一般是512个字节,理论上讲你可以取任何一个你喜欢的数值,但好像至今还没有发现取别的值的。

所以磁盘最大容量为:

255×1023×63×512/1048576=8024MB(1M=1048576Bytes)

或硬盘厂商常用的单位:

255×1023×63×512/1000000=8414MB(1M=1000000Bytes)

由于在老式硬盘的CHS结构体系中,每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费很多磁盘空间(软盘也是一样)。为了进一步提高硬盘容量,现在硬盘厂商都改用等密度结构生产硬盘。这也就是说,每个扇区的磁道长度相等,外圈磁道的扇区比内圈磁道多。采用这种结构后,硬盘不再具有实际的3D参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址。而为了与使用3D寻址的老软件兼容(如使用BIOSInt13H接口的软件),厂商通常在硬盘控制器内部安装了一个地址翻译器,由它负责将老式3D参数翻译成新的线性参数。这也是为什么现在硬盘的3D参数可以有多种选择的原因(不同的工作模式可以对应不同的3D参数,如LBA、LARGE、NORMAL)。

而随着磁盘密度的增加、机构的进一步复杂、功能和速度上的提高,如今的硬盘都会在磁盘里面划分出一个容量比较大的,称为“系统保留区”的区域,用于储存硬盘的各种信息、参数和控制程序,有的甚至把硬盘的Fireware也做到了系统保留区里面(原来这些信息都是储存在硬盘控制电路板的芯片上的)。这样虽然可以进一步简化生产的流程,加快生产速度和降低生产成本,但是从另一方面,却又大大增加了硬盘出现致命性损坏的几率和缩短了硬盘的使用寿命。我十几年前的200MB硬盘和8年前的1.2GB硬盘到现在还用得非常好,别说是坏道,连运行时的声音都是没有的,但是到后来的4.3GB、6.4GB、10GB、20GB硬盘,都没有能用超过4年的,全部坏掉了。

硬盘损坏的种类

一般来说,硬盘的损坏按大类可以分为硬损坏和软损坏。

硬损坏包括磁头组件损坏、控制电路损坏、综合性损坏和扇区物理性损坏(一般人称之为物理坏道)四种。

※ 磁头组件损坏:主要指硬盘中磁头组件的某部分被损坏,造成部分或全部磁头无法正常读写的情况。磁头组件损坏的方式和可能性非常多,主要包括磁头脏、磁头磨损、磁头悬臂变形、磁线圈受损、移位等。

※控制电路损坏:是指硬盘的电子线路板中的某一部分线路断路或短路,或者某些电气元件或IC芯片损坏等等,导致硬盘在通电后盘片不能正常起转,或者起转后磁头不能正确寻道等。

※综合性损坏:主要是指因为一些微小的变化使硬盘产生的种种问题。有些是硬盘在使用过程中因为发热或者其他关系导致部分芯片老化;有些是硬盘在受到震动后,外壳或盘面或马达主轴产生了微小的变化或位移;有些是硬盘本身在设计方面就在散热、摩擦或结构上存在缺陷。种种的原因导致硬盘不稳定,经常丢数据或者出现逻辑错误,工作噪音大,读写速度慢,有时能正常工作但有时又不能正常工作等。

※扇区物理性损坏:是指因为碰撞、磁头摩擦或其他原因导致磁盘盘面出现的物理性损坏,譬如划伤、掉磁等。

软损坏包括磁道伺服信息出错、系统信息区出错和扇区逻辑错误(一般又被称为逻辑坏道)。

※磁道伺服信息出错:是指因为某个物理磁道的伺服信息受损或失效,导致了该物理磁道无法被访问。

※系统信息区出错:是指硬盘的系统信息区(硬盘内部的一个系统保留区,里面又分成若干模块,保存了许多硬盘出厂的参数、设置信息和内部控制程序)在通电自检时读不出某些模块的信息或者校验不正常,导致硬盘无法进入准备状态。

※扇区逻辑错误:是指因为校验错误(ECC错误和CRC错误)、扇区标志错误(IDNF错误)、地址信息错误(AMNF错误)、坏块标记错误(BBM)等原因导致该扇区失效。

一般来说,修复硬盘的软损坏是可能的,很多硬盘厂商发布的硬盘管理和维护软件(DM)都具备修复硬盘软损坏的能力。像扇区逻辑错误这样的问题,即使是一般的低级格式化软件,也是完全可以胜任的。不过在所有的软损坏当中,系统信息区出错属于比较难以修复的种类,因为即使是同一个厂商同一种型号的硬盘,系统信息区也不一定相同;而且硬盘厂商对于自己产品的系统信息区内容和读取的指令代码,一般是不公开的。但是对于IBM和日立的硬盘用户来说就比较幸运了,日立的DFT和IBM的DDD-SI软件对系统信息区出错还是有比较高的修复成功率的。这两个软件可是真真正正由硬盘的生产厂商发布的硬盘维修软件啊(DFT还是免费的),有非常强大的功能,效率和可靠性比起那些要价过万的第三方编写的软件都要高很多,可惜只对IBM和日立的产品有效。

当然,如果仅仅是为了修复软损坏,一个原厂的DM软件就可以完成90%以上的任务了,根本不需要购买上万元的所谓专业软件,而现在HDD Regenerator、MHDD、PC-3000和效率源等等这些软件,在宣传上就说明了他们所针对的不仅仅是软损坏,而且连硬损坏里面的物理坏道甚至是一些IC的损坏都可以修复!

PC-3000硬盘维修套装

不能说他们这样的宣传很夸张,因为理论上这确实是可能的。我们的硬盘如果在质保期内坏了,交给厂家的话,他们同样要对这个硬盘进行维修。那么,我们现在就很有必要了解一下厂家对硬盘的维修方法和过程,看看厂家是怎么样维修的,跟纯粹的软件维修有没有什么不同。

厂家维修硬盘的方法

这里其实可以向大家先说明一点,即使是从厂家出来的全新硬盘,它们的盘片也不是一点瑕疵也没有的。由于磁盘的盘片比较精密,对于生产环境和移动都有非常高的要求,即使是一粒灰尘、一次很轻微的碰撞,都会产生从几个到数以百计的坏扇区。所以,一般地,按照现在硬盘120GB的容量,全新的盘片即使有几千个坏扇区也不是不可能的。只不过硬盘厂商会使用专门的设备去扫描盘片,把那些坏的扇区和磁介质不稳定的扇区都记录下来,做成一个硬盘缺陷列表,写进系统保留区,通过控制程序把这些扇区封闭起来,而硬盘的控制程序在读取硬盘的时候是不会读取这些区域的。现今的硬盘由于功能和参数复杂,写进系统保留区的信息非常多。这样,由于在底层控制的层面就已经把有问题的扇区封闭掉了,所以用户无论用什么格式化和分区软件都不会看到这部分的信息,看起来就像真的完全没有坏道一样。同时,硬盘里面还有另外一种封闭区域,又称为保留容量,它们其实是完全没有问题的好的盘面,但是因为某种原因被封闭起来了。譬如说一个硬盘是60GB,而磁碟的单碟容量为40GB,那么由两片磁碟构成的硬盘就必须封闭掉20GB的容量(磁碟的生产线都是一定的,厂商为了降低成本,都只会生产一种容量的磁碟,通过封闭不同容量的区域来获得不同的实际硬盘容量)。

硬盘厂商用于扫描和测试盘片的机器,每小时可以处理600个盘片

日立生产的用于重写伺服信息的小型伺服机,可以同时处理8个硬盘

弄清楚了硬盘的生产原理,那么厂商如何维修硬盘就很好理解了。对于控制电路、磁头等的损坏,就是应用最简单的替换法,换上新的零件就可以了。对于IC芯片的损坏,可以通过重写IC芯片的信息或者干脆替换IC芯片来修理。对于磁盘盘片的问题,情况就比较复杂。首先,厂商会用专门的仪器设备对硬盘的磁碟表面按照实际的物理地址重新进行全面的扫描,检查出所有坏的、不稳定的扇区,形成一个新的硬盘缺陷列表,然后把它写进硬盘的系统信息区,替换掉原来旧的硬盘缺陷列表。然后调用内部低级格式化程序,对硬盘进行内部格式化。程序会根据新的系统信息区信息,重新对所有的磁道和扇区进行编号、清零,重写磁道伺服信息和扇区信息。经过这样的处理,返修的硬盘就又可以像新的硬盘一样了。

有人可能会有疑问——既然有新的坏扇区加进系统保留区去了,

那么,是不是返修过的硬盘跟新的硬盘是完全没有差别的呢?这里牵涉到一个工艺学的问题——损伤的内敛性和发散性的区别,我打算留到后面说,这里先说说那些第三方软件修复硬盘的原理。

第三方软件的修复原理

我们这里说的第三方软件修复硬盘,主要讨论的都是修理硬盘扇区的物理性损坏——逻辑坏道没有什么好讨论的,修复并不难。目前,第三方软件修复硬盘扇区的物理性损坏一般有两个主要方式:反向磁化和修改硬盘缺陷列表。

反向磁化是最先被应用的一种修复硬盘扇区物理性损坏的方式。一般地,硬盘的磁头只能负责读取和写入信号,而读取、写入数据信号所需要的电平信号跟磁盘表面的磁介质本身是不一样的。而反向磁化就是通过用软件指令迫使磁头产生于磁介质本身相应的高低电平信号,通过多次的往复运动对损坏或者失去磁性的扇区进行反复加磁,使这些扇区的磁介质重新获得磁能力。HDD Regenerator就是最先采用这种方式的软件,后来有一些软件通过分析它的算法和指令,也掌握了反向磁化的信号,采用跟它相同或者相似的引擎进行反向磁化。要注意的是,现在市面上有不少所谓的专业硬盘维修公司发布了一些自称可以维修硬盘坏道的软件,一般也要300元左右,其实他们只是通过Ultra Edit、Pctools等二进制编辑工具对HDD Regenerator的界面信息进行改写;或者对HDD Regenerator进行脱壳,换上自己编写的外壳界面摇身一变而成的。说白了就是盗版的HDD Regenerator,这请大家务必区分清楚。进行反向磁化最大的缺点是速度慢,对一个磁介质不稳定或者失去磁能力的扇区进行磁化,磁头很可能要往复成百上千次,如果硬盘只有几十个或者几百个坏扇区的话,慢慢熬也是可以的。但是现今硬盘动辄上百GB的容量,有上万个坏扇区也是很平常的事情,这时候如果用这种方法去修,大概还没有修到10%,磁头就会因为疲劳过度变形了,本来通过隐藏分区后还可以用的硬盘就会彻底报废。而且这些扇区的磁介质本身就是不稳定的,即使磁化了,在一段时间内可以使用,但随时有重新失去磁能力的危险,硬盘其实并不稳定。同时,这种方法并不能修复物理划伤这种硬损坏。

修改硬盘缺陷列表的方式就是对反向磁化的改进,这种方法和上面说的硬盘厂商的维修方式非常相似。前面说过了,硬盘厂商对于自己硬盘产品的系统信息区的信息内容和读取的指令代码,一般是不公开的,但是一些技术人员通过分析和逆向工程,破解了厂商的指令代码甚至Fireware,使得他们可以编制出程序软件,自由地读取、修改和写入硬盘系统信息区的信息。这样,他们同样可以像硬盘厂商一样,编写程序对磁盘盘面按照物理地址进行扫描,重新构造出新的缺陷扇区列表写进系统保留区来替换原有的列表。经过这样的软件维修的硬盘,理论上说是跟硬盘厂商维修的硬盘是没有差别的。这种软件因为有了这个功能,所以价格非常昂贵,PC-3000要上万元,效率源专业版(零售版只能修复ECC错误和CRC错误,其实什么也干不了)也要六百多,而且他们是不包括以后的升级技术支持的,因为这些软件有着一个非常致命的弱点——毕竟他们是通过破解获得的数据,在一定程度上说是非法的。不同的硬盘厂商、甚至同一厂商不同型号的硬盘,对于系统保留区的控制代码都是不一样的,Fireware也不同,为了让软件有通用性,他们必须通过不断地破解新的硬盘型号才能使软件支持更多的硬盘。而如果因为你购买了一套软件他们就要不断给予升级支持的话他们是绝对不干的,为了要修更多的新的硬盘型号,你就必须不断地支付升级费用。在另一方面,对硬盘的系统信息区信息,如果破解得好还可以,如果破解得不好,把信息修改写进去以后,轻的会让硬盘在读写时频频出现错误,不稳定;重的就会报销掉这个硬盘了。

最后的分析

前面我已经提到过,其实返修盘和全新的硬盘还是有差别的,那么差别在哪里呢?很简单,在全新的硬盘中,扇区的物理损坏是在生产过程中产生的;而需要返修的硬盘,扇区物理损坏是在使用过程中产生的。而不同的物理损坏产生环境,直接影响到这个损坏的破坏力大小。

为了说明这个问题,我举一个电镀的过程做例子,虽然不一定完全是这样的,但这确实是材料学和工艺学的范畴,即使是磁盘盘面的加工也逃不出这个范围。如果电镀过程中因为某些原因,导致一些地方的镀层过薄或者根本没有镀上,那么这一部分就是缺陷部分,它会很容易氧化生锈。这部分的生锈会蔓延和扩展到原来镀得好、没有缺陷的部分,但是这个过程是非常慢的,因为这个缺陷是在生产过程中跟镀层一起同时形成的,镀层的边缘还封闭得非常好,所以这个缺陷是内敛性的,它的蔓延和扩展会比较慢。而如果原来的镀层是完好的,后来你用刀子刮去一部分镀层,那么就出现了一个发散性的缺陷。因为在这个缺陷中,你不但破坏了缺陷表面的镀层,而且连完好部分的镀层的边缘也被破坏掉。在这种缺陷中,氧化生锈的蔓延和扩展非常快,很快就可以在完好的部分中产生出一大片氧化生锈的区域。

硬盘盘片的生产原理也是一样的。大家都知道,坏的扇区是会蔓延的,即使封闭了这部分扇区不进行读写,它们同样会在盘面上蔓延。在生产过程中形成的坏扇区,周围的磁介质晶体仍然是均匀的和致密的,物理性质仍然相当稳定,在这样的环境中,坏扇区的蔓延是一个非常缓慢的过程,恐怕即使硬盘的使用寿命到了它还没有蔓延出多远。而在使用过程中因为碰撞、划伤而产生的坏扇区,周围的磁介质晶体是处于破碎和疏松的状态,这样,这个坏扇区的蔓延就会非常快,很可能你刚刚封闭了它不久,它就又蔓延到没有封闭的完好区域去了。由于有这样的潜在不稳定性,所以在北美,一般返修的硬盘都会打上返修标签,用非常便宜的价格出售(大概只有市价的1/2到1/3),甚至有一些公司就干脆把返修盘全部拿到亚洲或者一些第三世界国家的市场去卖了。

对于已经返修的硬盘,由硬盘厂商返修和给外面的维修人员通过软件修复,虽然在理论上是基于同样的原理,但是实际效果还是不一样的。用软件修复,需要硬盘的磁头不断读写每个扇区,以确定此扇区是否确实失去磁能力,这个读写过程可能要循环上百次甚至更多。这样一个个扇区不断地读写下去,花费的时间非常长,譬如MHDD,在默认参数下,随便对一个3.2GB的硬盘作扫描,很可能就需要48小时甚至5天的时间(根据坏盘情况的不同,时间有很大区别),而且必须连续工作不间断。这样对硬盘磁头和盘片本身的损害是非常大的,本来就已经不是好盘了,再经过这样的折腾,就算是修好了,你敢用来装一些有用的数据吗?

如果在硬盘厂商那里返修,他们会使用专门的机器,那些机器采用的是光学原理来对盘片表面查错(具体细节比较巧妙,就不说了,物理或者电子专业的朋友应该都知道),而不是用磁头真正地读写盘片的表面。在这种机器里面,当不同种类的扇区——完好的和有缺陷的:如盘面划伤、磁介质有杂质、磁介质疏松、磁性能不稳定等,通过检测点的时候,会产生不同的反馈光信号,机器会根据反馈的光信号记录下全部有缺陷的扇区记录和相应的扇区位置,编成硬盘缺陷列表。因为不是通过物理磁头读写,所以不但扫描检查的速度飞快,而且对硬盘的盘片伤害会小很多很多。

结论和一些多余的话

到了这里,我们是不是已经可以得出一些结论了呢?结论我就不说了,各位读者应该可以自己作出判断。我丝毫不怀疑写出这些硬盘维修工具程序的人是天才,甚至破解别人程序引擎的人也是天才,但是一切事物都有自己的客观规律,不会以某些人过头的宣传和意志而转移。软件能实现很多功能,但是同样地,有一些功能是它们不能、也不可能实现的,这个世上本来就没有能治百病的仙丹,软件也一样。

现在硬盘的价格是越来越便宜了,80GB的硬盘只要600元,设计的使用寿命也就大概是3年左右。老实说,如果修理一个20GB的硬盘要100元或者买一个二手的20GB硬盘要150元以上,那我干脆就买一个新的算了——就算修好了硬盘或者买了一个二手硬盘,也是绝对不放心用这个盘去储存重要的数据的。

不过我也并不是完全排斥二手硬盘,毕竟它们比较便宜,对一些不需要很大容量,只需要基本功能和用途的用户来说也是一个不错的选择。目前国内二手市场最发达的莫过于广州(只限于讨论正常渠道,有一些地方的非正常渠道非常发达,不过不在此次讨论的范围),番禺是二手计算机零配件和外设的最大集散地,内陆很多二手硬盘的销售商都是通过广州的渠道进货然后发往内陆的。对于单独一个零售的商户来说,每天二手硬盘的交易量也就是几个、十几个。但是对于那些二手硬盘的批发商来说,每天的交易进出量和单位价格不是用个来算,而是用吨计算的。在番禺,一个普通的批发店,平均每天的交易额就可能有几百甚至上千个硬盘。按照这个交易量,他们应该是不大可能会有这个时间用软件去扫描和修复硬盘的。同时,大家也许不知道他们是怎样把国外的二手电脑零配件或者整机运过来的,我这里可以简单说一说。在发达国家,是不允许把淘汰的电脑随便扔到垃圾箱里的,让路人或者邻居看到了报警的话会被罚很多钱。因此,在国外收二手电脑或者零配件,收购的人并不需要付任何费用,相反,那些需要淘汰电脑的公司和个人必须支付相当一笔费用给收电脑的人,让他们把电脑拉走。正因为这样,在国外收旧电脑可以说是无本生意,加上每个集装箱的运费也就1000美元左右(现在国家不允许进口洋垃圾,但很多二手的电脑零配件还是可以进来的,加上商人们总有很多办法,而且可以通过各种填报海关单据的方式来把进口税也逃掉),所以国内的进货价格之低是你们绝对不可以想像的。国内的硬盘批发商都是用自卸车一车一车拉回来,哗啦哗啦一下整车倒在地上。因为他们的批发价格已经非常低,根本不在乎破损率,不需要理会硬盘会因此而产生坏道和盘体变形,只需要快点出货,然后又快点进货。因此,这里我可以很负责任地告诉大家,通过这种渠道进来的硬盘,几乎100%都是有这样或者那样的缺陷的,如果是从本地公司或个人淘汰机器里面收购来的另当别论。各地的中间商都会把批发过来的硬盘先简单修理一下才发给零售店,由此,我们可以知道,需要这种软件的多半是中间商和零售的商户,他们用比较低的价格进来了一批二手硬盘,但是每天出货的量不多,如果能够把硬盘的坏道全部屏蔽起来,恢复到好像没有坏道的样子,那么同样一个硬盘的零售价可以提高50到100元。这样的盘当然也是可以用的,但大家就需要根据自己的实际用途和数据的重要程度,来决定是否购买和使用这些硬盘了。不过,我相信大家应该可以从自己的实际需要出发,决定怎么花自己的钱。

顺便说几句多余的话,有人可能会因为自己现在使用的电脑型号比较老,不能辨认大硬盘而对购买新硬盘有所犹豫。那么我可以说请放心,连什么硬盘厂商的大硬盘支持程序都不需要的。如果你的主板BIOS是Award的,那么你只要下载一个叫BP的小程序(全称BIOS Patcher,可修改主板BIOS程序错误,打开被屏蔽的功能;目前只支持Award BIOS。下载地址:http://rom.by/Award/patcher/bp-4rc_C.rar),假设你的主板BIOS文件名是1.bin,那么你在纯DOS模式下输入命令:bp 1.bin,然后把这个文件刷回主板,一切就搞定了。现在,不管你的主板有多老(甚至是老奔、VX主板),它都可以支持到137GB的大硬盘啦。


再见硬盘的硬伤与软伤――硬盘维修与数据恢复

作者:致鸣

发表了《软件能够修复硬盘吗?硬盘损坏全分析》一文后,产生了很大的反响。本人通过各种渠道收集汇总了一些反应和意见,很多消费者都是通过这篇文章才第一次听说过这样的事情和其中的内幕,非常支持这样的文章。当然,各种反应里面也少不了一些业内人士的责难,认为这样的文章对这个行业的发展不利。不过不管怎样,我认为敝帚自珍和信息封锁才是对硬盘和数据行业发展的最大不利因素;让大家多了解一些这方面的信息,从总体上提高大家对这个行业的认知水平,才真正有利于国内硬盘维修和数据恢复行业的水平提高。正是基于这样的想法,于是就有了这篇后续的文章。由于对象仍然是普通的DIYer和广大消费者,因此仍然采用比较通俗的叙述方式,尽量避免使用过于专业的词汇和高深的所谓“理论知识”。

还要指出的一点就是,IDE硬盘和SCSI硬盘内部的具体结构和原理是不同的,SCSI硬盘比IDE硬盘要复杂得多。基于本文只是出于普及的目的,为了叙述上的通俗简单,本文所说的硬盘都是指IDE硬盘。

硬盘市场的现实

在前一篇专题里,我只是简单叙述了硬盘维修的一些知识和状况,这里有必要再对硬盘这个行业和市场进行更深入一点的说明,才能使读者顺利阅读和理解后面的部分。

有8~10年甚至更长时间的电脑使用经验的人会有很深刻的体会?D?D现在硬盘的质量是越来越差了。回想起来,从前的600MB、1GB、1.2GB、2.1GB时代,很多硬盘跟现在的硬盘相比,唯一不足的地方就是容量没有那么大,速度没有那么快;但在实际使用中,其他很多方面那些硬盘都比现在的硬盘要优胜。譬如噪音很小,甚至几乎要把耳朵贴在盘体上才能听到硬盘转动的声音;使用寿命长,我一个朋友家里一台IBM原装的486DX33电脑,里面的200MB硬盘居然到现在还在正常使用,没有噪音,没有坏道,寻道时间仍然可以达到标称的数值,性能没有任何下降;盘体质量好,我把自己能够收集到的从200MB到2.1GB的硬盘放出来,发现那些硬盘绝大部分的盘体至今还是闪闪发光,坚固无比,没有任何氧化、锈蚀和痕迹,而从3.2GB开始,使用超过3年或更久的硬盘盘体就开始黯淡无光了,甚至可以轻轻摇出响声来;电路板用料十足,下面有两张图,希捷3.2GB硬盘电路板是大板,昆腾15GB硬盘的是曲尺电路板,比较一下板的做工和上面的电子元件就很能说明问题。为什么会发生这样的情况呢?

图1,3.2GB和15GB硬盘电路板的对比,明显发现3.2GB的质量好很多

图2,希捷1.2GB、昆腾15GB和西数80GB对比

发生这种情况的原因固然很多,也不可能在一篇文章里面细细说明。对于硬盘耐用性变差这一点,厂商的说法是硬盘转速加快、数据密度增加、耗电量增加、发热更多,所以寿命缩短了。媒体的说法是硬盘产业整体利润率下降,竞争日趋激烈,硬盘厂商为了加强竞争力,必须采取措施 有效降低产品成本。这些说法固然有他们的道理,不过我今天不想在这里讨论这些老生常谈的问题,我想说一个我亲身经历的事情作为例子?D?D这只是硬盘厂商面对的众多问题中很小的一个,当然不足以构成厂商采取实质性行动的原因,但在多种问题的综合作用下,情况就不一样了。我有一个老美朋友,因为不方便说姓名,我暂且把他叫Dick,在某硬盘厂家做事。有一年他放年假时跑到加拿大,逼着我让他在我家里睡了两天沙发。有一天偶然聊起公司不顺心的事情,他马上大发牢骚,说:“Jack(暂时这样称呼自己),你们中国人很让我头痛呢。”我很奇怪,问他为什么这样说,他解释了半天,我明白了,原来他们公司的硬盘那段时间突然在中国市场的返修率直线上升,给公司的质保部门非常大的压力,也使公司的售后服务费用大大超出预算。公司马上派人去了解,得出的结论是虽然公司准备在海外设厂,在生产上有一定调整,导致某些型号的产品质量出现少许波动,但这并不构成中国市场返修率突然上升的主要原因。主要原因是因为他们提供3年的质保,很多用户在众多的宣传中知道这个牌子的某些型号有一些问题,就把目标扩大到全系列的产品,即使自己的硬盘用着一直没有事情,但还是在2年到2年半这段时间内跑到经销商那里去要求换盘。为了达到退换的目的,很多消费者使用了不良手段?D?D用毛巾包裹硬盘,在加电开机后把硬盘往桌面上砸或者用锤子敲;或者使用一些自己编写或现成的小程序,发出一些指令,让硬盘磁头疯狂地来回摇动,在短时间内导致磁头悬臂变形和盘面产生物理划花。正是因为这样的原因,使公司的产品在中国市场的退换和返修率大大上升(要知道,一般地,当时他们公司的硬盘返修率是不到千分之一的,即使变成千分之二也已经超出好多倍了,更何况他们当时比这个更高)。公司让他研究解决这个事情,他经过了解和研究,知道其实其他公司也面临着同样的问题,只不过他们公司因为在中国市场占有率高,所以问题更严重而已。办法好想,他说可以更改一下硬盘的设计,这样硬盘退回时他们可以通过特别的手段查出硬盘是自然损坏还是非正常损坏的。不过公司对他这个方法却不屑一顾,因为这个设想虽然好,但是却没有任何实际的可行性?D?D退换过程通常都是消费者和经销商之间的行为,而经销商没有这样的验证手段,等硬盘汇集到公司的时候已经太晚;同时,即使公司知道了硬盘损坏的原因,还是没有直接的证据来拒绝退换;更进一步,就算有证据,也还是不可能拒绝售后服务,以免被对手大肆宣传,得罪全体消费者。他正是为了这个原因而憋气呢!

当然,我们现在已经知道硬盘厂商如何解决这个问题了?D?D虽然采取这样的措施同时也是基于一个全球的大环境。当时的竞争激烈,硬盘利润空间不断下降,厂商如果同时再要负担这样沉重的售后服务的话,就根本没有任何利润可言了。于是,他们解决的方法出奇地一致?D?D降低产品成本,缩短保修期限,以便保持相当的利润。这里,我已经不知道说什么好了,少数消费者自私自利的不良行为,损害了全体消费者的利益,其他大部分遵纪守法的消费者要替他们陪葬。我这里绝对不是要鼓吹让大家都跑去退换,因为这样只会导致市场进入恶性循环,少数人会因退换好像会占了便宜而窃笑,但最终受到损害的还是他们自己,而且还赔上了其他没有这样做的人。[Pophard:希望大家能遵守这个行业的游戏规则,使市场呈良性循环发展,大家都能享受到良好的售后服务,也可以用上更优质的产品。

当然,在一片降低成本的呼声中,也有部分厂商跑得太远,偏离了正常轨道。最明显的问题就是伺服口的处理问题。熟悉硬盘的朋友都知道,硬盘上面有一个孔,一般都是用铝质贴纸封住,有的甚至还用金属片包住封口的贴纸,防止它被破坏,这个就是伺服口(有一些销售人员叫这个是真空封口,其实是错误的,硬盘内部并不是真空,磁头要靠空气的气垫原理悬浮在盘片的上方来读取数据。这个封口的作用其实是防止灰尘进入硬盘内部,因此,正确的说法应该是?D?D硬盘内部是无尘的)。一般而言,盘片的磁道构造都不是在装配之前进行的,想想都知道,3英寸的盘片上要储存几十GB数据,磁道一定是要非常细密的才可以做到。如果在装配之前构造磁道,那么只要装配中出现非常微小的误差,都可能使装配好的硬盘在工作中出现这样或那样的问题。同时,装配过程中还可能出现轻微的碰撞,产生坏扇区,如果在装配前构造磁道,就不可能找出这些坏扇区来加以屏蔽了。而伺服口的作用,就是在装配好硬盘以后,机械手能够从这个孔伸进去进行扫描和写入伺服信息,构造磁道,这样,只需要对硬盘进行一次扫描和写入过程就可以完成伺服信息的写入,而又能最大限度保证伺服信息的准确和硬盘成品的可靠性。伺服口的数量有可能是1个、2个、3个或者更多。单片单面的磁盘只需要1个伺服口,单片双面的需要2个,双片3面的也是2个,双片四面的是3个,如此类推。

图3,单片单面的硬盘

图4,单片双面的硬盘

图5,双片三面的硬盘

图6,双片四面的硬盘

伺服口是不可以破损的,一旦破损,空气中的灰尘就会进入硬盘内部。而对于磁盘的盘面来说,一粒灰尘就相当于一个炸弹。即使只有一粒灰尘进去,在高速旋转的盘片上,灰尘会像弹球一样跳来跳去,不断击中盘面,形成大大小小的坏扇区。因此,硬盘厂商对于这样的硬盘是不予维修的。大家可以看到,在伺服口的贴纸上,都会有这样的说明?D?DWarranty Void If Remove(一旦破损,保修失效)。但正是在这个盘体最重要、也是最脆弱的地方,某个硬盘厂商有意无意地出现了比较严重的设计失误。如图,某些硬盘厂家用来保护伺服口的材料,除了没有足够的凹陷以外,保障硬盘内部绝对无尘工作环境的竟然是一张15mm×8mm、厚不到0.1mm的小纸片(真的是纸片)!只要一个不小心刮破这张薄纸,整个硬盘就全报废了。稍有DIY常识的人都应该知道硬盘安装的过程中,要把硬盘插到硬盘架上,其侧面和机架有点磨擦是很正常的事,而且这个地方也是拿硬盘时手指最容易戳到的地方,没有足够的凹陷而把纸片暴露在这个位置上那简直就是在玩火了。如果哪个硬盘厂商在不少顾客因为不小心刮破了这张纸导致硬盘报废后,拒绝为顾客提供三包服务,而要让顾客来为他们的设计失误买单,那样就确实有点过分了。

图7,某品牌硬盘缺乏足够保护的伺服口

图8,IBM硬盘的伺服口

图9,希捷硬盘的伺服口(上面的那块铝封)

图10,昆腾硬盘的伺服口

图11,西部数据硬盘伺服口

图12,迈拓硬盘的伺服口

正是因为厂家对低成本的追求,使一个虽然已经存在很久,但是一直没有获得足够发展空间的行业得到了期待已久的发展时机,这就是硬盘维修行业。因为如果硬盘能够一直都非常稳定地使用比较长时间的话,那么对于用户来说,没坏的不用修,用个六七年的话即使坏了也没有维修的必要了。但现在情况有点不一样了,不少硬盘刚过了保修期不久就坏是很常见的事情,而花一千或几百元买来的硬盘用了两年就扔的话恐怕谁也不会心甘情愿吧,这就造成了对硬盘维修的市场需求。

形形色色的硬盘维修

在《硬盘损坏全分析》中已经分析过硬盘故障的种类,这里就专门针对日常使用中最常见的几种来逐一分析,概括地说明一下专业硬盘维修的一些具体方法。

1.逻辑坏道

这是日常使用中最常见的硬盘故障,实际上是磁盘磁道上面的校验信息(ECC)跟磁道的数据和伺服信息对不上号。出现这一故障的原因,通常都是因为一些程序的错误操作或是该处扇区的磁介质开始出现不稳定的先兆。一般在操作中的表现就是文件存取时出错,或者硬盘克隆的时候到了出错的地方就弹出出错信息,不能再继续下去。消除这些逻辑坏道的方法其实比较简单,最常用的方法就是用系统的磁盘扫描功能。在DOS下面用Scandisk扫描,系统可以把逻辑出错的扇区标出来,以后在进行存取操作时就会避免操作这些扇区。当然,如果单单是软件的错误操作造成的,也可以用原厂的工具进行全盘低格来重新恢复所有有逻辑错误的地方。也有的人利用HDD Regenerator、效率源之类的软件消除扇区错误,重新激活这个扇区。不过对于那些因为是该扇区的磁介质不稳定造成的错误,这里还是不推荐使用重新激活的方式,以免在储存了重要信息后再次出错。

图13,MS的Scandisk,非常经典的画面

2.物理坏道

这个也是比较常见的硬盘故障,实际上是因为震荡、划伤等原因导致一些扇区的磁介质失去磁记忆能力而造成的。通常这样的损坏修复都比较麻烦,因为在硬盘内部的磁道列表中,这个扇区是被标记为正常的,是真实的物理存在,所以它不能通过扫描、格式化、低级格式化或者激活扇区的方法消除,而必须把这个扇区加入到设置在硬盘内部的系统保留区内,由工厂设置的缺陷列表(G列表和P列表)中去,才能在硬盘控制系统的可见范围内消除这个坏道。当然,这样做需要专门的软件(目前能够比较容易找到,而且已经经过长时间市场实践检验的就是PC-3000),价格也非常高,如果大家想要这样做,只能找具有这样设备的专门维修商来修理了。对普通用户的价格大概是每个硬盘100~150元,是否值得就让大家自己考虑了。

不过,这里有必要提醒大家一下,请多多关注各大硬盘厂商的网站,有些厂商提供的原厂工具也可以对少量物理坏道进行处理,把它们加入G列表甚至P列表。譬如IBM/日立的DFT和西部数据的Data LifeGuard Diagnostics。这些原厂的工具软件都是作为向购买该厂硬盘的消费者提供的售后服务而免费提供的,不但扫描速度快,而且辨别准确率高,能够对比较普遍出现的硬盘问题作出相应的处理。对硬盘内部进行操作毕竟是比较危险的,还是原厂的东西比较可靠。除非碰上原厂工具不能解决的问题,否则不推荐大家使用第三方工具软件。

相对于上面那种比较高级的隐藏方式,也有一些要求不高的用户,不需要这样高级的隐藏方式,那么他们可以通过FBDisk和Disk Genius这一对软件的组合来把坏道所在的位置做成隐藏分区隐藏起来。具体的操作并不复杂,即使是稍有计算机经验的“中鸟”也应该可以很容易掌握,这里就不再细说了。

图14,Disk Genius

图15,FBDisk

(小技巧:加入坏道列表和隐藏分区这两种方法在效果上的区别有两点,第一是隐藏分区方式会减少硬盘的可使用容量,而加入坏道列表则不会;第二,在坏道比较分散的情况下,需要使用多个隐藏分区才能全部屏蔽坏道,造成分区过多,影响硬盘使用效果;第三,坏道列表的数量是有限制的,坏道数量不能超过一定的值,如果坏道数量大而相对集中,隐藏分区不失为一种好办法。这里介绍另外一种折中的方式,类似于隐藏分区,但又不会因为分区过多而影响使用。不管三七二十一,先按照你自己的需要对有坏道的硬盘分好区,然后准备一个500KB左右大小的文件?D?D我觉得一张JPG图片就不错,不断复制,生成许多同样的副本,用编号来为这些文件命名,从1开始一直下去?D?D用ACDSee的批量编号命名功能就很好。然后,开始一个一个复制到有坏道的硬盘里面去,碰到有咔咔声响、或者复制速度突然变得很慢的地方,就是坏道了,记下当时这个文件的编号,如此不断继续,一个分区完了就进行另一个分区。把整个硬盘都填满以后,所有被记下编号的文件就是硬盘坏道的地方了,把这些文件设置成“只读”、“隐藏”,其他全部删除。这样,只要你不去动这些剩下的文件,磁头就不会去动那些个坏道了,非常方便,比隐藏分区要好。如果你的系统设置是可以看到隐藏文件的,而你又恰恰是一个完美主义者,觉得这些文件的存在还是太碍事,那么新建一个文件夹,把文件都拖到里面去,用超级兔子之类的工具隐藏掉这个文件夹,那就“整个世界都清净了”。)

3.大面积物理坏道

这样的硬盘就算是重病缠身,能继续用多久就要看天意了。如果有几块不同的大面积物理坏道,而且分布在不同的盘面上,那么我劝大家别花这个力气了。如果是虽然有大面积坏道,但全部都聚集在一个盘面上,那么你的运气比较好,真要修的话还是可以的,但是要损失硬盘容量。方法就是通过专门的软件,把有坏道的盘面整个屏蔽掉(其实就是把负责读取这个盘面的磁头停掉,并且在硬盘保留区的控制信息中抹去这个磁头的信息,当作没有这个磁头存在),这样就等于像做肿瘤切除手术一样,把这个有大面积坏道的盘面整个切除。如果是单片双面的硬盘,这样要损失一半的容量,双面三片损失1/3,双面四片损失1/4。给硬盘做这样的“手术”同样需要找具有这种设备的专门维修商,至于值不值得这样做就不是我能决定的了。

图16,只有一面有大面积坏道

图17,多个面有大面积坏道

4.磁头定位不准

这个问题也经常可以碰到,其实就是磁头因为装配上的轻微误差,导致在硬盘长时间使用后问题恶化;又或者是硬盘的磁头长期工作后出现疲劳现象导致这种情况的发生。有时候一些硬盘读写特别慢,拷贝一个文件老半天没有反应,或者有时候会听到轻微的咔咔声,也许就是磁头定位不准而产生的问题。对于这样的问题,还是需要找专门的专业软件或者找有这些专业软件的维修人员,通过软件对磁头的控制程序做出轻微的调整,一般就可以恢复正常使用。不过如果硬盘已经有一定的“年纪”了,或者平时就是不间断、大负荷使用的话,磁头就确实已经疲劳或者老化了,即使经过调整暂时把问题掩盖起来,还是会在不长的时间内再次出现的。

5.磁头变形

这个跟磁头定位不准是不一样的,即使是微小的变形,对于读取数据所需要的精度来说也已经是太多了,用软件调整的方法不一定可行。处理这样的问题,最简单直接的方法就是像处理大面积坏道一样,把这个磁头停掉。这同样会损失这个磁头所负责读取的盘面的那一部分容量。

6.控制芯片或者电路板烧坏

这样的问题没说的,一般最直接的方法都是找另一块同样型号的硬盘的电路板,把坏的电路板换下来(维修的人管这个叫“换板”)。或者找一块相同型号的芯片,写进同型号硬盘的芯片信息,然后换到电路板上去。

图18,被换下来的昆腾LB电路板

说句实在话,其实硬盘保留区的信息和内部指令,是由硬盘厂商开发出来的,也受到知识产权和专利的保护,那些专业软件通过破解内部信息和指令的方法来维修,从严格的法律意义上来说,并不是一种正确的途径。而且,对于硬盘维修这个行业,硬盘厂商心里面肯定是蛮不舒服的?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个星期大概还不能完成),采用了简化算法来扫描,结果快是快了,但也出现了很多漏查和错误判断。这个问题也凸现出在程序设计的基础理念、总体控制、查错算法和对硬盘内部信息的理解上,国内的技术员跟国外相比还是有很大的差距啊。

图19,启动中途挂起,不能检测硬盘的效率源昆腾模块

图20,MHDD的命令行界面

其实,从总体上说,用软件来维修硬盘,本身就是层次比较低、成本也比较低的维修方法。因为用软件修,毕竟还是需要硬盘可以转动、机器可以认出硬盘型号和参数、磁头仍然可以运动并读写等等先决条件,一旦碰到一些死得特别彻底的(如硬盘哐哐响,盘体明显变形等),软件也就根本没有办法了,所以财大气粗的老美就对软件维修硬盘这个玩意儿不大感冒(这也是一众硬盘厂商没有对破解硬盘信息的公司采取决定性法律措施的原因之一),但是老美却具备世界上最尖端、也是最高成本的维修技术。至于他们拿这些技术干什么用的,下面很快就会提到。下面先讲一下成本比较高,可以修一些已经本身不能动、机器认不出、可以说已经判了“死刑”的硬盘的方法?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元人民币。

图21,被认为是数据恢复至尊的FinalData

图22,EasyRecovery操作界面

纯粹软件的恢复当然有着极大的局限性,前提条件是必须要硬盘还能够正常使用才行。因此,对于一些有轻微缺陷的硬盘,稍微修理一下,让硬盘可以正常使用后,再进行软件的数据恢复是明智的,因为这样可以节省大量的数据恢复成本。毕竟,对于那些无论如何不能动的硬盘,软件是无能为力的,这时候就需要使用成本比较高的软硬件结合的恢复方式。

采用软硬件结合的数据恢复方式,关键在于恢复用的仪器设备。这些设备都需要放置在超净无尘工作间里面,而且这些设备内部的工作台也是级别非常高的超净空间。这些设备的恢复原理也是大同小异,都是把硬盘拆开,把磁碟放进机器的超净工作台上,然后用激光束对盘片表面进行扫描,因为盘面上的磁信号其实是数字信号(0和1),所以相应地,反映到激光束发射的信号上也是不同的。这些仪器就是通过这样的扫描,一丝不漏地把整个硬盘的原始信号记录在仪器附带的电脑里面,然后再通过专门的软件分析来进行数据恢复。可以说,这种设备的数据恢复率是相当惊人的,即使是位于物理坏道上面的数据,由于多种信息的缺失而无法找出准确的数据值,也可以通过大量的运算,在多种可能的数据值之间进行逐一代入,结合其他相关扇区的数据信息,进行逻辑合理性校验,从而找出逻辑上最符合的真值。

图23、24,数据恢复设备

对于上面说到的设备和方式,目前国内拥有数据恢复设备,能够做到软硬结合的恢复方式的公司,根据资料显示目前暂时只有两家,分别位于北京和广东(资料有效期是今年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等等其他格式的分区里,也能比较有效地恢复分区表。

图25,DiskMan界面

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

图26,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的小程序,运行它可以创建一张软盘,用来为硬盘解锁。毕竟是一个商业产品,如果没有一定的作用谁敢拿出来?试了一下,虽然不是能治百病,但对一般的硬盘锁还是很有效的。

图27,Seagate的原厂DM

增量偏移法当初其实不是用来制造逻辑锁,而是用来制作硬盘保护卡的,联想的“宙斯盾”和捷波的“恢复精灵”等硬盘保护软件也是采用了相似的技术。这种方法的原理就是在硬盘里面划出一个特别的区域,把整个硬盘的所有写入全部操作映射到这个区域中,这样,原来设置了受保护的系统和数据区域就不会受到新增加的写入信息的影响,甚至是文件的修改,其实也是映射到特定区域的操作。因此无论出现什么样的崩溃,只要一个按钮,就可以把原来受到保护的系统和数据恢复过来。不过对硬盘的保护好是好了,但如果换了一块主板,或者主板、保护卡坏了,要处理这个硬盘也真的十分头痛。因为上面说的方法对这个硬盘已经没有用了,你通过软件从硬盘里面读出硬盘分区表的数据,然后修改、写进去,可惜,这些正确的信息并没有真正写入分区表,而是都映射到那个特殊的区域去了,硬盘仍然不行。这样的硬盘,无论做重新分区、格式化甚至低格,完了你还是发现里面的数据纹丝不动。如果你运气好,知道硬盘是被“宙斯盾”或“恢复精灵”,又或者是什么其他硬盘保护卡保护过的,那么你只要找到相应的主板或硬盘卡,执行一次卸载过程就可以了;如果运气不好,不知道,那么试试下面的方法吧。

经过一些实践,可以用这样的方法来解除。找一块没有“宙斯盾”或者“恢复精灵”主板的机器,把这个硬盘作为从盘挂上,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,这样的操作因为受到很多其他条件的约束,先决条件是必须能把硬盘认出来并且能够进行实模式操作,否则成功率不会高。而且对普通用户来说这些操作还是比较复杂,要多试几遍,多研究几次才可以提高成功率。

图28,Acronis DiskEditor

对于物理零损坏,根据上面的硬盘初始化过程,我们可以知道,这样的硬盘根本连初始化都不能开始进行,无论什么系统什么软件都不可能对它进行操作,真正的软硬不吃。不过,这么久以来,我还没有真正碰到过物理零损坏的硬盘,所以也不知道像PC-3000这样的软件有没有这个能力修复。比较能确定的方法只能是回原厂用机器设备重新扫描定位,重写伺服信息,然后进行内部格式化来修复;或者,你可以找一家比较有实力,拥有硬盘伺服机的修复公司帮你修,不过成本方面就……嘿嘿。

总的来说,现在有很多公司根据现代硬盘的结构和原理,配合现在比较通用的Windows操作系统平台,设计了很多非常新的、功能很强大的软件,譬如Acronis,这家公司的全套系统工具包括DiskEditor、Drive Image、OS Selector、Unlock(解除硬盘逻辑锁)等等十多个,都应用了现在硬盘的基本原理,功能也非常全面。在进行各种硬盘操作的时候,适当进行各种软件的新旧搭配,互相配合使用,经常会发现有意想不到的效果。这些就需要大家在实际操作中摸索并熟练使用才可以达到的了。

后记

每次想到硬盘、数据,就不由得想到了国内的进口二手垃圾。说句实在话,别人敢于向国内出口硬盘垃圾,其实就是想着我们也只能把这些硬盘修修当二手的用而已。如果国内的数据恢复水平能够普遍提高,我相信外国往国内输出二手计算机零配件的时候会三思而后行的?D?D保不准里面还有IBM、Microsoft的哪一个高级工程师用的硬盘呢;说不定还有政府部门甚至国防部的机器用过的硬盘呢。嘿嘿,说说笑话而已,他们公司和政府的关键部门所使用的硬盘都要通过Disk Eraser这类硬盘数据销毁设备处理过后才会扔的啦。

图29,日立出品的Disk Eraser

在这里,如果大家对自己动手解决一些硬盘问题比较感兴趣,我衷心提议大家先不要忙着满互联网地找一些你我都不知道是谁写、做什么用的第三方工具,多留意一下原厂家的网站,用用他们原厂的工具软件。虽然厂家为了尽量避免让大家修硬盘修得很爽,并没有在原厂DM和其他原厂工具上面提供太丰富的功能,但基本的功能还是会提供给大家的,而且性能非常可靠,功能也很实用。而且有时候原厂工具的较低版本里面维修功能可能比新版本多,譬如西部数据的原厂低格程序WDClear,它是比较旧了,最高版本也就是1.3,而且只支持最大8.4GB的小硬盘。但是它的功能却非常强大,比现在西部数据的DM(当然,厂商不一定把这个程序叫DM,反正不管叫什么名字,我们知道它其实就是DM就行了)要强很多。不少硬盘维修商就非常清楚它的作用,它体积小,功能大,具备非常快速而准确的盘面检测能力,能够快速进行坏道修复,可以智能跳过顽固物理坏道,正是因为这些优点,它成为了不少维修商的修盘利器!

把这个程序放在一个完好的主硬盘里,把待修的硬盘(要西部数据的盘,不然我不保证会发生什么后果)放在其他IDE接口上。运行WDClear,会出现一个蓝色的窗口和几行简单的英文,右面还有一个红色的小窗口,显示硬盘的型号、串号、固件版本信息等,如果还想看更详细的参数,就选择“查看检测结果”。这里面的参数更详细一些。现在,里面显示了两个硬盘参数,选择你要维修的硬盘的参数,回车。选“读取并检测磁盘”,回车,确定,于是软件就对硬盘的表面开始检测了。在扫描过程中检测到的坏道,只是显示坏道的类型和位置,软件不会对它们做任何的修复和写入处理。扫描完以后,确定了坏道的位置,就可以使用“清零驱动器”来把坏道清除或者写入G列表。所以有时候原厂的东西,版本老一点的还是很有作用的,反正你要修的也是旧盘嘛,新的硬盘只要好好用,哪里会这么快就坏了呢?

图30,WDClear主界面

一口气写了这么多,主要还是因为觉得目前国内有一种很不好的风气“浮夸”,大家都在互相抄袭,急功近利,你说你的路由设备有3000条规则,我就会说我的有5000条,纯粹的基于利益的炒作,丝毫没有科学的精神在里面(路由规则越多,说明路由效率越低下,通常2500~3000是一个比较合理的数字,既可以保证足够的安全和路由效果,又可以维持比较高的路由效率。记住了,购买时看到在路由规则上攀比的厂商就要留意了)。

又譬如,出品PC-3000的俄国ACE Laboratory在国内原来只有一家代理商,PC-3000的首年升级、技术支持和培训都是免费的,但是因为国内是独家代理,导致代理商扣起客户的升级和支持账号与密码,每次升级收费几百到一千不等的升级费,技术支持收几百元的咨询费,培训收培训费等等。很多客户不满,纷纷越过代理,通过香港和美国直接向ACE Laboratory购买,严重影响了ACE Laboratory的声誉。焦头烂额的ACE Laboratory只好又在国内增加了一个代理,希望通过竞争,杜绝这种现象。还有,就是现在网络上、报纸杂志上不少所谓技术性比较强的专业文章其实都只是故作高深,似是而非的东西,没有误导已经很不错了,对读者并没有任何帮助。

也有的人,在网上发布信息,售卖硬盘、主板维修或者其他各种的资料,每份要价一千到数千元不等。其实里面只有十多页纸,都是网上找来的大路货,没有任何实质性的内容,而且售卖的人其实连这些资料是对是错都分不清。

实际上,现在是一个资讯时代,很多资料和信息都已经相当公开了。如果大家还想着因为自己掌握了那么一点点东西,就拼命保守这些所谓的秘密,希望利用对信息的封锁、利用用户的无知来达成一定的经济效益的话,那就错了。现在,只有本着公平、公开的原则来经营,凭着坚持不懈的意志去做研究,才能从根本上提高自己公司的技术水平,获得真正的经济利益。

作为一个在海外的中国人,当然希望自己的祖国可以早日强大,但所有的事情都是有自己的客观发展规律的,并不能一步登天。北京某名牌大学说要把自己办成世界级的一流大学,向哈佛看齐什么的,我不知道他们凭什么这样说。先不要说哈佛物理系的大功率粒子加速器和粒子对撞设备,光是校园里面的Internet 2的超高速校园网、能模拟流体力学实况的巨型计算机,国内就没有什么大学能够做到。落后并不可耻,只要我们敢于正视,我们的技术人员能够多动脑去搞研究,多动手去做实验,少动嘴去吹牛皮,相信很快我们就可以拥有与国外相同层次和水平的技术与设备。

(0)

相关推荐