windows 启动过程及故障分析
从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:
1. 预引导(Pre-Boot)阶段;
2. 引导阶段;
3. 加载内核阶段;
4. 初始化内核阶段;
5. 登陆。
每个启动阶段的详细介绍
启动过程
#1 windows 2K/NT/Xp的启动过程及故障分析(ZT)
1,[预启动阶段:]
1>,post过程-开机自检:这是每个计算机的电源接通之后,必须要做的第一件事情.post将检查硬件,是否有内存,是否有键盘以及scsi卡等等.虽然这是一个核操作系统无关的过程,但是他却是保证系统正常启动的第一个步骤.
2>,一旦自检完成,计算即将查找启动设备,并将MBR-main boot record(主引导纪录)调入内存.
典型故障:开机以后蓝屏,"operating system not found",提示"invalid partition table"
这些错误信息的出现是因为Mbr遭到破坏;
解决办法:用系统启动盘(软盘或者安装光盘)启动计算机,然后执行下面的命令:
Fdisk.exe /mbr
Fdisk /mbr这个命令可以在硬盘上无条件地写入主引导程序和分区表,并且不对dos引导扇区-Dbr-dos boot record,文件分配表和目录区进行初始化;也就是说,执行fdisk/mbr后,可在不破坏硬盘上原有数据信息的情况下,重建主引导程序和分区表;他对单纯感染嵌入式引导区病毒的硬盘,可以起到清除病毒的作用;
Fdisk是ms-dos,windows 95/98/me中的标准命令,windows NT/2k/XP用户,可以采用下面的办法修复主引导纪录:
启动系统故障恢复控制台,在命令提示符下面输入fixmbr,在出现警告信息的时候按Y键,最后输入exit退出故障回复控制台;
3>,计算即将查找活动分区,引导扇区,并将其装入内存;
4>,开始调用Ntldr,Ntldr是系统加载器,他是第二阶段的关键部分;
Plus:Mbr,或者说master boot record的缩写,中文意思就是主引导纪录,硬盘的0磁道第一扇区称为MBR,他的大小是512字节,而这个区域可以分为两个部分:i,pre-boot区(预启动区),占446字节:ii,第二部分是partition table区(分区表)占64个字节,该区相当于一个小程序,作用是判断那个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码.最后两个字节是一个标识符,用来表明这个扇区的结束,其二进制数值为0x55AA.
#2
2,[启动阶段;]
1>,当Ntldr开始运行之后,它首先将处理器的实模式改为32位平滑内存模式;
解释:实模式和32位平滑内存模式:
两者都是电脑系统的寻址方式.实模式指的就是16位模式,运行比较稳定.平滑内存模式则在寻址范围和速度上有明显的优势.
2>,启动小文件系统(例如fat,ntfs),以便从磁盘上访问文件;
3>,随后,Ntldr将访问第一个文件: boot.ini文件,并且根据文件的内容在屏幕上显示启动菜单;
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT=”Windows Windows 2000 Professional”
其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR就是从这里查找Windows XP Professional的系统文件的位置的。
4>,如果用户选择的不是win2k(或者winXp)操作系统,那么Ntldr将调用bootsect.dos,将控制权交给她,并且启动所操作的系统,否则,Ntldr将运行Ntdetect.com文件;
[典型故障:]
i,当妳选择了其他操作系统之后,出现了错误信息: I/O error accessing bot sector file
Muti(0)disk(0)rdisk(0)partiton(1)\\BOOTSS
这种情况是由于找不到启动分区造成的,一般出现在安装了多个操作系统的计算机上.当妳在已有的操作系统-例如win98上安装win2k的时候,安装程序会将原有的启动分区(一般为0分区)保存成bootsect.dos,然后安装程序会将win2k的启动分区放到0分区上.因此,bootsect.dos是在启动的过程中创建的,无法像其他丢失的文件一样可以从光盘上面复制过来,那么,如何解决这种情况?
-为原来的操作系统重新生成一个启动分区.例如:对于win98,只需要用win98的启动盘启动系统,然后在命令提示符下输入sys c:,
-创建bootsect.dos:
a,将win2k安装光盘放入光驱,启动计算机;
b,在出现欢迎屏幕后,按两次R键;
c,当安装程序运行到修复任务选想的时候,选择"检查启动扇区"选项,然后将光条移动到"继续(执行所选任务)"上按回车;
d,跟随安装向导继续,最后会看见"安装程序已完成修复"的提示;
e,Reset;
5>,Ntdetect.com将收集计算机硬件方面的信息,这些硬件包括:计算机ID号,适配卡类型,显卡,键盘以及鼠标,软盘,com口和并口等等.一旦信息收集完成,Ntdetect.com会将信息传递给Ntldr,并将信息写入注册表中的hkey local machine\hardware分支;
可以看到:启动阶段调用了3个非常重要的文件:Ntdetect.com,boot.ini和bootsect.dos.而这个过程也是安装了多个操作系统经常出现问题的地方;
[典型故障:]计算机启动时:
没有出现启动菜单;
这种情况是将显示操作系统列表的时间设为0秒引起的.解决的办法是,我的电脑,属性,高级,启动故障恢复,显示操作系统列表...(修改时间数值)
[典型故障:]当计算机启动的时候出现:
Ntldr is missing,press any key to restart...
Ntldr文件丢失,出现错误会造成这个故障,其它类似的故障还有,Ntdetect.com is missing..等等,利用下面的解决办法:
-利用win2k安装光盘,这个文件存放在系统安装光盘的i386目录下面,因此,只要将其复制到硬盘就可以了;
a,放入win2k光盘,启动win2k安装;
b,出现欢迎界面的时候,按R;
c,win2k修复选项界面中,按R;
d,当提示选择修复选项的时候,按M;(手动修复)
e,选择 验证win2k系统文件;
f,选择 继续(执行所选任务),然后回车,
g,出现紧急修复盘界面:如果你有紧急修复盘的话,插入紧急修复盘,根据提示修复安装,reset;
h,如果没有紧急修复盘,按L,用光盘修复;
-使用控制台:输入map,记下win2k安装光盘所在的光驱盘符L;
-输入: copy L:\i386\ntldr c:\
-提示是否覆盖,Y;
-输入exit重新启动;
#3
3,[内核调用阶段:]
1,在这个阶段,Ntldr将调用Ntoskrnl.exe,并将由Ntdetect.com收集的硬件信息传递给它,同时被调用的还有hal.dll文件.如果你有多个硬件配置文件,当运行到这一步的时候,你会在屏幕上看到要求选择硬件配置文件的信息.另外,Ntldr也将从注册表中调用所有启动值为0x0的设备驱动程序.如果你在boot.ini文件中有" /sos"参数,一般在" /fastdetect"后面,那么妳将看到调用设备列表;
[典型故障]
启动的时候出现错误信息:"Ntoskrnl.exe missing or corrupt on bootup"(ntoskrnl.exe丢失或者损坏)
如果出现下列情形之一,会出现ntoskrnl.exe错误出现:
-新增加了一个硬盘或者改变了原有的分区,例如:删除了原来的一个分区或者将原来的两个分区合并,都可能导致boot.ini文件中的[bot loader]部分的default值丢失或者无效,从而在启动过程中无法找到启动所需的文件;
-Ntoskrnl.exe文件被删除或者被损坏;
[解决办法:]
-使用启动盘启动操作系统,编辑boot.ini文件,检察与下面一行类似的命令中是否有错误:
muti(0)disk(0)rdisk(0)partition(1)\WINNT="microsoft windows 2000 professional" /fastdetect
这一行表示在第一个ide硬盘上rdisk(0)的第一个分区上partition(1)装有win2k,大家可以根据这个规律来查找自己的boot.ini文件中的数值是否正确;
-如果没有发现错误,请将win2k安装光盘放入光驱,然后再命令行输入:
expand x:\i386\ntoskrnl.ex_ c:\ntoskrnl.exe
回车,提示文件已经释放,取出光盘,reset;
[典型故障:]Hal.dll is missing...
这个故障是因为缺少hal.dll文件引起的,解决的办法是:
a,启动故障回复控制台;
b,输入: expand x:\i386\hal.dl_ c:\windows\system32\hal.dll
c,输入exit,回车;
加载内核阶段:
加载内核阶段,ntldr加载称为Windows XP内核的ntokrnl.exe;系统加载了Windows XP内核但是没有将它初始化,接着ntldr加载硬件抽象层(HAL,hal.dll),然后,系统继续加载HKEY_LOCAL_MACHINE\system键,NTLDR读取select键来决定哪一个Control Set将被加载;控制集中包含设备的驱动程序以及需要加载的服务,NTLDR加载HKEY_LOCAL_MACHINE\system\service\...下start键值为0的最底层设备驱动。当作为Control Set的镜像的Current Control Set被加载时,ntldr传递控制给内核,初始化内核阶段就开始了;
2,内核初始化.这一步将对内核以及上一步中调用的硬件驱动程序进行初始化.
初始化过程:
在初始化内核阶段开始的时候,彩色的Windows XP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的3项任务;
1>,内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINE\HARDWARE键;
2>,内核通过引用HKEY_LOCAL_MACHINE\system\Current的默认值复制Control Set来创建了Clone Control Set,Clone Control Set配置是计算机数据的备份,不包括启动中的改变,也不会被修改;
3>,系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...下start键值为1的设备驱动程序,这些设备驱动程序在加载的时候便完成初始化,如果有错误发生,内核使用ErrorControl键值来决定如何处理....
值为3时,错误标志为危机/关键,系统初次遇到错误会以LastKnownGood Control Set重新启动,如果使用LastKnownGood Control Set启动仍然产生错误,系统报告启动失败,错误信息将被显示,系统停止启动;
值为2时错误情况为严重,系统启动失败并且以LastKnownGood Control Set重新启动,如果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;
当值是1的时候错误为普通,系统会产生一个错误信息,但是仍然会忽略这个错误并且继续启动;
当值是0的时候忽略,系统不会显示任何错误信息而继续运行;
plus:Hal.dll,是英文hardware abstraction layer,硬件抽象层的缩写,这种技术提供了驱动程序与硬件之间的借口,可以防止应用程序直接访问计算机系统内存,cpu以及硬件设备(如声卡和显卡),从而使系统可以跨越多种硬件平台运行;
4,[服务调用阶段:]
这个阶段将启动会话管理器(smss.exe),会话管理起将读取必须调用的程序列表,在注册表的bootExecute项中,然后设置内存分页并且启动win32子系统;
Session Manager启动了Windows XP高级子系统以及服务,Session Manager启动控制所有输入,输出设备以及访问显示器屏幕的Win32子系统以及Winlogon进程,初始化内核完毕;
5,[win32子系统启动阶段:]
一旦win32子系统启动,会自动运行winlogon.exe,同时移动本地安全管理(lsass.exe)并且显示登陆对话框.然后回运行服务控制器SCreg.exe,服务控制器会检察注册表中启动值为0x2的服务项目,然后调用这些服务,值为0x3的服务表示需要手动启动,值为0x4的服务表示禁用;
Service Controller最后执行以及扫描HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servives来检查是否还有服务需要加载,Service Controller查找start键值为2或更高的服务,服务按照start的值以及DependOnGroup和DepandOnService的值来加载;
#6
6,[用户登陆阶段:]
最后就是用户登陆阶段了,一旦用户可以登陆进系统,那么也就表明整个启动过程已经结束,成功登陆之后,当前设置也被自动保存为"最后一次正确配置-last known good"以备以后使用;
Winlogon.exe启动Local Security Authority,同时Windows XP Professional欢迎屏幕或者登陆对话框显示,这时候,系统还可能在后台继续初始化刚才没有完成的驱动程序;提示输入有效的用户名或密码;
#7
7,[如何启动故障恢复控制台]
1,使用win2k光盘启动计算机;
2,在欢迎界面中按R;
3,按c选择使用故障恢复控制台修复win2k安装;
4,输入需要修复的windows所在盘符前的序号,回车;
5,输入管理员口令,回车;
启动过程中出现的其它错误分析:
CMOS battery failed(CMOS 电池失效)。原因:说明CMOS 电池的电力已经不足,请更换新的电池。
CMOS check sum error-Defaults loaded(CMOS执行全部检查时发现错误,因此载入预设的系统设定值)。原因:通常发生这种状况都是因为电池电力不足所造成,所以不妨先换个电池试试看。如果问题依然存在的话,那就说明CMOS RAM 可能有问题,最好送回原厂处理。
Display switch is set incorrectly(显示开关配置错误)。原因:较旧型的主板上有跳线可设定显示器为单色或彩色,而这个错误提示表示主板上的设定和 BIOS里的设定不一致,重新设定即可。
Press ESC to skip memory test(内存检查,可按ESC键跳过)。原因:如果在 BIOS内并没有设定快速加电自检的话,那么开机就会执行内存的测试,如果你不想等待,可按 ESC 键跳过或到BIOS 内开启 Quick Power On Self Test。
HARD DISK initializing【Please wait amoment...】(硬盘正在初始化 请等待片刻)。原因:这种问题在较新的硬盘上根本看不到。但在较旧的硬盘上,其启动较慢,所以就会出现这个问题。
HARD DISK INSTALL FAILURE (硬盘安装失败)。原因:硬盘的电源线、数据线可能未接好或者硬盘跳线不当出错误(例如一根数据线上的两个硬盘都设为Master 或 Slave。)
Secondary slave hard fail (检测从盘失败)。原因: 1 CMOS 设置不当(例如没有从盘但在CMOS里设有从盘) 2 硬盘的电源线、数据线可能未接好或者硬盘跳线设置不当。
Hard disk(s) diagnosis fail (执行硬盘诊断时发生错误)。原因:这通常代表硬盘本身的故障。你可以先把硬盘接到另一台电脑上试一下,如果问题一样,那只好送修了。
Floppy Disk(s) fail 或 Floppy Disk(s) fail(80)或Floppy Disk(s) fail(40)(无法驱动软驱)。原因:软驱的排线是否接错或松脱?电源线有没有接好?如果这些都没问题,那买个新的吧。
Keyboard error or no keyboard present(键盘错误或者未接键盘) 原因:键盘连接线是否插好?连接线是否损坏?
Memory test fail (内存检测失败) 原因:通常是因为内存不兼容或故障所导致。
Override enable-Defaults loaded (当前CMOS设定无法启动系统,载入 BIOS 预设值以启动系统)。原因:可能是你在BIOS内的设定并不适合你的电脑(像你的内存只能跑100MHz但你让它跑133MHz ),这时进入 BIOS 设定重新调整即可。
Press TAB to show POST screen (按 TAB 键 可以切换屏幕显示) 原因:有一些 OEM 厂商会以自己设计的显示画面来取代 BIOS 预设的开机显示画面,而此提示就是要告诉使用者可以按TAB来把厂商的自定义画面和BIOS预设的开机画面进行切换。
Resuming from disk,Press TAB to show POST screen(从硬盘恢复开机,按TAB显示开机自检画面)。原因:某些主板的BIOS 提供了 Suspend to disk(挂起到硬盘)的功能,当使用者以Suspend to disk 的方式来关机时,那么在下次开机时就会显示此提示消息。
BIOS ROM checksum error-System halted(BIOS程序代码在进行总和检查 ( checksum ) 时发现错误,因此无法开机) 原因:遇到这种问题通常是因为 BIOS 程序代码更新不完全所造成的,解决办法重新刷写烧坏主板BIOS。
HARD DISK initizlizing 【Please wait amoment...】(正在对硬盘做起始化 ( Initizlize ) 动作) 原因:这种讯息在较新的硬盘上根本看不到。但在较旧型的硬盘上,其动作因为较慢,所以就会看到这个讯息。
POST自检响铃次数是如何定义的? POST上电自检还会通过报警声响次数的方式来指出检测到的故障。但需要注意:由于目前主板BIOS类型大致可分为AWARD公司、AMI公司、PHOENIX公司(AWARD已与PHOENIX合并),因此不同类型的BIOS,其自检响铃次数所定义的自检错误是不一致的,因此一定要分清。
自检报警声及含义:
AMI BIOS
1短 内存刷新失败
2短 内存ECC较验错误
3短 系统基本内存(第1个64K)检查失败
4短 系统时钟出错
5短 中央处理器(CPU)错误
6短 键盘控制器错误
7短 系统实模式错误,不能切换到保护模式
8短 显示内存错误(显示内存可能坏了)
9短 ROM BIOS检验和错误
1长3短 内存错误(内存损坏,请更换)
1长8短 显示测试错误(显示器数据线松了或显示卡插不稳)
Award BIOS
1短 系统正常boot机
2短 常规错误,请进入CMOS SETUP重新设置不正确的选项
1长1短 RAM或主板出错
1长2短 显示错误(显示器或显示卡)
1长3短 键盘控制器错误
1长9短 主板FlashRAM或EPROM错误(BIOS损坏)
不断地响(长声) 内存插不稳或损坏
不停地响 电源,显示器未和显示卡连接好
重复短响 电源
无声音无显示 电源
Phoenix BIOS
1短 系统正常boot机
3短 系统加电自检初始化(POST)失败
1短1短2短 主板错误(主板损坏,请更换)
1短1短3短 主板电池没电或CMOS损坏
1短1短4短 ROM BIOS校验出错
1短2短1短 系统实时时钟有问题
1短2短2短 DMA通道初始化失败
1短2短3短 DMA通道页寄存器出错
1短3短1短 内存通道刷新错误(问题范围为所有的内存)
1短3短2短 基本内存出错(内存损坏或RAS设置错误)
1短3短3短 基本内存错误(很可能是DIMM0槽上的内存损坏)
1短4短1短 基本内存某一地址出错
1短4短2短 系统基本内存(第1个64K)有奇偶校验错误
1短4短3短 EISA总线时序器错误
1短4短4短 EISA NMI口错误
2短1短1短 系统基本内存(第1个64K)检查失败
3短1短1短 第1个DMA控制器或寄存器出错
3短1短2短 第2个DMA控制器或寄存器出错
3短1短3短 主中断处理寄存器错误
3短1短4短 副中断处理寄存器错误
3短2短4短 键盘时钟有问题,在CMOS中重新设置成Not Installed来跳过POST
3短3短4短 显示卡RAM出错或无RAM,不属于致命错误
3短4短2短 显示器数据线松了或显示卡插不稳或显示卡损坏
3短4短3短 未发现显示卡的ROM BIOS
4短2短1短 系统实时时钟错误
4短2短2短 系统启动错误,CMOS设置不当或BIOS损坏
4短2短3短 键盘控制器(8042)中的Gate A20开关有错,BIOS不能切换到保护模式
4短2短4短 保护模式中断错误
4短3短1短 内存错误(内存损坏或RAS设置错误)
4短3短3短 系统第二时钟错误
4短3短4短 实时时钟错误
4短4短1短 串行口(COM口、鼠标口)故障
4短4短2短 并行口(LPT口、打印口)错误
4短4短3短 数字协处理器(8087、80287、80387、80487)出错
电脑自检后,将MBR(硬盘主引导记录)调入内存,开始查找活动分区和主引导扇区,不同操作系统的引导过程是不一样的
windows98/me
读取Bootsect.dos文件(系统引导扇区记录文件),并按其中信息引导系统。
Win2000/XP/2003,
确定后将控制权交给NTLDR(NT系统加载器),它读取Boot.ini后则调用ntdetect.com文件(硬件信息配置文件),这是一个系统级的设备初始化文件,读取后再将硬件信息传给ntoskrnl.exe和hal.dll文件(系统内核管理器文件),之后就开始引导操作系统
很多朋友用的是双系统,所以在这个过程中也有可能出现一系列的问题,下面附上:
我们将以在C盘安装Win98、D盘安装Win2000、E盘安装WinXP、F盘安装Win2003为例。并以故障为主线讲述解决方法。
1.系统无法启动,提示“NTLDR is Missing,press any key to restart”
这是由于NTLDR文件丢失或损坏引起的故障,从Win2000/XP/2003安装光盘的I386文件夹中提取此文件,复制到C盘根目录下覆盖即可。但要注意此文件必须是各操作系统的最高版,例如本例中就要拷贝Win2003的NTLDR文件,具体原因见后文。
用Win98启动盘引导系统至DOS下,将Win2000/XP/2003安装光盘插入光驱,在DOS提示符下依次执行如下命令再重启计算机即可修复故障(图1):
A:\>x:(X代表光驱盘符)
X:\>cd i386(切换至光盘的I386目录)
X:\>i386>copy ntldr c:\(将NTLDR文件复制到C盘根目录下)
2.多重启动菜单丢失,系统直接从C盘启动(一般为Win98)
这是由Boot.ini文件丢失或损坏引起的故障,只要修复该文件即可,方法有二:
一是通过“假安装”Win2000/XP/2003来修复。即用一般方法安装操作系统,然后在第一次重启计算机后,按“F3”结束安装过程。此时Boot.ini文件已修复。接下来删除硬盘中以“$”开头和结尾的所有目录及文件,如:$WIN_NT$.~BT。同时删除Boot.ini文件中与这些目录或文件相关的菜单选项,并将“[boot loader]”和“[operating systems]”字段中的项目进行相应修改,具体方法参见下文。这种方法比较适合新手,创建文件过程简单,但耗时较长。
二是手动修复或重建Boot.ini文件,用记事本打开该文件,正确内容如下:
[boot loader]
timeout=30
default=C:\
[operating systems]
C:\="Microsoft Windows 98"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Server" /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows 2003,Enterprise" /fastdetect
具体涵义如下:
“timeout=30”设定多重引导菜单在屏幕上停留的时间,默认为30秒。
“default=……”设定默认操作系统的路径,等号后面的内容必须对应[operating systems]字段中已经存在的操作系统,并将对应这行文字中“=”前的内容复制到“default=”后面即可。
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS:这里采用的是ARC(高级RISC计算机)命名。对于一般用户,需要了解的是“rdisk”和“partition”参数。此例中“rdisk(0)”表示第1块硬盘,“partition(2)”表示该硬盘的第2个分区。
理解这些参数以后大家就可根据自己的情况修改或重建Boot.ini了。
3.Win98可正常启动,而Win2000/XP/2003出现“NTDETECT failed”的故障提示
这是ntdetect.com文件损坏或丢失引起的故障。在多重启动菜单中选Win98,启动完毕以后,在光驱中插入Win2000/XP/2003安装光盘(使用最高版本),将光盘中I386目录中的ntdetect.com文件复制到C盘根目录覆盖即可。
4.在装有Win2003的电脑上安装WinXP/2000后,Win2003无法启动
问题出现的原因是NTLDR和ntdetect.com这两个文件不向上兼容,因此,只要用高版本的NTLDR和ntdetect.com覆盖低版本,即可“妙手回春”。
5.Win98损坏后用“SYS C:”修复,结果多重启动菜单丢失
最简单的方法是“假安装”修复,参见前文。
6.用“format”命令格式化C盘后重装Win98,多重启动菜单丢失
这种情况处理起来比较棘手,可按下面方法修复:
第一步:生成Bootsect.dos文件。前面已经介绍过Bootsect.dos文件中存储着512字节的硬盘引导扇区的内容,因此只要将硬盘引导扇区的内容读出来,写入此文件即可。在Win98中点击“开始”→“程序”→“MS-DOS方式”(图2),在DOS提示符下输入:
Debug
-L 100 2,0,1(读硬盘引导扇区)
-n c:/Bootsect.dos
-r bx
BX:0000
:0
-R CX
CX:0000
:200
-W(写引导扇区的内容到文件)
c:/Bootsect.dos
Writing 0020 bytes
-Q
第二步:恢复Win2000/XP/2003的引导程序。在Win98中,将Win2000/XP/2003安装插入光驱,安装系统,第一次重启计算机后,当出现欢迎画面时,根据提示按“R”键,启动到“恢复控制台”,系统会自动扫描并列出已经安装的操作系统清单供用户选择登录(图3),以登录到E:\WINDOWS目录为例,键入2后回车,输入管理员密码进入命令行状态。输入“FIXBOOT”,并回答“Y”,即可恢复Win2000/XP/2003的引导程序。
第三步:在提示符后输入“BootCFG /Rebuild”,回车后开始系统扫描,随后列出操作系统清单,并询问“将安装添加到启动列表中吗”,回答“Y”。接下来在“输入加载识别符”后输入操作系统在启动菜单中所要显示的文字,如“Microsoft Windows 2000”,接着在“OS加载选项”中输入“fastdetect”(图4)。最后键入“EXIT”重启计算机。
第四步:经过以上的修复,Win2000/XP/2003已经可以正常启动,但还缺少Win98启动选项,用户无法通过选取启动菜单来启动Win98。在Win2000/XP/2003中用记事本打开Boot.ini,在[operating systems]字段最后添加如下内容:C:\="Microsoft Windows 98"
7.当使用多重启动菜单选定某系统后,系统无法启动,提示“因以下文件的损坏或者丢失,Windows无法启动:<Windows root>\system32\hal.dll,请重新安装以上文件”。
此问题只会出现在Win2000/XP/2003操作系统中,这主要是由于”hal.dll“文件丢失造成的,从Win2000/XP/2003安装光盘的I386目录中提取出此文件,复制到相应系统分区的Windows/System32/目录下覆盖即可。具体方法是在某个正常系统中使用WinRAR打开I386目录下的“hal.dl_”,将其中的“hal.dll”解压到被损坏操作系统的“Windows\ System32”目录中(图5),然后重启电脑即可。
8.在启动过程中,所有中文均为乱码,英文可以正常显示。
此问题是因字库文件”bootfont.bin“损坏或丢失造成的,从Win2000/XP/2003安装光盘的I386目录中提取此文件,复制到C盘根目录下覆盖即可。
|