【转贴】 分析:windows 2K/NT/Xp的启动过程
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,[启动阶段;]
1>,当Ntldr开始运行之后,它首先将处理器的实模式改为32位平滑内存模式;
解释:实模式和32位平滑内存模式:
两者都是电脑系统的寻址方式.实模式指的就是16位模式,运行比较稳定.平滑内存模式则在寻址范围和速度上有明显的优势.
2>,启动小文件系统(例如fat,ntfs),以便从磁盘上访问文件;
3>,随后,Ntldr将访问第一个文件:boot.ini文件,并且根据文件的内容在屏幕上显示启动菜单;
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重新启动;
[ Last edited by 神奇 on 2004-5-11 at 22:16 ]