硬盘故障原因及数据恢复技术探析
2012-08-30何欢
[摘 要] 硬盘是计算机最主要的存储载体,硬盘硬件故障或固件损坏都可能导致硬盘无法正常工作影响数据正常读取,本文探讨了硬盘物理故障或固件损坏原因及数据恢复的方法。
[关键词] 硬盘物理故障固件损坏数据恢复方法
0.引言
数据恢复是指由于各种原因导致数据丢失时把保留在介质上的数据重新恢复的过程,即使数据被删除或硬盘出现故障,只要在介质没有严重受损的情况下,数据就有可能被完好无损地恢复。硬盘以其容量大、体积小、速度快、价格便宜等优点,是计算机最主要的数据存储载体,硬盘故障造成数据丢失时,损失是灾难性的。硬盘固件故障和物理故障都可导致硬 盘无法正常运行,存储的数据也无法正常读取而丢失。
1.硬盘存储结构
1.1硬盘的物理结构
计算机硬盘是一个集机、电、磁一体化的高精密系统,它由控制电路板、磁头、盘片、主轴电机及其它附件组成。硬盘的控制电路板包含主轴调速电路、磁头驱动与伺服定位电路、读写电路、控制与接口电路。磁头组件是硬盘中最精密的部位之一,它由读写磁头、传动手臂、传动轴三部分组成,负责数据读写。磁盘片是硬盘存储数据的载体。主轴组件包括主轴部件如轴承和驱动电机等。
硬盘内部是一个无尘空间,下面是铝制的基座,基座上安装着主轴电机、盘片、磁头电机、磁头芯片、磁头、定位夹具等,磁头、磁头芯片、音圈电机一般安装在一起构成磁头组件。
1.2硬盘的固件
每个硬盘内部都有一个系统保留区,称为固件(Firmware),固件相当于硬盘的BIOS和操作系统,固件里包括了硬盘正常运行所需的引导命令、控制语句和执行语句,包括驱动、控制、解码、传送、检测等执行指令模块及型号容量技术参数信息,这些称为厂家信息。有些硬盘固件保存在电路板芯片中,有的则是部分保存在电路板的芯片中部分保存在硬盘的负磁道中,负磁道就是零磁道前面的磁道。
2.硬盘物理故障分析
(1)硬盘电路板故障
电路板固定在盘体的外面,常见的外部故障有以下几类:
1)供电的故障
硬盘的供电来自主机的开关电源,硬盘的供电电路如果出现问题,会直接导致硬盘不能工作。故障现象往往表现为不通电、硬盘检测不到、盘片不转、磁头寻道不正常等。
2)接口故障
接口是硬盘与计算机之间传输数据的通路,接口电路如出现故障可能会导致硬盘检测不到、乱码、参数误认等现象。
3)缓存故障
缓存用于加快硬盘数据传输速度,如出现问题可能会导致硬盘不识别、乱码、进入操作系统后异常死机等现象。
4)BIOS和主控芯片故障
BIOS用于保存如硬盘容量、接口信息等参数,硬盘所有的工作流程都与BIOS程序相关,通断电瞬间可能会导致BIOS程序丢失或紊乱。
5)电机驱动芯片故障
硬盘由于转速太高导致电机驱动芯片发热量太大而损坏,电机驱动芯片故障导致硬盘电机不能转动。
(2) 硬盘内部组件故障
硬盘的内部故障比较复杂,大致可以分为以下三种情况:
1)磁头故障
磁头用于读取或写入硬盘数据,受到剧烈碰撞时易损坏。磁头故障包括磁头磨损、磁头接触面脏、磁头摆臂变形、磁铁移位等。一般表现为通电后,磁头动作发出的声音明显不正常、硬盘无法被系统BIOS检测到(同时等待时间很长)、无法区分或格式化、格式化后发现从前到后都分布有大量的坏簇等。
2)主轴电机故障
主轴电机用于带动盘片高速旋转。现在的硬盘大多使用液态轴承马达,精度极高,剧烈碰撞后可能会使间隙变大,读取数据变得困难、电机异响或根本检测不到硬盘。
3)盘片故障
盘片用于存储硬盘数据,盘片故障主要指盘片被划伤,或者盘片上出现坏扇区,一般情况下硬盘的每个扇区可以记录512B的数据,如果其中任何一个字节不正常,该扇区就属于缺陷扇区。每个扇区除了记录512B的数据外,另外还记录其他一些相关的信息,如标志信息、校验码、地址信息等,其中任何一部分信息不正常都导致该扇区成为坏扇区。盘片被轻微划伤时可通过软件按一定的算法解码纠错,严重划伤时,数据不可恢复。
2.2 硬盘固件故障
硬盘的固件参数一般存放在普通用户访问不到的位置,有些是在物理零磁道以前,也就是常说的“负磁道”的位置,固件参数以模块的形式表现出来,可能每个参数占用一个模块,也可能几个参数占用同一个模块,模块大小不一样,有些模块才一个字节,有些达到几十KB,这些参数并不是连续存放的,而是各有各的固件位置。
硬盘在通电自检时,要调用固件中大部分程序和参数,如果计算机能读出固件的程序和参数模块,而且校验正常的话,硬盘就进入准备状态。硬盘每次启动时都会调用固件模块中的模块,长期的读取或硬盘发生一些轻微碰撞都会导致硬盘固件损伤,导致某些固件模块无法正常读取或校验不正常,则该硬盘就无法进入准备状态,计算机BIOS无法检测到硬盘或检测到硬盘却无法对它进行读/写操作。
3.硬盘故障数据恢复方法
3.1硬盘电路板故障的数据恢复
当硬盘电路板出现故障时,使用一个同型号相兼容的电路板来替换故障的电路板,这样故障硬盘能够正常工作了,这时只需将数据从故障硬盘中复制出来即可。
3.2 硬盘内部故障的数据恢复
硬盘内部故障,在数据恢复时我们可以把它们归为4类:磁头组件故障、主轴组件故障、壞扇区和系统信息出错。硬盘出现这4类故障时,分别采用如下的方法进行数据恢复:
1)磁头组件故障情况下的数据恢复
对于磁头组件故障,解决办法是更换一套同品版同型号无故障的磁头组件,然后用这套磁头组件将盘片上的数据读取出来,更换硬盘磁头组件需要对硬盘实施开盘操作,开盘工作必须在专业的100级洁净间中进行。
2)主轴组件故障情况下的数据恢复
硬盘的主轴组件主要是电机轴承和马达,当硬盘的轴承卡住时,同样也需要在洁净间里进行开盘操作,但我们并不需要将卡住的轴承换掉,可直接将故障硬盘的盘片换到一个没有故障的同型号硬盘中,这样数据恢复的成功率较高。
3)硬盘出现坏扇区情况下的数据恢复
硬盘坏扇区产生有多种可能的原因,修复的方法有如下几种:
(1)通过重写校验码、标志信息纠正坏扇区
现在硬盘厂家都公开提供有一些基本的硬盘维护工具,如各种版本的DM、POWERMAX、DLGDIAG等,其中都包括有这样的功能项:Zero fill(零填充)或Low level format(低级格式化)。进行这两项功能的操作都会对硬盘的数据进行清零,并重写每个扇区的校验码和标志信息。如果不是磁盘表面介质损伤的话,大部分的坏扇区可以纠正为正常状态,但是硬盘中的数据将丢失,所以如果需要保留硬盘中的数据,就不能采用这种方法。
(2)调用自动修复机制替换坏扇区
为了降低硬盘返修的概率,硬盘厂商在硬盘内部设计了一个自动修复机制,在对硬盘的读/写过程中,如果发现一个坏扇区,则由内部管理程序自动分配一个备用扇区来替换该扇区,并将该扇区物理位置及其替换情况记录在G表(Growing-list,增长缺陷表)中,对用户的使用没有太大的影响。也有一些硬盘自动修复机制的激发条件要严格一些,需要运行某些软件来检测判断坏扇区,并发出相应指令激发自动修复功能,比如常用的DM中的Zero fill,Norton中的Wipeinfo和校正工具,这些工具可以在检测到坏扇区时激发硬盘自动修复机制,将用户使用过程中产生的坏道写硬盘的G表,当然G表(G-list)的记录不会无限制,所以硬盘的G表都会限定在一定数量范围内,如Maxtor的美钻二代的限度是636条,WD硬盘的BB系列的限度是508条,超过限度,自动修复机制就不能再起作用,所以硬盘坏道过多就会造成计算机无法正常读写硬盘的数据。
(3)用专业软件将坏扇区记录在P表(P-list)中
这种方法需要对硬盘进行内部低级格式化。用户在使用硬盘时,是不能按物理地址模式来访问硬盘的,而是按逻辑地址模式来访问。硬盘在通电自检时,系统会从系统保留区读取一些特定参数存在缓冲区里,用做物理地址与逻辑地址之间转换的依据。有些专业软件可以将检测到的坏扇区的逻辑地址转换为对应的物理地址,直接记录在P表(永久缺陷表)中。
4.硬盘固件故障数据恢复的方法
硬盘固件是控制硬盘正常工作的非常重要的程序,一旦出错硬盘就无法工作。
如果硬盘故障是由于硬盘系统信息出错造成的,那么就需要用特殊的工具检测,查找出错的信息,并进行修复或替换。一般的工具无法访问硬盘的系统信息,只能用那些专门针对硬盘系统信息而开发的工具,比如MHDD、PC-3000,才能做到访问并修改硬盘的系统信息。
PC-3000由俄罗斯著名的硬盘实验室ACELaboratory研究开发,它是一款专业修复硬盘的综合工具,特别擅长修复硬盘固件故障。PC-3000由硬件和软件两大部分组成:硬件部分由专用于控制硬盘的控制卡和接口线缆组成,软件分为ISA、PCI和UDMA版本,最新的UMDA版本集成了原来PCI和ISA版的全部功能,全面支持UDMA66模式,并具有硬盘电源保护功能,包括若干个针对不同品牌、不同系列的硬盘而开发的程序模块。
PC-3000能读出硬盘内部的固件信息,分析每个固件所处的模块是否处于正常状态并且可以修正这些参数,重新写回盘片中指定的位置,这样,PC-3000就可以把一些因为固件参数错乱而无法正常使用的硬盘“修复”到正常状态,硬盘就可以正常的运行,从而恢复出其中的数据。
作者简介:
何欢:(1973-),男,硕士,讲师,研究方面为网络与信息安全技术、信息管理、数据恢复技术。