DOS启动失败原因剖析

🏠 首页 《无线电》杂志 1997年 🔗 第2期 🔗 第27页 分类:无线电技术自学经验交流 🔗 李伟 🔗

本文以较低版本的MS DOS 3.30为例谈谈PC机上DOS不能正常启动的原因及对策。希望读者能够举一反三,应用于各种版本的DOS系统。

根据实际经验,掌握好DOS的组成和启动流程等基本理论对解决DOS启动失败故障是至关重要的。所以下面先介绍DOS的组成及启动流程。

PC DOS的核心由一个引导程序和三个系统文件组成,它们分别是:

·引导程序BOOT

·输入输出系统

·文件系统 IBMDOS.COM(MS DOS为MS-DOS.SYS)

·命令处理程序COMMAND.COM

引导程序存放在磁盘的0面0磁道1扇区,其作用是在计算机启动时将输入输出系统模块和文件系统模块装入内存。

输入输出系统由固化在ROM内的基本输入输出系统ROM-BIOS和存放在磁盘上的IBMBIO.COM(MSDOS为IO.SYS)两部分组成,其作用是处理DOS的基本输入输出请求。文件系统用于提供DOS的文件管理和一系列可用程序调用的服务功能。这两个文件都是隐含文件,位于磁盘数据区的开始部分,用DIR命令列磁盘目录时看不到它们。

命令处理程序COMMAND.COM能够接受并解释执行用户通过键盘输入的各种命令,又称命令处理器,它是直接同用户打交道的。

所谓启动又叫引导,就是把磁盘上的DOS系统文件调入并使之驻留在计算机的内存之中。微机既可以用软盘启动,也可以用硬盘后动。若用软盘启动,则必须将软盘插入A驱动器内。

启动的方法有两种:冷启与热启动。冷启动又叫开机启动,即打开主机电源开关使主机加电的启动方式,每次打开主机,系统就自动进入冷启动过程。因为在启动之前机器尚未加电工作,各部件均未发热,故称为“冷启动”;热启动是在主机已工作的情况下,同时按下CTRL-ALT-DEL三个键使系统重新启动的过程,因为它是在微机已经加电并运行了一段时间后各部件都已发热的情况下启动的,故称为“热启动”

DOS的启动流程是:

ROM BIOS→BOOT→IBMBIO.COM→IBM-DOS.COM→COMMAND.COM

可见,DOS的启动是从引导程序BOOT在BIOS自举过程中装入内存开始,到IBMBIO.COM(或IO.SYS)、IBMDOS.COM(或MSDOS.SYS)和COMMAND.COM依次被定位装入内存为止(如有自动执行批处理文件AUTOEXEC.BAT,则执行该文件)。启动成功的标志是出现系统提示符“A:>”或“C:>”。

启动过程中,如果任何一步出现问题都可能导致引导失败,下面举例说明。

一、ROM-BIOS故障

ROM-BIOS是系统的基本输入输出程序,是微机工作的基础,固化在ROM芯片内,共8K字节,提供自检、自举能力及建立磁盘I/O等一系列操作,一般极少出现故障。若是ROM芯片出了故障,整台机器将完全失去工作能力,应将微机送有关维修部门。

二、引导程序BOOT故障

DOS的引导程序是在磁盘格式化时写在软盘或硬盘的相对0扇区的,它的作用是首先检查驱动器A或C里是否有系统盘,若有,则引导DOS进入内存,否则给出出错信息并进入ROM-BASIC。

软盘上的引导程序只有一个,而硬盘上的引导程序则有两个:主引导程序和分区引导程序。一个硬盘只有一个主引导程序,它是在硬盘低级格式化时写在0柱0面1扇区的。该扇区称为主引导扇区,除主引导程序外,该扇区还存放有一张分区信息表。DOS分区的引导程序放在DOS分区的相对0扇区内,主引导程序用于管理整个硬盘,其功能是寻找一个活动的系统分区,将其引导程序读入0:7C00处并转去执行该分区引导程序。

若主引导扇区或分区引导程序被破坏,则可能有以下几种表现:

例1.用硬盘启动时,显示Error Liading Operating System

原因:分区引导信息被破坏或引导扇区有物理损伤。

微机启动时,如果主引导程序读出成功而分区引导程序不能正确读出,就会产生此类故障。

解决办法:备份硬盘数据,用与硬盘同版本的系统软盘启动后执行高级格式化。若不成功则进行低级格式化LOWFORM,分区FDISK,高级格式化FORMAT等一系列操作。

例2.用硬盘启动时,直接进入ROM-BASIC状态;用软盘启动后,系统不认硬盘,打入C:回车后,显示:

Invalid drive specification

原因:主引导扇区内容无法正确读出所致,多数情况系病毒破坏引起。

解决办法:将备份的硬盘主引导扇区内容重新拷回;若无效或没有备份主引扇区内容,则需进行LOW-FORM,FDISK,FORMAT系列操作。为防止病毒破坏,建议平时备份正确的主引导扇区内容,以防不测。

若上述操作无效,则可能是主引导扇区有物理损伤,此时可以用FDISK命令删除原有分区,重新建立DOS分区,改变分区的起点和大小,以避开损坏的磁道,然后执行FORMAT即可。

在286以上档次的微机中,这类故障的另一个可能的原因是微机的CMOS中的硬盘类型参数设置错误,导致系统不能使用硬盘,这时重新启动,只要在启动过程按Ctrl-Alt-Esc或打Del键进入SETUP程序重新设置CMOS硬盘类型参数即可。

例3.显示:Missing Operating System

原因:分区引导程序错。

分区引导程序的最后两字节为55AA,它是分区信息有效的结束标志,微机启动时,如果读不到分区有效结束标志,就会出现这类故障。

解决办法:备份硬盘数据,用与硬盘同版本的系统软盘启动后执行高级格式化。若不成功则进行低级格式化LOWFORM,分区FDISK,高级格式化FORMAT等一系列操作。

例4.显示: Invalid Partition table

原因:硬盘分区表错,DOS启动过程中不能读硬盘,一般系病毒破坏所致。

若分区表里有一个以上的激活分区时,也会出现这种现象。

解决办法:重新引导DOS,用FDISK命令修正分区表。

三、IBMBIO.COM和IBMDOS.COM故障

若引导过程中屏幕上出现:

Non-system Disk or Disk Error

Replace and strike any key when ready或Disk Boot Failure,

一般都是由于这两个模块引起的。前者是因为找不到这两个隐含文件,后者是因为不能正确读出隐含文件内容。

若是用软盘引导时出现上述信息,则可以用另一张完好的系统盘重新启动。若是在硬盘启动过程中出现上述信息,可先用完好无毒且与硬盘同版本的系统盘启动微机,然后用SYSC:命令将两上隐含文件传送到硬盘上即可。

四、COMMAND.COM故障

例1.启动时显示:Bad or Miss Command Interpreter

原因:当前盘的根目录下没有COMMAND.COM文件或COMMAND.COM内容被损坏。

解决办法:用正确的系统盘启动后重新拷回一个COMMAND.COM即可。

例2.启动时显示:Incorrect Dos Version

原因:两个隐含文件IBMBIO.COM和IBM-DOS.COM与COMMAND.COM的版本不一致。

解决办法:用版本相同的DOS软盘启动,然后将COMMAND.COM文件拷入磁盘即可。

例3.开机后自检正常,有读盘动作,但不久即死锁,屏幕上只有一个闪动的光标。

若COMMAND.COM文件被破坏或被病毒感染,就会出现这种情况。当然其它原因也可能引起这类故障。此时,用完好的系统盘启动机器,将正确的COM-MAND.COM文件拷回磁盘即可。

实际上,引起DOS启动失败的原因是多方面的,既可能是硬件故障,也可能是软件故障,或两者兼而有之。本文主要从DOS的组成和启动过程出发来探讨有关启动失败的原因,而不过多地涉及硬件方面的问题。(李伟)