你知道吗:WinXP启动都干了些什么?[Windows安全]
本文“你知道吗:WinXP启动都干了些什么?[Windows安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在按下计算机电源使计算机启动,并且在Windows XP专业版操作系统启动之前这段时间,我们称之为预指导(Pre-Boot)阶段,在这个阶段里,计算机首先运行Power On Self Test(POST),POST检测系统的总内存以及其他硬件设备的近况.
从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:
1. 预指导(Pre-Boot)阶段;
2. 指导阶段;
3. 加载内核阶段;
4. 初始化内核阶段;
5. 登陆.
每个启动阶段的具体介绍
a) 预指导阶段
在按下计算机电源使计算机启动,并且在Windows XP专业版操作系统启动之前这段时间,我们称之为预指导(Pre-Boot)阶段,在这个阶段里,计算机首先运行Power On Self Test(POST),POST检测系统的总内存以及其他硬件设备的近况.假如计算机系统的BIOS(底子输入/输出系统)是即插即用的,那么计算机硬件设备将经过查验以及完成配置.计算机的底子输入/输出系统(BIOS)定位计算机的指导设备,然后MBR(Master Boot Record)被加载并运行.在预指导阶段,计算奥秘加载Windows XP的NTLDR文件.
b) 指导阶段
Windows XP Professional指导阶段包含4个小的阶段.
首先,计算奥秘经过初始指导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR将计算机微处理器从实情势转换为32位平面内存情势.在实情势中,系统为MS-DOS保存640kb内存,别的内存视为扩大内存,而在32位平面内存情势中,系统(Windows XP Professional)视全部内存为可用内存.接着,NTLDR启动内建的mini-file system drivers,通过这个步骤,使NTLDR可以辨认每一个用NTFS大概FAT文件系统格局化的分区,以便发现以及加载Windows XP Professional,到这里,初始指导加载器阶段就完毕了.
接着系统来到了操作系统挑选阶段,假如计算机安装了不止一个操作系统(也就是多系统),并且精确设置了boot.ini使系统供应操作系统挑选的条件下,计算机显示器会显示一个操作系统选单,这是NTLDR读取boot.ini的后果.(至于操作系统选单,由于暂时条件不够,没办法截图,但是笔者模拟了一个,见图一.)
在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的系统文件的位置的.(*本文不会更具体地讲授boot.ini的构成构造,因为其与本主题关系不大,假如想理解,可以到一些专门的网站处查询相关信息.)假如在boot.ini中只有一个操作系统选项,大概把timeout值设为0,则系统不呈现操作系统挑选菜单,直接指导到那个唯一的系统大概默许的系统.在挑选启动Windows XP Professional后,操作系统挑选阶段完毕,硬件检测阶段开始.
在硬件检测阶段中,ntdetect.com将汇集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于今后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中.
硬件检测完成后,进入配置挑选阶段.假如计算机含有多个硬件配置文件列表,可以通过按上下按钮来挑选.假如只有一个硬件配置文件,计算机不显示此屏幕而直接利用默许的配置文件加载Windows XP专业版.
指导阶段完毕.在指导阶段,系统要用到的文件一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的).
c) 加载内核阶段
在加载内核阶段,ntldr加载称为Windows XP内核的ntokrnl.exe.系统加载了Windows XP内核但是没有将它初始化.接着ntldr加载硬件抽象层(HAL,hal.dll),然后,系统持续加载HKEY_LOCAL_MACHINEsystem键,NTLDR读取select键来决意哪一个Control Set将被加载.掌握集合包含设备的驱动程序以及需求加载的服务.NTLDR加载HKEY_LOCAL_MACHINEsystemservice...下start键值为0的最底层设备驱动.当作为Control Set的镜像的Current Control Set被加载时,ntldr传送掌握给内核,初始化内核阶段就开始了.
d) 初始化内核阶段
在初始化内核阶段开始的时刻,彩色的Windows XP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的4项任务:
* 内核利用在硬件检测时汇集到的数据来成立了HKEY_LOCAL_MACHINEHARDWARE键.
* 内核通过引用HKEY_LOCAL_MACHINEsystemCurrent的默许值复制Control Set来成立了Clone Control Set.Clone Control Set配置是计算机数据的备份,不包含启动中的改变,也不会被改正.
* 系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINEsystemCurrentControlSetservice...下start键值为1的设备驱动程序.这些设备驱动程序在加载的时刻便完成初始化,假若有错误发生,内核利用ErrorControl键值来决意若何处理,值为3时,错误标志为危急/关键,系统初次碰到错曲解以LastKnownGood Control Set重新启动,假如利用LastKnownGood Control Set启动仍旧产生错误,系统报告启动失利,错误信息将被显示,系统终止启动;值为2时错误情形为严重,系统启动失利并且以LastKnownGood Control Set重新启动,假如系统启动已经在利用LastKnownGood值,它会忽视错误并且持续启动;当值是1的时刻错误为普通,系统会产生一个错误信息,但是仍旧会忽视这个错误并且持续启动;当值是0的时刻忽视,系统不会显示任何错误信息而持续运行
* Session Manager启动了Windows XP高级子系统以及服务,Session Manager启动掌握全部输入、输出设备以及拜候显示器屏幕的Win32子系统以及Winlogon进程,初始化内核完毕.
e) 登陆
* Winlogon.exe启动Local Security Authority,同时Windows XP Professional欢送屏幕大概登陆对话框显示,这时刻,系统还大概在后台持续初始化方才没有完成的驱动程序.
* 提醒输入有效的用户名或密码.
Service Controller最后履行以及扫描HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServives来查抄能否还有服务需求加载,Service Controller查找start键值为2或更高的服务,服务按照start的值以及DependOnGroup和DepandOnService的值来加载.
只有效户成功登陆到计算机后,Windows XP的启动才被认为是完成,在成功登陆后,系统拷贝Clone Control Set到LastKnownGood Control Set,完成这一步骤后,系统才意味着已经成功指导了.
以上是“你知道吗:WinXP启动都干了些什么?[Windows安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:本文地址: | 与您的QQ/BBS好友分享! |