硬盘软故障的维修方法
实际上,大量的硬盘故障属于软故障,这些故障也占了电脑故障的很大比例,而这些故障用户是可以自己解决的,下面,我们主要针对一些经常发生的软故障现象,讲述它们的维修技巧。
一、硬盘自举失败的维修
实际应用中,硬盘的自举失败是很常见的,硬盘自举失败一般有如下的故障现象:
显示“BASIC…OK”,进入ROM BASIC。
显示“Invalid partition Table”,无效分区表。
显示“Error loading operating system”,读引导记录失败并进入死循环。
显示“Operating system missing operating system”没有操作系统。
显示“NOn—System disk or disk error”
“Replace and strike any key when ready”,读引导程序错误。
显示“Disk boot failure”,磁盘启动失败陷入死循环。
显示“Bad or missing command interpreter”,COM-MAND.COM没有或被破坏。
1.与硬盘启动有关的引导模块及其引导过程
硬盘自举引导是由硬盘ROM BIOS、硬盘主引导记录、DOS引导记录和系统文件完成的。ROM BIOS,共8K字节,提供自检、自举能力及建立硬盘I/O等一系列操作,所含的硬盘自举引导模块是中断例行程序INT19H;硬盘主引导记录位于0柱0 头1扇区(物理扇区),排在逻辑0扇区之前,包括硬盘自举引导程序和分区信息表,扇区的最后两个字节为“55A”,是隐含扇区,用DEBUG命令或DOS 功能调用INT 21H均无法读写,通常用ROM BIOS提供的硬盘中断服务程序INT13H进行绝对读写,DOS分区引导记录位于硬盘0柱0头2扇区(物理扇区,整个硬盘划归DOS分区时),也即逻辑 0扇区,结束标志也是“55AA”。
系统加电时,电脑的执行流程如下:
CPU进入复位状态井强置CS:IP=FFF:0000H,即由该地址取得第一条指令(跳转指令)。
系统转移到ROM BIOS程序区,执行自检程序,若自检成功,则发指令INT19H进行系统引导,否则揭示错误信息并进入死循环。
INT19H首先试图复位软盘系统,若成功,则读软盘第1扇的DOS引导记录到起始地址为0000:7C00H的内存单元执行,继而进入DOS,否则复位硬盘系统。
成功则读硬盘主引导记录到起始地址为0000:7C00H的内存单元,并执行主引导程序,若复位失败,读主引导记录时出错或硬盘物理第1扇最后两个字节不是“55AA”,均显示:
“BASIC…OK”转入ROM BASIC。
硬盘主引导程序的主要功能是找出当前的活动分区,即查看分区信息表中4个分区引导标志,当DOS分区的引导标志为80H,而其他分区为00H,就将DOS引导记录读到内存0000:7C00H处。
若4个分区均没有引导标志(80H),则发INT18指令,进入ROM BASIC;
若引导标志(80H)多于1个或某分区为引导标志既非80H,又非00H,则显示“Invalid partition table”并进入死循环。
找到活动分区后,主引导记录程序试图将DOS引导记录读到内存0000:7C00H处,若读失败,则显示:“Error LoadongSystem”并进入死循环。
读成功则检查DOS引导扇区最后两个字节是否为“55AA”,正确则跳转0000:7C00H执行刚读入的DOS引导程序,若否,则显示:
“Missing operating system”并进入死循环。
引导程序以AH= OINT13H指令复位磁盘系统,若失败,则显示:
“Non—system disk or disk error”
“Replace and strike any key when ready”
等待键盘输入,以转向INT19H进行重新引导。
若成功,则计算文件目录区以及文件数据区的起始位扇区号,并读根目录第1扇到0050:007H处,若读失败,则显示上一错误信息。
若正确则读“IBMBIO.COM”文件到内存。若读错误,则显示:
“Disk boot failure”陷入死循环。
若读成功,则由IBMBIO.COM,IBMDOS.COM和COMMAND.COM三个系统文件继续进行DOS的安装,在这期间若找不到COMMAND.COM或该文件已损坏,则显示“Bod or missing command interpreter”。
否则正常引导,直到出现系统提示符,等待用户键入DOS命令。
至此,系统进入DOS工作状态。
2.硬盘自举失败的修复
若硬盘设备正常,硬盘自举失败与硬盘主引导模块、DOS引导模块和系统文件密切相关。譬如开机进入ROM BASIC很可能是硬盘主引导记录损坏;而引导失败揭示错误信息时,则与分区信息表、DOS引导记录和系统文件的损坏或丢失有关。对于不同的错误信息,应该找出其症结所在,继而采取与之相应的修复手法,现分述如下:
(1)修复硬盘的主引导记录
采用硬盘主引导模块的通用性,由另一台正常且硬盘分区情况相同的微机上获取该模块,然后将之写回发生故障的硬盘,此法简单快捷,即使对主引导块结构了解甚浅,操作起来也不感到困难,步骤如下:
①启动正常的微机,并在驱动器A置一已格式化的空盘,键入以下语句序列:
C>DEBUG
—A 100
????:0100 MOV AX,0201;读1个扇区
????:0103 MOV BX,1000;置缓冲区CS:1000
????:0106 MOV CX,0001;读0柱第1扇
????:0109 MOV DX,0080;硬盘0号磁头
????:010C INT 13;硬盘I/O中断
????:010E INT 20;程序终结。
????:0110
—G=100
—W 1000 0 50 1
至此,已得到完好的硬盘主引导块并写在软盘逻辑50H扇区。
②以DOS软盘启动出现故障的微机,进入DEBUG后在驱动器A置入上述软盘,在DEBUG状态键入语句序列:
—L 1000 0 501
—A 100
????:0100 MOV AX,0301:写1个扇区
????:0103 MOV BX,1000
????:0106 MOV DX,0001
????:0109 MOV DX,0080
????:010C INT 13
????:010E INT 20
????:0110
—G=100
至此,硬盘主引导记录修复完毕。
(2)修复硬盘DOS引导记录
修复方法可参照上例,以选取DOS版本及硬盘类型相同的微机为宜。
①启动正常的微机,并在驱动器A置一已格式化的空盘,键入以下语句序列:
C>DEBUG
—L 100 2 01
—W 100 0 501
至此,已取得完好的硬盘DOS引导块并写在软盘逻辑50H扇区。
②以DOS软盘启动出现故障的微机,进入DEBUG后在驱动器A置入上述软盘在DEBUG状态下键入语句序列:
—L 100 0 501
—W 100 2 01
至此,硬盘DOS引导记录修复完毕
(3)修复系统文件
系统文件是系统引导模块的重要组成部分,若IBMBIO.COM或IBMDOS.COM损坏或被误删,可用DOS命令 SYS进行恢复,即以DOS软盘引导系统,执行SYS C:命令,若响应“System transferred”表示已将两个系统隐含文件传送到硬盘,若响应“NO ROOM FOR SYSTEM ON DESTIN- STION DISK”,表示传送失败,原因是IBMBIO.COM必须分别占用根目录第一和第二个目录项,且需要硬盘数据区前端连续的存贮空间,而这些条件已被其他的文件破坏。解决的方法是借助PCTOOLSCT的MAP FLLES功能观察磁盘映象图,找出嫌疑文件并将其删除,直至SYS告诉你SYS-TEM TRANSFERRED为止。
值得一提的是,SYS命令并不将COMMAND.COM送到硬盘,若要恢复之,可用COPY命令。即执行“COPY A:\COMMAND.COM C:\”
(4)硬盘的格式化
在已尽努力然而修复尝试均告失败的情况下,最后的办法是将硬盘重新格式化,完整的硬盘格式化共分为三步,即初始化(低级格式化)、建立分区(FDISK)和格式化(FOR- MAT C:/S)。有关硬盘格式化的操作我们在下面专门讨论。
二、硬盘使用时出现读写错误的维修
1.硬盘不能读写文件
硬盘驱动器经过一段时间的使用,突然不能调用某些文件了。
造成这种故障的原因有如下两点:一是盘内信息在使用了一段时间后自然丢失;二是用户使用硬盘不当,造成盘内信息人为地丢失。如正当磁头进行读、写操作时突然掉电或关机;再如磁头工作时,盘体受到较大振动,是磁头和盘片之间发生碰撞,导致盘片的用户区数据或磁道受到损坏。
对这种故障排除的方法是,调用系统文件FORMAT.COM重新对硬盘进行格式化,然后再把备份的文件重新拷贝到硬盘。此时如用CHKDSK系统文件检查,可能会在屏幕上显示XXXXKB BAD SECTORS。
2.硬盘不能启动
硬盘驱动器经过一段时间的正常使用后,突然不能引导出操作系统,如调用C盘则屏幕显示“Invalid drive specifica- tion”,显示调用了无效的驱动器。
引起这种故障的可能性是多方面的,其中主要包括软故障。00磁道出现软故障是导致上述故障的主要原因之一,这里从软件维修的角度介绍00磁道的情况和维修方法。
在00磁道上有系统文件和硬盘自举程序,同时00磁道又是磁头寻找其他磁道的基准点。因此,00磁道的好坏和00磁道上信息的好坏直接影响硬盘驱动器能否正常工作。如果使用不当或某种意外的原因破坏了写在00磁道上的文件,那么,开机以后,C盘就无法引导操作系统,甚至发生磁头根本无法寻道进行文件读写。此时C盘就像未经格式化似的,因此当用户调用C盘时,屏幕就显示“无效的驱动器指示”。排除这种故障的方法是重新对C盘进行物理格式化、重新进行操作系统分区和重新对DOS区域进行格式化并拷入系统文件。
因为硬盘有两个引导记录(假定硬盘被分为一个分区),一个是主引导记录,一个是分区引导记录。主引导记录的清除和重新写入可以使用物理格式化(低级格式化)程序(LOW—FORM.EXE、DTCFMT.EXE),因而前面所述排除故障的过程中,首先使用了物理格式化。第二步是使用 DISK.COM对硬盘进行分区并把分区信息登记在主引导扇区中,但它并不改变主引导记录的执行代码。第三步使用FORMAT.COM对DOS 区域进行格式化,由于主引导记录不属于任何分区,因而FORMAT.COM程序不能清除主引导扇区中的任何信息。在上述三个步骤完成以后,再将操作系统的系统文件写入硬盘,至此,重新生成硬盘的工作才算完成,这时,硬盘驱动器已经具备了自举的能力,可以使用了。
当用软盘驱动器A引导操作系统以后, 可以显示硬磁盘中的文件目录,但不能从硬盘驱动器引导操作系统。
出现这种情况一般是由于系统文件没有写好或损坏。操作系统文件一共有三个部分组成,即两个隐含文件和一个COMMAND.COM文件。两个隐含文件是写在00道上的,一旦出现故障,则主机不能引导操作系统。
排除故障的方法是,使用FORMATC:/S/V命令重新对硬盘进行一次格式化,然后把备份的用户文件拷贝回硬盘即可恢复使用。