男孩 于2006年11月13日
硬盘坏道
作者:男孩 日期:2009-07-13
● 坏道的分类
硬盘出现坏道除了硬盘本身质量以及老化的原因外,还有很大程度上是由于平时使用不当造成的。硬盘坏道根据其性质可以分为逻辑坏道和物理坏道两种,简单来说,逻辑坏道是由于一些软件或者使用不当造成的,这种坏道可以使用软件修复,而物理坏道则是硬盘盘片本身的磁介质出现问题,例如盘片有物理损伤,这类故障通常使用软件也无法修复的错误。
如果你的硬盘一旦出现下列这些现象时,你就该注意硬盘是否已经出现了坏道:
(1)在读取某一文件或运行某一程序时,硬盘反复读盘且出错,提示文件损坏等信息,或者要经过很长时间才能成功;有时甚至会出现蓝屏等;
(2)硬盘声音突然由原来正常的摩擦音变成了怪音;
(3)在排除病毒感染的情况下系统无法正常启动,出现“Sector not found”或“General error in reading drive C”等提示信息;
(4)Format硬盘时,到某一进度停止不前,最后报错,无法完成;
(5)每次系统开机都会自动运行Scandisk扫描磁盘错误;
(6)对硬盘执行FDISK时,到某一进度会反复进进退退;
(7)启动时不能通过硬盘引导系统,用软盘启动后可以转到硬盘盘符,但无法进入,用SYS命令传导系统也不能成功。这种情况很有可能是硬盘的引导扇区出了问题。
常识:坏道修复方法 - 具体问题具体分析
由于硬盘内部工作环境的要求极为严格,小小的灰尘进入到硬盘内部也会造成不可挽回的损坏,所以当硬盘出现坏道时,我们并不能拆开硬盘进行维修,只能够通过一些工具软件来进行修复,从而最大限度的挽回损失。
当我们确定硬盘有坏道之后,我们并不能确定这个坏道到底是逻辑损伤还是物理损伤,我们只能够遵循从简单到复杂的步骤进行修复,一般逻辑坏道经过简单的软件修复就可以解决故障,但是一些物理坏道则需要进一步的修复才能保证硬盘的数据安全和正常使用。
实战:修复逻辑坏道 - 让硬盘崭新如初
一般情况下,硬盘产生逻辑坏道的原因是一些正版软件会在硬盘上某些扇区写入信息,其他的软件则无法访问这个扇区,这种情况下,硬盘检测工具也会误认为该扇区产生了坏道,一般这种情况无需进行修复,但是现在的软件越来越少的采用这种加密方式了。
还有一种情况就是使用不当造成的了,例如硬盘在读取数据时意外遭到重启,则有可能产生逻辑坏道,情况严重的甚至会产生物理坏道。我们此时可以使用Windows自带的磁盘工具对硬盘进行扫描,并且对错误进行自动修复。
具体步骤如下(以Windows XP为例),在我的电脑中选中盘符后单击鼠标右键,在弹出的驱动器属性窗口中依次选择“工具→开始检查” 。
选择“自动修复文件系统错误”和“扫描并恢复坏扇区”,然后点击开始。
扫描时间会因磁盘容量及扫描选项的不同而有所差异。但是值得注意的是,在Windows 98甚至以上的操作系统中,并不能显示每个扇区的详细情况,所以通常在这种情况下,我们最好还是选择DOS下的磁盘检测工具Scandisk。Scandisk会检测每个扇区,并且会标记坏扇区,以免操作系统继续访问这个区域。保证的系统运行的稳定和数据的安全性。
一般来说,通过上述的方法,修复完成之后硬盘上坏道仍然存在,只是做上了标记,系统不会继续访问了,但是随着对硬盘的继续使用,我们可能会发现硬盘坏道有可能扩散,所以这种方法并不能从根本上解决问题。
比较妥善的办法是对硬盘数据进行备份,然后重新分区格式化硬盘,一般来说,如果硬盘上的故障仅仅是逻辑坏道,就可以彻底的解决问题。当然,建议在进行重新分区和格式化之后,使用DOS下Scandisk再次对硬盘进行检测,确保硬盘逻辑坏道的完全修复。
实战:修复物理坏道 - 低格硬盘方法多
如果按照上述步骤重新分区格式化之后,仍然发现硬盘有坏道,那么硬盘很有可能就是有物理坏道了。其实在这种情况下,我们也不必急于对硬盘坏道是否可以修复下结论,还可以采用另外一个软件对硬盘进行低格,在进行重新分区格式化,有些硬盘坏道也有可能通过这种方式得到解决。
● 低级格式化硬盘
低格的方式有两种,一种是通过主板BIOS自带的低格工具,一种是采用软件的方式进行低格。通过主板BIOS自带的低格工具的方法会受到主板的限制,有些主板在BIOS中并没有配备这样的程序,并且目前新型号的主板大多都没有这个低格的功能了,所以推荐还是采用软件的方式来进行硬盘的低级格式化。
Maxtor出品过一个低格工具low.exe,这个软件可以对Maxtor硬盘进行低格,其实这个程序可以适用于各种品牌各种型号的IDE硬盘。该软件的操作相当简单。启动之后按“Y”进入软件,只需选择需要低格的硬盘,然后选择开始低格选中的硬盘就可以了。
般低格的过程比较长,所以需要耐心的等待。此外,需要提醒读者的一点就是,如果你的机器上还安装有其他的硬盘,在运行low这个低格程序的时候最好将这个硬盘卸下,以免数据丢失。
实战:屏蔽物理坏道 - “死马当活马医
● 总结
通过上面的步骤,我们就可以修复硬盘的逻辑坏道或者屏蔽坏道到隐藏分区,从而保证系统运行的稳定以及数据文件的安全,经过这样的处理之后,硬盘就可以重新焕发青春或者可以最大限度的“延年益寿”了。操作是不是也很简单呢?
● 网上另外的说法
网上有些人不同意以上关于坏道的说法,先将其文章转载在此,供大家参考
跳出硬盘认识的误区
多年来一直误导着高朋的几个常识性问题是:
1.硬盘逻辑坏道可以修复,而物理坏道不可修复。实际情况是,坏道并不分为逻辑坏道和物理坏道,不知道谁发明这两个概念,反正厂家提供的技术资料中都没有这样的概念,倒是分为按逻辑地址记录的坏扇区和按物理地址记录的坏扇区。
2.硬盘出厂时没有坏道,用户发现坏道就意味着硬盘进入危险状态。实际情况是,每个硬盘出厂前都记录有一定数量的坏道,有些数量甚至达到数千上万个坏扇区,相比之下,用户发现一两个坏道算多大危险?
3.硬盘不认盘就没救,0磁道坏可以用分区方法来解决。实际情况是,有相当部分不认的硬盘也可以修好,而0磁道坏时很难分区。
如此误导,如不是自己搜集研究外文资料并长期实践,说不准还长期拿来作信条呢。 在国外有许多的专业的硬盘维修论坛,在那里你可以发现有一些国家的硬盘维修技术达到了很高水准。我敢肯定,他们的一些技术会令众多硬盘厂家头痛不已。和世界上众多专业硬盘修理高手交流,使高朋受益菲浅。 这三年来,高朋辞去教师工作,专门从事硬盘修复工作,经手修复的硬盘已超过万个。
总结起来,高朋的技术来源有三方面:
1.搜集国外技术资料与国外专业人士交流;
2.购买专业工具软件(有同步技术更新支持);
3.自己的实践经验。
很遗憾,我没有找到教我修复硬盘的老师,也不认为哪本教科书对我修硬盘有太大帮助。
硬盘修复人士需要弄明白的几个基本概念
在研究硬盘修复和使用专业软件修复硬盘的过程中,必将涉及到一些基本的概念。在这里,高朋根据自己的研究和实践经验,试图总结并解释一些与“硬盘缺陷”相关的概念,与众位读者交流。
Bad sector (坏扇区)
在硬盘中无法被正常访问或不能被正确读写的扇区都称为Bad sector。一个扇区能存储512Bytes的数据,如果在某个扇区中有任何一个字节不能被正确读写,则这个扇区为Bad sector。除了存储512Bytes外,每个扇区还有数十个Bytes信息,包括标识(ID)、校验值和其它信息。这些信息任何一个字节出错都会导致该扇区变“Bad”。例如,在低级格式化的过程中每个扇区都分配有一个编号,写在ID中。如果ID部分出错就会导致这个扇区无法被访问到,则这个扇区属于Bad sector。有一些Bad sector能够通过低级格式化重写这些信息来纠正。
Bad cluster (坏簇)
在用户对硬盘分区并进行高级格式化后,每个区都会建立文件分配表(File Allocation Table, FAT)。FAT中记录有该区内所有cluster(簇)的使用情况和相互的链接关系。如果在高级格式化(或工具软件的扫描)过程中发现某个cluster使用的扇区包括有坏扇区,则在FAT中记录该cluster为Bad cluster,并在以后存放文件时不再使用该cluster,以避免数据丢失。有时病毒或恶意软件也可能在FAT中将无坏扇区的正常cluster标记为Bad cluster, 导致正常cluster不能被使用。 这里需要强调的是,每个cluster包括若干个扇区,只要其中存在一个坏扇区,则整个cluster中的其余扇区都一起不再被使用.
Defect (缺陷)
在硬盘内部中所有存在缺陷的部分都被称为Defect。 如果某个磁头状态不好,则这个磁头为Defect head。 如果盘面上某个Track(磁道)不能被正常访问,则这Track为Defect Track. 如果某个扇区不能被正常访问或不能正确记录数据,则该扇区也称为Defect Sector. 可以认为Bad sector 等同于 Defect sector. 从总的来说,某个硬盘只要有一部分存在缺陷,就称这个硬盘为Defect hard disk.
P-list (永久缺陷表)
现在的硬盘密度越来越高,单张盘片上存储的数据量超过40Gbytes. 硬盘厂家在生产盘片过程极其精密,但也极难做到100%的完美,硬盘盘面上或多或少存在一些缺陷。厂家在硬盘出厂前把所有的硬盘都进行低级格式化,在低级格式化过程中将自动找出所有defect track和defect sector,记录在P-list中。并且在对所有磁道和扇区的编号过程中,将skip(跳过)这些缺陷部分,让用户永远不能用到它们。这样,用户在分区、格式化、检查刚购买的新硬盘时,很难发现有问题。一般的硬盘都在P-list中记录有一定数量的defect, 少则数百,多则数以万计。如果是SCSI硬盘的话可以找到多种通用软件查看到P-list,因为各种牌子的SCSI硬盘使用兼容的SCSI指令集。而不同牌子不同型号的IDE硬盘,使用各自不同的指令集,想查看其P-list要用针对性的专业软件。
G-list (增长缺陷表)
用户在使用硬盘过程中,有可能会发现一些新的defect sector。 按“三包”规定,只要出现一个defect sector,商家就应该为用户换或修。现在大容量的硬盘出现一个defect sector概率实在很大,这样的话硬盘商家就要为售后服务忙碌不已了。于是,硬盘厂商设计了一个自动修复机制,叫做Automatic Reallcation。有大多数型号的硬盘都有这样的功能:在对硬盘的读写过程中,如果发现一个defect sector,则自动分配一个备用扇区替换该扇区,并将该扇区及其替换情况记录在G-list中。这样一来,少量的defect sector对用户的使用没有太大的影响。
也有一些硬盘自动修复机制的激发条件要严格一些,需要用某些软件来判断defect sector,并通过某个端口(据说是50h)调用自动修复机制。比如常用的Lformat, ADM,DM中的Zero fill,Norton中的Wipeinfo和校正工具,西数工具包中的wddiag, IBM的DFT中的Erase等。这些工具之所以能在运行过后消除了一些“坏道”,很重要的原因就在这Automatic Reallcation(当然还有其它原因),而不能简单地概括这些“坏道”是什么“逻辑坏道”或“假坏道”。 如果哪位被误导中毒太深的读者不相信这个事实,等他找到能查看G-list的专业工具后就知道,这些工具运行过后,G-list将会增加多少记录!“逻辑坏道”或“假坏道”有必要记录在G-list中并用其它扇区替换么?
当然,G-list的记录不会无限制,所有的硬盘都会限定在一定数量范围内。如火球系列限度是500,美钻二代的限度是636,西数BB的限度是508,等等。超过限度,Automatic Reallcation就不能再起作用。这就是为何少量的“坏道”可以通过上述工具修复(有人就概括为:“逻辑坏道”可以修复),而坏道多了不能通过这些工具修复(又有人概括为:“物理坏道”不可以修复)。
Bad track (坏道)
这个概念源于十多年前小容量硬盘(100M以下),当时的硬盘在外壳上都贴有一张小表格,上面列出该硬盘中有缺陷的磁道位置(新硬盘也有)。在对这个硬盘进行低级格式化时(如用ADM或DM 5.0等工具,或主板中的低格工具),需要填入这些Bad track的位置, 以便在低格过程中跳过这些磁道。现在的大容量硬盘在结构上与那些小容量硬盘相差极大,这个概念用在大容量硬盘上有点牵强。
读者们还可能发现国内很多刊物和网上文章中还有这么几个概念:物理坏道,逻辑坏道,真坏道,假坏道,硬坏道,软坏道等。高朋在国外的硬盘技术资料中没有找到对应的英文概念,也许是中国人自己概括的吧?既然有那么多的人能接受这些概念,也许某些专家能作出一些的合理解释。 高朋不习惯使用这些概念,不想对它们作牵强的解释,读者们看看是谁说的就去问谁吧。
深入了解硬盘参数
正常情况下,硬盘在接通电源之后,都要进行“初始化”过程(也可以称为“自检”)。这时,会发出一阵子自检声音,这些声音长短和规律视不同牌子硬盘而各不一样,但同型号的正常硬盘的自检声音是一样的。 有经验的人都知道,这些自检声音是由于硬盘内部的磁头寻道及归位动作而发出的。为什么硬盘刚通电就需要执行这么多动作呢?简单地说,是硬盘在读取的记录在盘片中的初始化参数。
一般熟悉硬盘的人都知道,硬盘有一系列基本参数,包括:牌子、型号、容量、柱面数、磁头数、每磁道扇区数、系列号、缓存大小、转速、S.M.A.R.T值等。其中一部分参数就写在硬盘的标签上,有些则要通过软件才能测出来。但是,高朋告诉你,这些参数仅仅是初始化参数的一小部分,盘片中记录的初始化参数有数十甚至数百个!硬盘的CPU在通电后自动寻找BIOS中的启动程序,然后根据启动程序的要求,依次在盘片中指定的位置读取相应的参数。如果某一项重要参数找不到或出错,启动程序无法完成启动过程,硬盘就进入保护模式。在保护模式下,用户可能看不到硬盘的型号与容量等参数,或者无法进入任何读写操作。近来有些系列的硬盘就是这个原因而出现类似的通病,如:FUJITSU MPG系列自检声正常却不认盘,MAXTOR美钻系列认不出正确型号及自检后停转,WD BB EB系列能正常认盘却拒绝读写操作等。
不同牌子不同型号的硬盘有不同的初始化参数集,以较熟悉的Fujitsu硬盘为例,高朋简要地讲解其中一部分参数,以便读者理解内部初始化参数的原理。
通过专用的程序控制硬盘的CPU,根据BIOS程序的需要,依次读出初始化参数集,按模块分别存放为69个不同的文件,文件名也与BIOS程序中调用到的参数名称一致。其中部分参数模块的简要说明如下:
DM硬盘内部的基本管理程序
- PL永久缺陷表
- TS缺陷磁道表
- HS实际物理磁头数及排列顺序
- SM最高级加密状态及密码
- SU用户级加密状态及密码
- CI 硬件信息,包括所用的CPU型号,BIOS版本,磁头种类,磁盘碟片种类等
- FI生产厂家信息
- WE写错误记录表
- RE读错误记录表
- SI容量设定,指定允许用户使用的最大容量(MAX LBA),转换为外部逻辑磁头数(一般为16)和逻辑每磁道扇区数(一般为63)
- ZP区域分配信息,将每面盘片划分为十五个区域,各个区域上分配的不同的扇区数量,从而计算出最大的物理容量。
这些参数一般存放在普通用户访问不到的位置,有些是在物理零磁道以前,可以认为是在负磁道的位置。可能每个参数占用一个模块,也可能几个参数占用同一模块。模块大小不一样,有些模块才一个字节,有些则达到64K字节。这些参数并不是连续存放的,而是各有各的固定位置。
读出内部初始化参数表后,就可以分析出每个模块是否处于正常状态。当然,也可以修正这些参数,重新写回盘片中指定的位置。这样,就可以把一些因为参数错乱而无法正常使用的硬盘“修复”回正常状态。
如果读者有兴趣进一步研究,不妨将硬盘电路板上的ROM芯片取下,用写码机读出其中的BIOS程序,可以在程序段中找到以上所列出的参数名称。
硬盘修复之低级格式化
熟悉硬盘的人都知道,在必要的时候需要对硬盘做“低级格式化”(下面简称“低格”)。进行低格所使用的工具也有多种:有用厂家专用设备做的低格,有用厂家提供的软件工具做的低格,有用DM工具做的低格,有用主板BIOS中的工具做的低格,有用Debug工具做的低格,还有用专业软件做低格……
不同的工具所做的低格对硬盘的作用各不一样。有些人觉得低格可以修复一部分硬盘,有些人则觉得低格十分危险,会严重损害硬盘。高朋用过多种低格工具,认为低格是修复硬盘的一个有效手段。下面总结一些关于低格的看法,与广大网友交流。
大家关心的一个问题:“低格过程到底对硬盘进行了什么操作?”实践表明低格过程有可能进行下列几项工作,不同的硬盘的低格过程相差很大,不同的软件的低格过程也相差很大。
A. 对扇区清零和重写校验值
低格过程中将每个扇区的所有字节全部置零,并将每个扇区的校验值也写回初始值,这样可以将部分缺陷纠正过来。譬如,由于扇区数据与该扇区的校验值不对应,通常就被报告为校验错误(ECC Error)。如果并非由于磁介质损伤,清零后就很有可能将扇区数据与该扇区的校验值重新对应起来,而达到“修复”该扇区的功效。这是每种低格工具和每种硬盘的低格过程最基本的操作内容,同时这也是为什么通过低格能“修复大量坏道”的基本原因。另外,DM中的Zero Fill(清零)操作与IBM DFT工具中的Erase操作,也有同样的功效。
B. 对扇区的标识信息重写
在多年以前使用的老式硬盘(如采用ST506接口的硬盘),需要在低格过程中重写每个扇区的标识(ID)信息和某些保留磁道的其他一些信息,当时低格工具都必须有这样的功能。但现在的硬盘结构已经大不一样,如果再使用多年前的工具来做低格会导致许多令人痛苦的意外。难怪经常有人在痛苦地高呼:“危险!切勿低格硬盘!我的硬盘已经毁于低格!”
C. 对扇区进行读写检查,并尝试替换缺陷扇区
有些低格工具会对每个扇区进行读写检查,如果发现在读过程或写过程出错,就认为该扇区为缺陷扇区。然后,调用通用的自动替换扇区(Automatic reallocation sector)指令,尝试对该扇区进行替换,也可以达到“修复”的功效。
D. 对所有物理扇区进行重新编号
编号的依据是P-list中的记录及区段分配参数(该参数决定各个磁道划分的扇区数),经过编号后,每个扇区都分配到一个特定的标识信息(ID)。编号时,会自动跳过P-list中所记录的缺陷扇区,使用户无法访问到那些缺陷扇区(用户不必在乎永远用不到的地方的好坏)。如果这个过程半途而废,有可能导致部分甚至所有扇区被报告为标识不对(Sector ID not found, IDNF)。要特别注意的是,这个编号过程是根据真正的物理参数来进行的,如果某些低格工具按逻辑参数(以 16heads 63sector为最典型)来进行低格,是不可能进行这样的操作。
E. 写磁道伺服信息,对所有磁道进行重新编号
有些硬盘允许将每个磁道的伺服信息重写,并给磁道重新赋予一个编号。编号依据P-list或TS记录来跳过缺陷磁道(defect track),使用户无法访问(即永远不必使用)这些缺陷磁道。这个操作也是根据真正的物理参数来进行。
F. 写状态参数,并修改特定参数
有些硬盘会有一个状态参数,记录着低格过程是否正常结束,如果不是正常结束低格,会导致整个硬盘拒绝读写操作,这个参数以富士通IDE硬盘和希捷SCSI硬盘为典型。有些硬盘还可能根据低格过程的记录改写某些参数。
下面我们来看看一些低格工具做了些什么操作:
1. DM中的Low level format
进行了A和B操作。速度较快,极少损坏硬盘,但修复效果不明显。
2. Lformat
进行了A、B、C操作。由于同时进行了读写检查,操作速度较慢,可以替换部分缺陷扇区。但其使用的是逻辑参数,所以不可能进行D、E和F的操作。遇到IDNF错误或伺服错误时很难通过,半途会中断。
3. SCSI卡中的低格工具
由于大部SCSI硬盘指令集通用,该工具可以对部分SCSI硬盘进行A、B、C、D、F操作,对一部分SCSI硬盘(如希捷)修复作用明显。遇到缺陷磁道无法通过。同时也由于自动替换功能,检查到的缺陷数量超过G-list限度时将半途结束,硬盘进入拒绝读写状态。
评论: 0 | 引用: 0 | 查看次数: 2365
发表评论