二十七、硬盘引导型故障分析及排除
硬盘引导型故障一般在启动机器时出现,这种故障有可能是系统本身的原因造成的,也可能是由病毒引起的。由病毒引起的故障通过查杀毒就能解决,因此下面就分析病毒以外的故障,供大家参考:
1、HDD controller failure(硬盘驱动器控制失败)
这是启动机器时,由POST程序向驱动器发出寻道命令后,驱动器在规定时间内没有完成操作而产生的超时错误。出现这种错误,有可能你的硬盘已经损坏了。
2、C:drive failure(硬盘C驱动失败)
RUN SETUP UTTLITY(运行设置功能) Press to Resume(按键重新开始) 这种故障一般是因为硬盘的类型设置参数与格式化时所用的参数不符。由于IDE硬盘的设置参数是逻辑参数,所以这种情况多数由软盘启动后,C盘也能够正常读写,只是不能启动。
3、Invalid Drive Specification(无效的驱动器号)
如果一个分区或逻辑驱动器在分区表里的相应表项已不存在,那么对于操作系统来说,该分区或逻辑驱动器也就不存在了,因此这种故障问题一般出在分区表。修复这类故障,最简单的方法是事先做好分区表的备份,比如Pctools9.0、Kv3000等都有这项功能。
4、Error Loading Operation System(调进操作系统错误)
这类故障是在读取分区引导区(BOOT区)出错时提示的。
其原因可能有以下几种:
一是分区表指示的分区起始物理地址不正确。比如由于误操作而把分区表项的起始扇区号(在第三字节)由1改为0,因而INT 13H读盘失败后,即报此错;
二是分区引导扇区所在磁道的磁道标志和扇区ID损坏,找不到指定扇区;
三是驱动器读电路故障。
5、硬盘不能引导系统
如有软驱,则由A驱引导,显示:
DRIVE NOT READY ERROR(设备未准备好)
Insert Boot Diskette in A:(插入引导盘到A驱)
Press any key when ready(准备好后按任意键)
这是由于由硬盘引导系统,就要通过BIOS中INT 19H固定读取硬盘0面0道1扇区,寻找主引导程序和分区表。
INT 19H读取主引导扇区的失败原因有:
第一,硬盘读电路故障,使读操作失败,属硬件故障;
第二,0面0道磁道格式和扇区ID逻辑或物理损坏,找不到指定的扇区;
第三,读盘没有出错,但读出的MBR尾标不为"55AA",系统认为MBR不正确,这是软故障。
6、Non-System Disk or Disk Error Replace And Press any key when ready(非系统盘或磁盘错误,重新换盘后按任意键)
DOS BOOT区中的引导程序执行后发现错误,报此信息。
其可能的原因有:
硬盘根目录区第一扇区地址出界(在540M之后)、读盘出错。这类故障大多为软件故障,如果BPB表损坏,即用软盘启动后,硬盘不能正常读写,可以用NDD修复;如果BPB表完好,只需简单的SYS C:传送系统就可引导。
7、NO ROM BASIC(没有固化BASIC) SYSTEM HALT(系统停机)
这种错误在486及以前的机器上常常出现,是相当古老的机器才会出现的提示。主引导程序的作用,就是在分区表的四个表项中找出一个激活分区(可自举分区)。如果四个表项中没有一个是激活分区,系统就不知从何处引导操作系统,只能执行INT188H,调用固化BASIC程序,如果没有固化BASIC,就会引起死机。所以最简单的修复方法,就是用FDISK在硬盘上设置一个活动分区。
8、显示出"Starting Windows…",然后死机
一般来说,这是由于CONFIG.SYS和AUTOEXC.BAT中的可执行文件本身已经损坏,使得系统在执行到此文件时死机。这个故障非常简单,但因为没有什么故障信息,一般人很容易出现误判。当出现这种现象,并且确信系统文件是完好的,就可以取掉这两个文件,或者在屏幕上出现以上信息时,快速按下F8键,然后选择单步执行,找出已经损坏的文件。
9、Invalid Partition table(无效的分区表)
在找到激活分区后,主引导程序还将判断余下的三个表项的"分区引导标志"字节(首字节)是否均为0,即确认是否只有唯一的激活分区,如果有一个不为0,系统就报错并死机。
10、Invalid Media Type Reading Drive X(X驱动器介质类型无效)
Abort, Retry,Fail? 这条信息是针对DOS BOOT区中无效的BPB表而提示的。BPB表是DOS读写硬盘所用的逻辑地址换算成物理地址的桥梁,BPB表损坏,会使DOS对磁盘的操作无从谈起。
11、HDC controller fail(硬盘控制器控制失败)
这类故障是硬件故障,POST程序向控制器发出复位命令后,在规定的时间内没有得到控制器的中断响应,可能是控制器损坏或电缆没接好,另外,控制器控制失败与硬盘参数设置是否正确也有关。
二十八、用DEBUG修复硬盘不启动故障
前几天一个朋友拿来一块硬盘,告诉我说这块硬盘突然不能启动了,让我帮忙检查一下,我拿过硬盘看了一下,是一块昆腾15G的硬盘,用了还不到一年(因为不是在本地买的,要找到经销商很麻烦),把坏硬盘接到我的电脑上,在BIOS中可以检测到这块硬盘,但是启动到“Verifying DMI Data"时,硬盘灯长亮,系统却不动了。拔下原先电脑上的硬盘,把这块坏硬盘单独接到主盘上,用软盘启动,仍然是启动到“Verifying DMI Data"时就没有了响应,看来问题并不简单。
由于这块硬盘在出问题之前一直工作都很正常,从未发现过任何坏道,而且朋友用电脑一向很小心,也没有让硬盘受过什么碰撞,看来应该不是硬故障,估计是因为使用不当所造成的死锁,一般进行低格就可以解决问题了。但是现在也有一个问题,就是只要把这块坏硬盘接到电脑上,无论是接到主盘还是从盘上,那么不管是从硬盘还是从软件盘,都无法启动系统,这样所有的低格软件都无法使用了。尽管也可以先启动系统后再接上坏硬盘,但是这样热拔插有可能会造成硬盘或其它设备的损坏,还是不用为好。看来只能找一块主板BIOS中带有低格功能的电脑来对它进行低格了,而手边一时又找不到这样的电脑,我一下子陷入了困境。
正在我在这此烦恼时,我突然想到了几年前的KV300逻辑锁事件,当年KV300逻辑锁也是这样对硬盘进行了死锁,后来有人想出了对硬盘的主引导扇区清零的方法来恢复对硬盘的引导,故障的现象也和这块硬盘一模一样,幸好我还记得这种方法,为什么不用这种方法来试一下呢?
于是取下了那块坏硬盘,把我原先用的硬盘接了上去,重新开机后,启动到DOS实模式下,然后执行DEBUG命令 C:\windows\command\DEBUG(可能有些朋友对它不很熟悉,想当年我在上大学时它可是计算机专业的必修课),此时在软驱中插入一张空白的软盘,然后在DEBUG的软件环境中键入以下字符: -A 0100 XXXX:0100 XOR AX,AX XXXX:0102 PUSH AX XXXX:0103 POP DS XXXX:0104 PUSH AX XXXX:0105 POP ES XXXX:0106 MOV CX,100 XXXX:0109 MOV BX,7C00 XXXX:010C MOV WORD PTR [BX],00 XXXX:0110 INC BX XXXX:0111 INC BX XXXX:0112 LOOP 10C XXXX:0114 MOV AX,0301 XXXX:0117 MOV CX,0001 XXXX:011A MOV DX,80 XXXX:011D MOV BX,7C00 XXXX:0120 INT 13 XXXX:0122 JMP FFFF:0000 XXXX:0127 -W 100 0 0 1 -Q 此时,系统会在这张空白软盘上写入一段特殊的引导信息,这样这张特殊的引导盘就做好了。
最后关闭电脑,换上那块坏硬盘,并把它接到主盘上,重新在BIOS中设置硬盘的所有参数,并把系统设为从A盘启动,然后重新启动电脑,并把那张特殊的引导盘插入软驱,大约10秒钟后,电脑自动的重新启动,此时我将那张特殊的引导盘取出,插入WIN98的启动盘,1分钟后,系统顺利的启动了,熟悉的DOS提示符又出现在眼前,然后重新对硬盘分区,重装WIN98,至此硬盘的故障全部排除。