如无法访问主引导区,则显然是硬故障。否则查看引导程序和分区表是否正常(可以反汇编查看指令或与正常的主引导扇区对比),如果发现引导程序异常则可使用杀毒软件清查病毒或恢复主引导区,也可用DEBUG手工恢复主引导区:
(续前,假设已从正常的机器上获得主引导区存为文件mboot.dat)
-n mboot.dat ;读文件mboot.dat
-l 800 ;读至当前段0800处
-m 7be l 40 9be;将原分区表复制到正常的主引导区
-a 100 ;修改第一条指令
XXXX:0100 mov ax,301 ;将0800处数据写回主引导扇
XXXX:0103 mov bx,800 ;
XXXX:0106
-r ip ;修改当前指令指针
IP:010E 0100 ;当前指令指针指向0100
-g ;执行
第三步,在恢复主引导区之后,如果仍然不能正常启动操作系统,但已能够访问C盘,那么我们可以备份重要信息、重装操作系统即可。如果C盘仍然无法访问,则可以断定C盘的引导区(包含磁盘参数表等重要信息)或文件系统(FAT、FDT)已经损坏。这种情况手工修复较为复杂,而且容易产生误操作,利用Norton Disk Doctor或微软的ScanDisk这样的磁盘修复软件是比较合适的。这里我们以DOS版Norton Utility的NDD为例(注意:低版本的NDD在对磁盘进行诊断时可能不能正确诊断Windows95以上的文件系统)予以说明: 在NDD的菜单中选择Options/General确认NDD将进行包括主引导区和CMOS在内的全面检查,然后在主菜单中选择Diagnose Disk对硬盘进行诊断,NDD在发现错误时将会自动报告,并提示错误描述(Description)和推荐意见(Recommendation),可以根据情况选择修复与否。修复时注意保存UNDO磁盘,以便恢复操作之用。在修复过程中,尤其是在表面测试(Surface Test)过程中如果提示读写错误,则说明硬盘存在物理损坏,数据可能会丢失。 在诊断、修复结束后重新启动计算机,若能对C盘进行访问则大功告成,可以通过备份数据、重装操作系统简单地恢复硬盘功能。否则只能进行恢复操作(UNDO),尝试手工或通过其他方法恢复。
3.硬故障的一般处理方法
对于硬故障中的“硬盘丢失”的情况,首先要检查硬盘驱动器与硬盘控制器的连接是否正常;硬盘驱动器电源线连接是否正常;如果存在多个设备则需检查硬盘之间或硬盘与CDROM等等设备之间是否存在冲突;并且检查CMOS中硬盘信息是否正确无误。确认一切正常后若硬盘“出现”,我们就可以按照上述软故障的处理步骤进行诊断处理。如果仍然找不到硬盘,那我们可以采用替换法来进行故障定位,也就是将硬盘驱动器换至另外的运行正常的计算机上来测试其运行能否正常,若能正常运作则说明故障与其无关,数据安然无恙,否则说明硬盘硬件损坏,用户自身是无法修复的。
对于硬盘磁道出现物理损伤的情况(表现为读写硬盘时提示“Sector not found”或“General error in reading drive C”等类似错误信息),首先我们可以利用Norton Disk Doctor或Scandisk等工具软件对硬盘进行表面扫描测试。当只有少数磁道出现坏扇区时,我们在用NDD对硬盘进行修复后仍可以照常使用;当出现大面积的坏区时,或者几乎每道都有坏区时,就有必要考虑舍弃一部分坏扇集中的区域:
案例5:一笔记本电脑在运行中摔落地面,无法正常启动。软盘启动后访问C盘经常出现错误信息“Sector not found”,在抢救了一些数据之后,无法对其进行格式化操作。用NDD对其进行诊断,发现频繁出现坏扇,而且其FAT和FDT中也有相当坏扇存在,尤其在每道的后2/3区域。只得决定放弃2/3的硬盘空间,在CMOS中更改硬盘设定,其他参数不变,每柱面的扇区数更改为21,然后重新分区并使用NDD对其进行表面测试并修复,完毕后格式化C盘,仍能保留1/3空间,安装操作系统后一切正常。
4.其他
对于其他硬盘故障的处理,如文件系统的损坏、文件丢失等等,对一般用户来说,最好使用工具软件进行处置,以避免手工误操作的发生。笔者认为,Norton Utilities for Windows 3.0不失为一个优秀的磁盘工具软件。其主要构件Disk Doctor对磁盘错误的诊断及修复能力在同类产品中称得上首屈一指。