1、细节入手挖根源 计算机无法正常启动故障排除本文来源:计算机论坛 转载请注明出处在细节入手查故障根源 计算机启动过程全面分析这篇文章中,笔者详细为大家介绍了计算机不能正常启动的各种解决方法,其它除了前面介绍的几种情况以外,造成您的爱机无法正常启动的故障还有如下几种。一、主机正常加电,并且能够通过自检,但是不能进入正常 WINDOWS桌面操作上面的故障都是与硬件故障有关的问题,需要采用排除法和替换法来进行判断,有时还需要使用专门的工具。下面就是与软件安装和人为的错误设置有关的故障。1、网络启动2、软驱中放置有软盘或光驱中放置有启动光盘多数客户打电话报修自己的电脑进不了桌面了,满屏都是英文母时,自
2、己根本没有检查电脑的启动顺序是否改变了,或者自己的光驱中放置有启动光盘,软驱中有软盘。计算机自检完成后,检验 DMI数据和更新 ESCD数据,然后就按 CMOS中设置的启动顺序开始启动相关的驱动器完成系统的启动过程。一般情况下,PCI 插槽中插装的板卡,像网卡,SCSI 卡等的启动优先于硬盘,光驱,软驱等。当我们安装了网卡时,即使我们的网卡没有插接启动 Rom,在我们没有设置(SHIFT+F10)屏蔽网卡启动时,计算机在完成 ESCD数据更新后,就会开始网卡启动电脑,之后才是软硬光。3、硬盘主引导区没有设置活动分区或引导程序被病毒改写,活动分区的引导区被病毒改写,引导文件丢失等,都会导致系统无
3、法完成从硬盘的启动过程。特别是在 WIN98时代的硬盘逻辑锁病毒,当我们的硬盘被锁时,当计算机启动到读取硬盘 MBR信息时,系统就会长时间没有反应,只有光标在闪烁。不过,如果是一块新硬盘,什么系统也没有安装时,就会出现下面的提示信息。对于一些使用过还原精灵软件或还原卡的硬盘,我们能够对硬盘进行分区,格式化,但是重新启动电脑后就恢复原状态;或者是还原精灵密码丢失,我们无法正常卸载还原精灵;甚至是我们对硬盘低格后,虽然能够安装系统,但是无法从硬盘自举,检查激活分区,系统分区都正常。对于此类故障,其原因就是硬盘主引导区(MBR)的引导程序代码没有被更新,仍然是被还原精灵软件所控制,这时我们只要从光盘
4、引导启动系统,使用”FDISK/MBR”命令就可以解决此类问题。4、WINDOWS98 启动过程简介及故障分析1)系统读取硬盘的 MBR扇区内容,并分析执行程序代码,根据分区表中活动主分区的设置进行系统引导。2)接下来概所设置的活动主分区,读取当前活动主分区的引导扇区的内容,并移交系统控制权。接下来活动主分区的程序代码分析当前磁盘的分区参数表,并根据磁盘参数表读写该分区。如果我们误使用 GHOST恢复硬盘或者病毒或人为的误写硬盘的引导区内容,这时我们再次启动电脑时就会出现如下的提示信息。3)系统根据引导扇区中的设置,在 C盘的根目录下面寻找 IO.SYS文件,并把其加载到内存,移交系统控制权。
5、如果 IO.SYS文件丢失,就会出现如下的提示信息。4)系统接下来查找 MSDOS.SYS文件,并根据其中配置确定系统的启动方式。不过,如果 MSDOS文件丢失或损坏的话,系统仍然能够正常进入 DOS字符操作界面,只是不能进入图形操作界面。当因为我们误删除 IO.SYS文件或其他原因造成的系统不能启动,需要使用 SYS命令传送系统文件时,一定要先把 MSDOS.SYS文件进行备份,然后再传送系统文件。等系统文件传送后再把备份的 MSDOS.SYS文件恢复,这是因为光盘和软盘中的 MSDOS.SYS文件为空,不需要其配置信息,所以直接使用传送的 MSDOS.SYS文件无法正常启动到图形界面。5)
6、如果 BOOTMENU中设置启动方式 1,则系统开始 WINDOWS图像界面系统的启动工作。如果设置为其他启动方式,则按相关配置启动电脑。6)当计算机按“Normal”方式启动电脑时,系统会首先加载注册表 SYSTEM.DAT和USER.DAT文件,并根据注册表中的相关系统配置信息内容,加载相应的程序。如果注册表SYSTEM.DAT系统配置文件丢失或损毁(先自动查找 SYSTEM和 USER的备份文件),则系统会自动跳转到 DOS启动方式。但是注册表 USER.DAT用户配置文件丢失或损毁时,不影响系统的正常启动,只是无法按原有用户的配置信息启动,会自动启动到默认用户的操作界面。7)紧跟着系统
7、加载 CONFIG.SYS文件,这时 DOS字符操作驱动程序加载文件,对于WINDOWS图形操作界面用处不大。但是对于在 WIN98下不能识别光驱之类的故障,可以在此加载光驱的 DOS驱动程序,然后在“我的电脑”中就可以找到光驱了。8)接下来系统加载内存管理程序 HIMEM.SYS文件。如果该文件丢失或损毁时,系统将无法正常启动,会出现如下的提示信息,然后系统挂起。9)再接下来,系统继续加载 DBLBUFF.SYS和 IFSHLP.SYS文件及 AUTOEXEC.BAT文件。ATUOEXEC.BAT文件也是 DOS下使用的,但对于 WIN98也适用,部分应用程序会在该批处理文件中预加载相应的配
8、置信息。10)系统的工作环境配置信息加载完成后,就开始加载 WIN.COM文件,准备启动图形界面。如果 WIN.COM文件丢失,系统会给出如下的提示信息后,自动进入 DOS字符操作界面。11)接下来系统会根据 WIN.INI和 SYSTEM.INI文件中的配置加载相关的基本虚拟驱动程序。由上图可以看出,一些与系统结合紧密的应用程序,如诺顿杀毒软件,WIN98 中读取NTFS分区的软件,都直接在 SYSTEM.INI中加载,而不是在进入桌面后的“程序-启动”中加载了。12)最后,系统完成所有系统程序的加载,出现桌面,开始应用程序的加载,完成启动过程。5、WINDOWS2K 或 XP启动过程简介及
9、故障分析1)读取硬盘中的 0道 0面 0区(即 MBR主引导区)的内容,执行前 446个程序代码,分析并检测当前分区表的完好性和可用性,再根据 MBR中的分区表信息内容,寻找到当前可引导活动分区,准备加载当前活动分区的引导扇区内容。2)加载主活动分区的引导扇区内容,对于 FAT32格式的分区为前 3个扇区,对于 NTFS则为前 6个扇区内容。引导扇区的程序代码(BPB 表)的作用是向 Windows 2000提供磁盘驱动器(硬盘)的结构和格式信息,并且从磁盘根目录中读取 Ntldr文件。当引导程序将 Ntldr加载到内存后,就把系统控制权移交给 Ntldr。如果引导扇区代码在根目录中没有找到
10、Ntldr文件的话,若文件系统为 FAT格式,则显示:“Boot:无法找到 Ntldr”;若引导文件系统是 NTFS格式,则显示:“NTLDR 丢失”。4)然后 Ntldr根据内建的文件系统代码从根目录读取 boot.ini文件(Ntldr 内建代码与引导扇区文件系统代码不同的是,Ntldr 文件系统代码可以读取子目录)。5)接着,Ntldr 清除屏幕,如果 boot.ini中有多种引导选项,则显示引导选择菜单;如果在 boot.ini制定的超时范围内未有任何动作的话,Ntldr 会根据默认选项启动电脑。在系统盘的根目录下面有一个 BOOTFONT.BIN文件,该文件是 WIN2K中文版启动时
11、显示菜单所需要中文字库文件。当该文件丢失或损毁时不影响系统的正常启动,只不过启动菜单变成了英文。6)引导选项确定后,Ntldr 加载和执行 N(这是一个使用系统 bios进行查询计算机基本设备和设置信息的 16位实模式程序)。接着 Ntldr开始清除屏幕并显示:“Starting Windows”进度栏。这个进度栏保持空白,直到 Ntldr开始加载引导驱动程序(假如有 100个引导驱动程序,则每加载一个文件,进度条增加 1%)。在进度条的下面是信息:“For troubleshooting and advanced startup options for windows 2000 , pres
12、s F8 .”如果此时按下 F8键,会出现高级启动菜单,包括:已知的最近正确模式(last known good),安全模式(safe mode),调试模式(debug mode)等等。7)Ntldr 加载合适的内核和 HAL映像文件(缺省为 Ntoskrnl.exe和 HAL.dll),读入SYSTEM注册表 hive文件(hive 文件是一种包含注册表子树的文件)以确定该加载哪些引导驱动程序,加载引导驱动程序,为 Ntoskrnl.exe的执行准备 CPU寄存器。Ntoskrnl.exe 文件在 WINXP系统中存储了 WIN XP的启动 LOGO画面,在 WIN 2K中即使没有此文件也不
13、影响系统的正常启动。我在做试验中,把该文件删除后,系统仍然能够正常启动,只有 Kaspersky Anti-Virus在启动时出现错误,没有加载成功。8)之后,Ntldr 调用 Ntoskrnl.exe并由它开始初始化执行程序子系统并引导系统-启动(system-start)设备驱动程序,在一系列的初始化工作完成后 Ntoskrnl.exe为系统本机应用程序作准备并运行 smss.exe。如果 SMSS文件丢失或损毁,系统在完成硬件的检测和虚拟驱动的加载后,就会出现如下图所示蓝屏现象。9)Smss 的主要任务是:初始化注册表,创建系统环境变量,加载 Win32子系统(Win32k.sys)的内
14、核模式部分,启动子系统进程 Csrss,启动登陆进程 Winlogon。如果 CSRSS.EXE文件丢失,则当滚动条走到头时直接黑屏重启;如果 WINLOGON.EXE文件丢失或损毁时,故障类似于 CSRSS文件丢失,只不过是当蓝色背景出现的计算机马上重启。10)然后 Winlogon开始执行其启动步骤,如创建初始的窗口和桌面对象等,并加载设备驱动程序和本机安全验证子系统(Lsass)进程(Winntsystem32Lsass.exe)。11)接着创建服务控制管理器(SCM)进程(WinntSystem32Services.exe),它加载所有的标记为自动启动(auto-start)的服务程序
15、。如果 SERVICE.EXE文件丢失,系统则长时间停滞在登录窗口处,无法继续。11)当一切加载成功且用户在控制台成功登陆后,SCM 则认为系统引导成功,便放弃注册表中已知最近正确配置(HKLMSYSTEMselectLastKnownGood),而改由CurrentControlSet替代;如果用户在引导的时候选择高级菜单中的已知最近正确模式(LastKnownGood)或者加载时驱动程序返回一个严重的或者关键的错误,系统会以LastKnownGood的值作为 CurrentControlSet 的值。如果 SVCHOST.EXE文件丢失或损毁,系统仍然能够正常加载并登录成功,只是登录时间稍
16、微长一些,并且当我们操作电脑时,经常出现错误提示。最后显示登录界面,完成系统启动过程,这时我们就看到了熟悉的桌面。至此,Windows 2000的引导过程结束。6、其他方面故障1)系统在安装过程中,到硬件设备检测时死机,其原因是主机 CMOS设置中的病毒检测开关打开,在系统安装中需要向硬盘的引导区写入相关信息,而此时主板系统误认为是病毒破坏,强行终止该操作,造成系统安装中断而死机。2)系统在安装 WIN98或 XP时基本正常,但安装完毕后,进入欢迎界面时死机,重新启动仍然如此。故障原因:当主机的 CMOS电池失效后,时间将恢复到 1990年的日期,这时对于 WIN98和 2K,XP 系统在进入系统时,会检查日期的有效性。对于在系统出版之前就可以安装的无效日期,系统当然要死机了。3)一些编译不完善的应用程序,在卸载后没有完全清除注册表中的相关程序加载内容。当卸载后再次启动电脑时会因为系统找不到相关的启动文件而出现在启动过程中中止,系统提示相关文件丢失。由于大部分电脑操作者不熟悉这些提示,就会误认为电脑无法启动。4)因为客户的不正常关机,同时现在的 C盘空间多为 8G、10G,造成 XP系统启动后需要长时间扫描硬盘,而系统给用户的信息提示界面又为英文,所以也会使人误认为系统无法正常启动。