硬盘故障的分析和处理 1994-01-07 通常,硬盘的故障分为两类:其一是硬故障,是指硬盘驱动器物理结构上的故障, 需要拆机进行检修和诊断;有时要用专门的仪器来检测故障,然后进行修理和更换。其二是软故障,主要是硬盘驱动器的主引导扇区或硬盘分区表或DOS系统分区及系统文件等发生故障,从而引起硬盘瘫痪。 一、硬盘故障的一般诊断方法 (1)在系统启动后,上电自检程序对硬盘的诊断包括:对硬盘控制器内部的诊断,对硬盘适配器的诊断,以及对硬盘的检测等。这些诊断是借助于硬盘I/O驱动程序INT13的子功能09H,0FH,10H,11H,12H和14H来完成的。如果发生错误,则显示1701错误,但无法对故障定位。如果用户希望进一步找到故障,则应使用高级诊断程序。 (2)DOS自举中断INT19H用于读出0头0柱面1扇区的硬盘主引导记录,并且检查其有效性。 (3)硬盘主引导记录用于检查硬盘分区表的有效性,然后将活动分区(一般为DOS分区)的引导程序读入内存的指定区域,并控制将权交给它,由它负责引导系统。 (4)DOS分区引导程序的结构同软盘上的DOS引导程序的结构基本一样,唯一的区别是其首部的I/O参数表。(5)硬盘在启动过程中若有故障,则屏幕上会显示出相应的错误信息: ①1710 ②BASIC…OK ③Invalid Partition Talbe ④Error Loading Operation System ⑤Missing Operation System ⑥Non-System disk or disk error… ⑦Disk Boot failure 下面分析这些信息的详细含义,并指出错误发生的可能原因及其相应的排错措拖。 1)1710(出错信息): 含义:C盘控制器和驱动器自测试有错。 错误分析:控制器与驱动器的插件未插好,或者适配器未插好,或者适配器有故障,或者驱动器有故障。排除故障方法:将接插件装好,适配器插牢,或者更换适配器板,或者更换硬盘驱动器。 2)BASIC…OK(出错信息): 含义:进入ROM BASIC。该项只有在早期的含有ROM BASIC的PC机中才会出现。 错误分析:C盘复位失效,或主引导失败,或未建立分区表,或分区表被破坏。 排除故障方法:将接插件装好,适配器插牢;重建硬盘分区和DOS分区,重新格式化硬盘。 3)Invalid Partition Table: 含义:无效分区表。 错误分析:分区表破坏,或0柱0面1扇区损坏。 排除故障方法:重建硬盘分区和DOS分区,或使分区起始位置避开0柱面,或重做硬盘物理格式化。 4)Error Loading Operation System: 含义:错误的安装DOS。 错误分析:DOS分区柱面破坏,DOS分区表破坏,或读/写电路破坏。 排除故障方法:重建DOS分区,分区起始地址避开0柱面,或者更换适配器板,或者重做分区格式化。 5)Missing Operation System: 含义:DOS系统破坏。 错误分析:DOS引导记录破坏或读/写电路损坏。 排除故障方法:重做分区格式化,装入DOS;或重建DOS分区,分区起始地址避开0柱面;或者更换适配器板;或者重新做硬盘的物理格式化。 6)Non-System disk or disk error: 含义:非系统盘或盘出错。 错误分析:未装入DOS,或DOS被破坏,或读/写电路坏。 排除故障方法:重装DOS;或重新做分区格式化;或重建DOS分区;或者更换适配器板。 7)Disk Boot failure: 含义:磁盘自举系统破坏。 错误分析:DOS破坏;或读/写电路损坏。 排除故障方法:重做分区格式化,装入DOS;或重建DOS分区,分区起始地址避开0柱面;或者更换适配器板;或者重新做硬盘物理格式化。 二、使用工具软件诊断硬盘故障方法 (1)使用高级诊断程序(DIAG)。 各类计算机随机所带高级诊断程序盘都可以用于检测硬盘设备、诊断故障。用户可以根据诊断盘上提供的测试功能对多种选择项目进行测试,测试后显示测试结果。在对硬盘驱动器及其控制器的测试中,测试结果若为硬盘控制器的故障,则更换控制器;若为硬盘驱动器的故障,则可以选择初始化菜单,对硬盘进行初始化(物理格式化);若初始化后仍有故障,则说明硬盘驱动器需要修理或更换。 (2)使用QAPLUS诊断程序 QAPLUS诊断程序是一种实用的高级诊断软件,它可以用于测试硬盘系统,并可以提供对硬盘进行初始化、磁盘分区和高级格式化等磁盘管理功能;可以设置或修改计算机系统的硬件配置参数;可以对内存进行映象、定位和检错等;进一步,还可以对系统的各部分进行测试和诊断,分析所发生的故障,并且给出错误信息和测试报告。 (3)使用SPEEDSTOR诊断程序。 磁盘集成管理程序SPEEDSTOR的诊断部分可以诊断硬盘部分的各种故障,包括控制器和硬盘驱动器本身的故障。这个软件的通用性强适用范围广泛,可以对硬盘的故障进行诊断、分析和维护。 (4)使用 DM DIAG程序 DM(DISK MANAGER)盘上的诊断程序(DIAG)是一个多功能的诊断程序,它可以诊断用DM做过的硬盘的各种故障。并且能够彻底实现磁盘控制器测试和磁盘驱动器测试;同时还能提供清晰的故障检查结果、故障分离和纠正方法。一般的作法是,在硬盘软件安装前首先使用DM诊断程序校验磁盘控制器的位置,以及磁盘电缆的定位和磁盘驱动器的通信功能。用户使用DM诊断程序,还可以扫描磁盘以识别在初始化之后发生在硬盘驱动器表面上的任何故障。 (5)使用自编诊断程序。 一般情况下,硬盘的诊断是采用两种方法:即人工诊断方法和自动诊断方法。但是,人工诊断方法已经无法适应硬盘系统不断采用的新技术和大规模集成电路,只有结合硬盘系统的硬件特征以及本身具有的智能特征,采用自诊断技术,才能有效地进行故障诊断和定位。由于硬盘系统是智能部件,一方面可以接收主机发来的控制信息,来完成相应的操作;另一方面可以将控制命令的情况(包括错误信息)返回给主机。通常控制器能够执行二十多项命令,并且能检测出二十几种错误状态。这为硬盘系统的诊断提供了丰富的信息。但是目前无论是操作系统还是广为流行的诊断软件,都是通过BIOS程序实现硬盘系统的管理和检测。由于BIOS是与硬盘驱动器直接打交道的低级接口界面,因此在BIOS执行中,每项功能都是执行多条控制命令的结果,并将控制器返回的错误代码经过综合分类,最后概括成代码,通过AH寄存器传给用户。主机或将这些代码直接报告给用户,或者将其进一步归纳成系统代码或文字信息显示给用户。由于控制器错误代码经过BIOS等多层次处理,因此呈现在用户面前的仅仅是笼统的信息和提示,无法对故障作出精确的判断和定位。由此可知,故障处理层次越低,其反映故障的状态就越具体,物理概念也越清晰,分析处理也越方便。综上所述,为了直接获取控制器状态代码,最好的办法是越过BIOS层,直接与硬盘控制器打交道,即通过编程的方法直接驱动硬盘系统,由此获得故障的详细信息。一些已经问市的智能系统维修仪器或维修卡,就是以这种方式对硬盘进行诊断的。 三、硬盘故障的分析和修复 1.硬盘“零”柱面故障 在计算机使用中,经常出现故障:“TRACK 0 BAD”(零道损坏)的信息,这说明该硬盘的0柱面出现介质缺陷。由于硬盘的0柱面存放着系统的引导程序和分区表、DOS引导记录、文件分配表、目录区等,所以若这些信息遭到破坏,将导致系统无法使用。因此起初硬盘在出厂之前都对0柱面作了极其严格的检验,以确保该柱面的所有磁道都没有缺陷。 故障分析: 一般来说,0柱面故障都是使用或保管不当引起的,其主要原因有: (1)硬盘在安装或搬运中没有预先将磁头退回到安全区域,以至在安装或搬运过程中磁头遭到强烈振动或冲击,导致零柱面受到损伤; (2)在使用过程中,硬盘遭受外界的强电磁干扰,或遭受超过规定的冲击、振动,也将使0柱面或其他柱面损伤,使数据遭破坏; (3)由于硬盘在停止时磁头与盘面是接触的,而在工作时,靠旋转的惯性及磁盘内部密封的结构,使磁头与盘面分离悬浮起来。虽然在盘片表面涂有润滑、耐磨剂,但在实际使用时,过度频繁的启停,特别是在磁头尚未停稳时,又突然地开启机器,造成过大的加载力,使磁头划伤盘面; (4)硬盘未工作时,头、盘是接触在一起的,这时若随意转动步进电机中轴或主轴电机外转子将造成盘面的擦伤; (5)硬盘长期停用后初次再启用;突然断电及其它偶然的误操作而使零柱面介质被损伤或使记录中的数据遭破坏。 维护和预防措施: (1)在安装硬盘或搬运前,必须使用关闭磁头软件将磁头退回安全区;搬运时避免强振动,并且不要将硬盘倒置; (2)机房环境清洁,周围的电磁干扰要小于规定范围;机器的摆放要平稳,使用中一定要避免振动; (3)使用中不要频繁地使计算机作冷启动,不要频繁地在0柱面作启停操作; (4)当硬盘工作或停止时,不要随意转动驱动电机; (5)当电压不稳定时,应关闭主机电源,待稳定后再开机;对于长期停用的硬盘,最好先加电空运转一段时间,使其处于正常状态; 用户必须严格按照硬盘说明书进行安装和操作,防止误操作。 故障排除和修复方法: (1)如果0柱面的部分扇区发生损坏,可以利用分区程序重新定义DOS分区的边界,使其跨过损坏的零柱面;(2)在有些情况下,可以调整步进电机或零道开关位置,重新定义0柱面; (3)可以利用高级诊断软件对硬盘重新进行物理格式化、重新分区、作逻辑格式化等办法来重新建立系统;(4)如果0柱面的数据遭受破坏,而不存在盘片缺陷,可以运行NORTON软件中的NDD程序或PCTOOLS中的DISKFIX程序,对错误进行修正。 2.硬盘的引导记录和分区表故障 硬盘的主引导扇区和硬盘中DOS分区的目录表、FAT表等是硬盘最重要的数据,如果这部分信息发生故障或被破坏,将导致硬盘不能正常工作,硬盘中的数据将丢失。我们可以利用各种流行的磁盘工具软件来进行维护和修复。 (1)利用DM和SPEEDSTOR程序: 在磁盘工具DM或SPEEDSTOR中都提供了初始化和重写分区表的功能。因此,用户在每次进行硬盘分区时,一定要记住每个分区的起始柱面和终止柱面,最好是将分区信息保存好。当分区表发生故障或硬盘主引导扇区出问题时,可以初始化硬盘驱动器的0头0柱面1扇区,并且重新建立硬盘分区表(利用DM或SPEEDSTOR的分区功能),从而使硬盘恢复正常的主引导记录和分区表。 需要说明的是,这种作法适用于DOS 3.00以上的版本,这是由于它们的隐含扇区长度是17个扇区(1个柱面);而对于DOS 2.XX版本,由于其硬盘的隐含扇区长度是1个扇区,所以这种作法将会破坏DOS分区的数据。 (2)利用MIRROR/REBUILD程序: 流行的工具软件如PCTOOLS和NORTON也是很好的磁盘故障恢复软件。例如,数据保护工具MIRROR可以用于保护硬盘上的数据,还可以保存硬盘分区表(保存在软盘上)。其操作形式为: MIRROR/PARTN 另外,当硬盘分区表损坏后,可以利用REBUILD程序进行恢复(将软盘上保存的分区表恢复到硬盘上),其恢复的形式为: REBUILD/PARTN 这样,利用MIRROR/REBUILD程序可以使用户能够及时保存和恢复硬盘分区表。