硬盘是目前PC系统中最主要的存储设备,同时硬盘是PC系统中出故障率{zg}的部件。用户在使用硬盘过程中,硬盘出现故障怎么办呢?如果还在质保期内,当然是尽量找到销售商要求保修。但现在大多数IDE硬盘质保期只有一年,而大多数用户都希望一个硬盘能使用三年以上。如果质保期过后硬盘出了故障,就得考虑更换或对它进行修理。 笔者这几年来一直从事硬盘维修工作,经常与国内外的同行交流,查阅过大量的外文专业资料,研究使用过多种专业的硬盘修复工具,成功修复了近万个硬盘。在这里,笔者与读者探讨一些硬盘缺陷及其修复原理,同时介绍并解释一些专业修复硬盘软件中常用到的概念。但笔者暂不探讨在各种操作系统下硬盘中的数据结构问题及数据恢复问题,而是直接探讨硬盘本身的缺陷问题。
一、缺陷的分类 ①坏扇区(Bad sector),也称缺陷扇区(Defect sector) ②磁道伺服缺陷(Track Servo defect) ③磁头组件缺陷(Heads assembly defect) ④系统信息错乱(Service information destruction) ⑤电子线路缺陷(The board of electronics defect) ⑥综合性能缺陷(Complex reliability defect) 1、坏扇区(也称缺陷扇区) ①校验错误(ECC uncorrectable errors,又称ECC错误)。系统每次在往扇区中写数据的同时,都根据这些数据经过一定的算法运算生成一个校验码(ECC=Error Correction Code),并将这个校验码记录在该扇区的信息区内。以后从这个扇区读取数据时,都会同时读取其校检码,并对数据重新运算以检查结果是否与校检码一致。如果一致,则认为这个扇区正常,存放的数据正确有效;如果不一致,则认为该扇区出错,这就是校验错误。这是硬盘最主要的缺陷类型。导致这种缺陷的原因主要有:磁盘表面磁介质损伤、硬盘写功能不正常、校验码的算法差异。
2、磁道伺服缺陷 现在的硬盘大多采用嵌入式伺服,硬盘中每个正常的物理磁道都嵌入有一段或几段信息作为伺服信息,以便磁头在寻道时能准确定位及辨别正确编号的物理磁道。如果某个物理磁道的伺服信息受损,该物理磁道就可能无法被访问。这就是“磁道伺服缺陷”。一般表现为,分区过程非正常中断;格式化过程无法完成;用检测工具检测时,中途退出或死机,等等。
3、磁头组件缺陷 4、系统信息错乱 每个硬盘内部都有一个系统保留区(service area),里面分成若干模块保存有许多参数和程序。硬盘在通电自检时,要调用其中大部分程序和参数。如果能读出那些程序和参数模块,而且校验正常的话,硬盘就进入准备状态。如果某些模块读不出或校验不正常,则该硬盘就无法进入准备状态。一般表现为,PC系统的BIOS无法检测到该硬盘或检测到该硬盘却无法对它进行读写操作。如某些系列硬盘的常见问题:美钻二代系列硬盘通电后,磁头响一声,马达停转;Fujitsu MPG系列在通电后,磁头正常寻道,但BIOS却检测不到;火球系列,系统能正常认出型号,却不能分区格式化;Western Digital的EB、BB系列,能被系统检测到,却不能分区格式化,等等。
5、电子线路缺陷 6、综合性能缺陷 二、厂家处理缺陷的方式 2、将硬盘的系统保留区(service area)格式化,并向系统保留区写入程序模块和参数模块。系统保留区一般位于硬盘0物理面的最前面几十个物理磁道。写入的程序模块一般用于硬盘内部管理,如低级格式化程序、加密解密程序、自监控程序、自动修复程序等等。写入的参数多达近百项:如型号、系列号、容量、口令、生产厂家与生产日期、配件类型、区域分配表、缺陷表、出错记录、使用时间记录、S.M.A.R.T表等等,数据量从几百KB到几MB不等。有时参数一经写入就不再改变,如型号、系列号、生产时间等;而有些参数则可以在使用过程中由内部管理程序自动修改,如出错记录、使用时间记录、S.M.A.R.T记录等。也有些专业的维修人员可以借助专业的工具软件,随意读取、修改写入硬盘中的程序模块和参数模块。
3、将所使用的盘片表面按物理地址全面扫描,检查出所有的缺陷磁道和缺陷扇区,并将这些缺陷磁道和缺陷扇区按实际物理地址记录在{yj}缺陷列表(P-list:Permanent defect list)中。这个扫描过程非常严格,能把不稳定不可靠的磁道和扇区也检查出来,视同缺陷一并处理。现在的硬盘密度极高,盘片生产过程再精密也很难xx避免缺陷磁道或缺陷扇区。一般新硬盘的P-list中都有少则数十,多则上万个缺陷记录。P-list是保留在系统保留区中,一般用户是无法查看或修改的。有些专业的维修人员借助专业的工具软件,可以查看或修改大部分硬盘中的P-list。
4、系统调用内部低级格式化程序,根据相应的内部参数进行内部低级格式化。在内部低级格式化过程中,对所有的磁道和扇区进行编号、信息重写、清零等工作。在编号时,采用跳过(skipped)的方法忽略掉记录在P-list中的缺陷磁道和缺陷扇区,保证以后用户不会也不能使用到那些缺陷磁道和缺陷扇区。因此,新硬盘在出售时是无法被检测到缺陷的。如果是返修的硬盘,一般就在厂家特定的维修部门进行检测维修。
小知识:什么是硬盘的磁道和扇区?磁道是磁盘一个面上的单个数据存储圆圈。如果将磁道作为一个存储单元,从数据管理效率来看实在是太低了,因此,磁道被分成若干编上号的区域,称之为扇区。这些扇区代表了磁道的分段(如图)。在PC系统中,通过标准格式化的程序产生的扇区容量都为512字节。这里大家需注意的是“扇区”与“簇”的关系,“簇”是操作系统在读或写一个文件时能处理的最小磁盘单元,一个簇等于一个或者多个扇区(2的n次方)。
三、硬盘缺陷的处理 4、对于系统信息错乱,需要有专业的工具软件才能解决。首先要找个与待修硬盘参数xx相同的正常硬盘,读出其内部所有模块并保存下来;检查待修硬盘的系统结构,查到出错的模块,并将正常模块的参数重新写入。笔者用这个方法成功地修复了数以千计有这种缺陷类型的硬盘,而且一般不会破坏原有数据。要想写某系列硬盘的系统信息,相应的工具软件必须有严格针对性;该硬盘的CPU专用指令集;该硬盘的Firmware结构;内部管理程序和参数模块结构。一般只有硬盘厂家才能编写这样的专业工具软件,而且视为绝密技术,不向外界提供。但也有一些专业的硬盘研究所研究开发类似的专业工具软件,一般要价很高而且很难买到。
5、对于伺服缺陷,也要借助于专业工具。相应的专业工具可以通过重写来纠正伺服信息,解决部分磁道伺服缺陷。如果有部分无法纠正,则要对盘片进行物理磁道扫描找出有伺服缺陷的磁道,添加到P-list(或另外的专门磁道缺陷列表)中。然后,运行硬盘内部的低级格式化程序。这段程序能自动根据需要调用相关的参数模块,自动完成硬盘的低格过程,不需要PC系统的干预。
四、坏扇区的修复原理 按 “三包”规定,如果硬盘在质保期内出现缺陷,商家应该为用户更换或修理。现在大容量的硬盘出现一个坏扇区的概率实在很大,如果全部送修的话,硬盘商家就要为售后服务忙碌不已了。很多硬盘商家都说,硬盘出现少量坏扇区往往是病毒作怪或某些软件造成的,不是真正的坏扇区,只要运行硬盘厂家提供的某些软件,就可以纠正了。到底是怎么回事呢?从前面对坏扇区的说明来看,坏扇区有多种可能的原因,修复的方法也有几种:
1、通过重写校验码、标志信息等可以纠正一部分坏扇区。现在硬盘厂家都公开提供有一些基本的硬盘维护工具,如各种版本的DM、POWERMAX、DLGDIAG等,其中都包括有这样的功能项:Zero fill(零填充)或Lowlevel format(低级格式化)。进行这两项功能都会对硬盘的数据进行清零,并重写每个扇区的校验码和标志信息。如果不是磁盘表面介质损伤的话,大部分的坏扇区可以纠正为正常状态。这就是常听说的:“逻辑坏扇区可以修复”的道理。
2、调用自动修复机制替换坏扇区。为了减少硬盘返修的概率,硬盘厂商在硬盘内部设计了一个自动修复机制 Automatic Reallcation或Automatic Reassign 。现在生产的硬盘都有这样的功能:在对硬盘的读写过程中,如果发现一个坏扇区,则由内部管理程序自动分配一个备用扇区来替换该扇区,并将该扇区物理位置及其替换情况记录在G-list(增长缺陷表,Grown defects list 中。这样一来,少量的坏扇区有可能在使用过程中被自动替换掉了,对用户的使用没有太大的影响。也有一些硬盘自动修复机制的激发条件要严格一些,需要运行某些软件来检测判断坏扇区,并发出相应指令激发自动修复功能。比如常用的Lformat(低格) DM中的Zero fill,Norton中的Wipeinfo和校正工具,西数工具包中的wddiag,IBM的DFT中的Erase,还有一些半专业工具如:HDDspeed、MHDD、HDDL、HDDutility等(大家可以上网搜索下载)。这些工具之所以能在运行过后xx了一些坏扇区,很重要的原因就是这些工具可以在检测到坏扇区时激发自动修复机制。如果读者能查看G-list就知道,这些“修复工具”运行前后,G-list记录有可能增加一定数量。如:用HDDspeed可以查看所有Quantum Fireball系列的P-list和G-list;MHDD可以查看IBM和FUJITSU的P-list和G-list。
3、用专业软件将缺陷扇区记录在P-list中,并进行内部低级格式化。用户在使用硬盘时,是不能按物理地址模式来访问硬盘的。而是按逻辑地址模式来访问。硬盘在通电自检时,系统会从系统保留区读取一些特定参数(与内部低级格式化时调用的参数有密切关系)存在缓冲区里,用作物理地址与逻辑地址之间转换的依据。有些专业软件可以将检测到的坏扇区的逻辑地址转换为对应的物理地址,直接记录在P-list中,然后调用内部低级格式化程序进行低级格式化。这样可以不受G-list的限制,能修复大量的坏扇区,达到厂家修复的效果。
五、关于“坏道”的一点补充 “坏道(Bad track)”这个概念源于十多年前小容量硬盘(如ST506接口、100MB以下)。当时的硬盘内部没有什么系统保留区,也就没有P-list或G-list。出厂前,厂家就扫描硬盘中存在坏扇区的磁道,并将其位置记录在一张小表格中,贴在硬盘外壳上,注明“Bad track list”,即常说的“坏道表”。而“坏道表”上就列出某磁头某柱面的磁道是坏磁道,这就是我们常听人说的“坏道”。当时所有的硬盘在{dy}次使用前都要求做低级格式化(Low level format,简称“低格”),在使用过程中也可以根据需要做低级格式化。在对这个硬盘进行低级格式化前(如用ADM、低版本DM、早期主板中自带的低格工具等),要将坏道表中记录都填入,或用工具自动扫描所有坏道,然后才进行低级格式化过程。低格过程中,低格程序对所有磁道按一定的规律进行编号,同时将前面记录或扫描到的坏道排除在外,即“跳过(Skipped)”那些位置,对用户来说可以算是“修好”了“坏道”。而如果哪个用户轻易对硬盘进行低格,却没有登记坏道,那么低格会令以前曾“跳过”的坏道一个个又重新显现出来,这就是为什么当时人们常说低格会令硬盘增加坏道的原因。
那么,现在笔者为什么不用“坏道”概念而用“缺陷”概念呢?以前的老硬盘,通过低格来修复,只要某磁道中出现一个坏扇区,该磁道就算“坏磁道(Bad Track)”,修复时就整个磁道所有扇区一起“跳过(skipped)”。所以,坏磁道和坏扇区没有区别开来,一起被称为“坏道”也还算贴切。而现在的硬盘,每个磁道划分为数百上千个扇区,不能因为有一个坏扇区就丢掉整个磁道。而且有些硬盘出厂前P-list就记录数千个坏扇区,如果丢掉数千个磁道(意味道要丢掉数GB的空间)就太浪费了。而现在的硬盘不同的缺陷有不同的表现,不同的原因,修复方法也各不相同。如果继续用“坏磁道”或“坏道”来概括多种缺陷,很明显词不达意。
-------------------------------------------------------------------------------------------------------------------- |