|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
Windows XP Professional电脑启动过程概述
7 p; i$ |& o2 C$ J% R$ w8 R9 u: s; u$ `" F2 _3 ?2 ]
从按下电脑开关启动电脑,到登入到桌面完成启动,一共经由了以下几个阶段:1 t3 k; w$ P/ k: o
1. 预引导(Pre-Boot)阶段;% L/ j! u2 n; w
2. 引导阶段;3 ?7 V5 N) H2 y
3. 加载内核阶段;( J! z% f u/ \- u4 ]8 n* g
4. 起始化内核阶段;
9 O0 }/ {1 K8 ~ D5. 登陆。
5 R: |4 D# ?$ l/ B" \--------------------------------------------------------------------------------
3 Z- t1 o- W0 }( R" D# B! V; w5 s每个启动阶段的详细介绍6 B% G( ?* p2 h$ R4 x4 k
a) 预引导阶段
( g3 S/ U$ b* ]) @' F' y3 \在按下电脑电源使电脑启动,并且在Windows XP专业版动作系统启动之前这段时间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,电脑首先执行Power On Self Test(POST),POST检验系统的总记忆体以及其他硬体装置的现状。若果电脑系统的BIOS(基础输入/输出系统)是即插即用的,那么电脑硬体装置将经由检验以及完成群组态。电脑的基础输入/输出系统(BIOS)定位电脑的引导装置,然后MBR(Master Boot Record)被加载并执行。在预引导阶段,电脑要加载Windows XP的NTLDR档案。7 E1 R' ~- q, v6 E( D; j
b) 引导阶段 ; S" Z6 P( }' b5 q4 R) B: L% @
Windows XP Professional引导阶段内含4个小的阶段。
' a' ?4 B V, u, B/ h首先,电脑要经由起始引导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR将电脑微处理器从实模式转换为32位平面记忆体模式。在实模式中,系统为MS-DOS保留640kb记忆体,其余记忆体视为延伸记忆体,而在32位平面记忆体模式中,系统(Windows XP Professional)视所有记忆体为可用记忆体。接着,NTLDR启动内建的mini-file system drivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或是FAT档案系统格式化的分区,以便发现以及加载Windows XP Professional,到这里,起始引导加载器阶段就结束了。
4 I* H( a- ~" D4 o1 w4 k+ z$ U' T接着系统来到了动作系统选取阶段,若果电脑安装了不止一个动作系统(也就是多系统),而且正确设定了boot.ini使系统提供动作系统选取的条件下,电脑显示器会显示一个动作系统选单,这是NTLDR读取boot.ini的结果。(至于动作系统选单,由于暂时条件不够,没办法截图,但是笔者类比了一个,见图一。)* V0 j+ ]' t3 O' b9 t
在boot.ini中,主要内含以下内容:; ]5 I$ c, w' l5 |/ y8 z6 }
[boot loader]
2 A/ w0 G5 C% k, {- _timeout=30
* t- w! Y, _. ~ l. Kdefault=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
$ B1 i" V& k6 h4 R8 d[operating systems]
( }: L% c! j8 \3 cmulti(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
: |. s' S0 {: v t$ d8 zmulti(0)disk(0)rdisk(0)partition(2)\WINNT="Windows Windows 2000 Professional"
' i ]( [9 O3 z. U: O9 g. d6 o* {5 Q- f7 ~
其中,multi(0)表示磁碟控制器,disk(0)rdisk(0)表示磁碟,partition(x)表示分区。NTLDR就是从这里寻找Windows XP Professional的系统档案的位置的。(*本文不会更详细地讲解boot.ini的群群组成结构,因为其与本主旨关系不大,若果想瞭解,可以到一些专门的网站处查询关联讯息。)若果在boot.ini中只有一个动作系统选项,或是把timeout值设为0,则系统不出现动作系统选取选单,直接引导到那个唯一的系统或是预设的系统。在选取启动Windows XP Professional后,动作系统选取阶段结束,硬体检验阶段开始。
' Y. [- w9 P) _ {. S4 e& K在硬体检验阶段中,ntdetect.com将收集电脑硬体讯息清单并将清单返回到NTLDR,这样做的目的是便于以后将这些硬体讯息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。% v& `/ ~; h* P
硬体检验完成后,进入群组态选取阶段。若果电脑含有多个硬体群组态档清单,可以通过按上下按钮来选取。若果只有一个硬体群组态档,电脑不显示此萤幕而直接使用预设的群组态档加载Windows XP专业版。
% C% V+ ~4 h) r& m* E. A; F1 c引导阶段结束。在引导阶段,系统要用到的档案一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)。
( F$ A, V' ]5 c" ^0 i: W# \. 9 N9 g& i8 m8 H0 ^
c) 加载内核阶段9 Z) b- Q, x3 G4 y+ t. b
在加载内核阶段,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传递控制给内核,起始化内核阶段就开始了。
* T! a2 X- W$ L1 k. P; T.
" z1 C' A1 ?0 f+ y; w- J9 x! f& Jd) 起始化内核阶段" J% }. `6 |! K5 R
在起始化内核阶段开始的时候,彩色的Windows XP的logo以及进度条显示在萤幕中央,在这个阶段,系统完成了启动的4项任务:! H9 I, A' _' }5 Q8 M* \5 W; {
? 内核使用在硬体检验时收集到的资料来建立了HKEY_LOCAL_MACHINE\HARDWARE键。" `2 k# X$ [; R/ u2 Y6 R; }+ a9 p8 l
? 内核通过引用HKEY_LOCAL_MACHINE\system\Current的预设值复制Control Set来建立了Clone Control Set。Clone Control Set群组态是电脑资料的备份,不内含启动中的改变,也不会被修改。% B9 A; Y) o: v* a h8 q
? 系统完成起始化以及加载装置驱动程式,内核起始化那些在加载内核阶段被加载的底层驱动程式,然后内核扫瞄HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...下start键值为1的装置驱动程式。这些装置驱动程式在加载的时候便完成起始化,若果有错误发生,内核使用ErrorControl键值来决定如何处理,值为3时,错误标志为危机/关键,系统初次遇到错误会以LastKnownGood Control Set重新启动,若果使用LastKnownGood Control Set启动仍然产生错误,系统报告启动失败,错误讯息将被显示,系统停止启动;值为2时错误情况为严重,系统启动失败并且以LastKnownGood Control Set重新启动,若果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;当值是1的时候错误为普通,系统会产生一个错误讯息,但是仍然会忽略这个错误并且继续启动;当值是0的时候忽略,系统不会显示任何错误讯息而继续执行
; ^/ P; _0 \8 U& ] |/ o? Session Manager启动了Windows XP进阶子系统以及服务,Session Manager启动控制所有输入、输出装置以及访问显示器萤幕的Win32子系统以及Winlogon进度,起始化内核完毕。
. c7 G2 D5 r0 \" s6 D# j( x) R9 V. , J W! _- h( Y% F7 }9 L5 V$ s/ [
e) 登陆
8 W) B5 f+ Y9 D" P. u? Winlogon.exe启动Local Security Authority,同时Windows XP Professional欢迎萤幕或是登陆对话框显示,这时候,系统还可能在后台继续起始化刚才没有完成的驱动程式。
K" D% Q$ X3 i8 X4 ~' [* y?提示输入有效的使用者名或密码。
, |4 R# ~4 x% } P2 \* E1 R5 r?Service Controller最后执行以及扫瞄HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servives来检查是否还有服务需要加载,Service Controller寻找start键值为2或更高的服务,服务按照start的值以及DependOnGroup和DepandOnService的值来加载。 2 s) g4 |' g5 v/ o- r9 T
. & C/ m8 R( I2 x7 P. S9 B9 v
只有使用者成功登陆到电脑后,Windows XP的启动才被认为是完成,在成功登陆后,系统复制Clone Control Set到LastKnownGood Control Set,完成这一步骤后,系统才意味着已经成功引导了
5 G: v8 s& W. c; w6 {3 I5 J3 h, T | q |
|