你对电脑的启动过程了解吗?我将详细讲述自己的学习操作系统以来对操作系统的理解。当然只是windows系统的启动问题,不管你是维修电脑,服务器 维护,各位大黑,小黑,渗透,BIOS病毒,驱动挂马等等涉及的很多方面都涉及到的这些基础东西,抛砖引玉,各位思维别局限,在此基础上可以做出什么我就管不着了容!: p6 ^) u& f9 K# Z( v& i# x3 F
) M% Y: T( x# K( P0 Y; s9 `
Author:sman或pirate33
QQ :328954631! j4 V5 B" }9 O% e/ D+ }! H, v }
Date: 2012-5-3 15:41
老话:本文仅供技术交流,欢迎转载,请注明出处!! s# v$ p O1 T/ o' M
个人BLOG:www.jlzx.org 个人站:www.51kmm.orgwww.52kmm.org0 O9 r) Z. x! Z5 ?6 c5 v; h0 g
) ^$ s3 b7 i# \# J
废话说完进入正题:
windows启动过程包括以下几个阶段:6 H+ s! i3 ? ~- x1 m0 h( n+ f
! E. M9 Q, k A; b
1:启动自检
) Y" v# P: ?& k6 _+ d
这个阶段是读取BIOS,然后内存,cpu,硬盘,键盘等设备进行自检。
. Y" J2 C. |( ~: y
这个阶段在屏幕上现实就是自检的那些打印信息。
. G/ A% b h0 @3 b- V, D
屏幕显示:自检的打印信息
2:初始化启动阶段
, |: a+ X4 C! v% i4 y* i
这个阶段根据BIOS指定的启动顺序,找到可以启动的有限启动设备,比如本地磁盘,CDDriver,usb设备等等,然后准备从这些设备启动系统。
屏幕显示:黑屏# I% C$ G* i$ N9 w. x7 P; w1 D
3.Boot加载阶段" ]9 w# T' {! I, \. ?/ Y" o7 l H
这个阶段首先从启动分区(比如C盘加载NTLdr),然后NTLDR作如下设置:
1.内置内存模式,如果是X86的处理器,并且操作系统是32为,则设置为32-bit flat memory mode,如果是64为操作系统和64为处理器,则设置为64为内存模式。
4.启动文件系统
5.读取boot.ini文件$ b2 c' f, w. Z5 G
屏幕显示:黑屏,如果按F8或者多系统时就会显示启动选项菜单。
7 s3 N, g/ e0 C. x+ @2 [5 e
6.检测和配置硬件阶段
/ }0 M7 p) \4 p+ u: k- e% w0 p
这个阶段检查和配置一些硬件设备,他们分别是# { o) P+ j6 U3 M/ v8 r+ @8 y
············系统固件,比如时间和日期7 @* G! G! h2 Y: \0 \3 V/ f U
·············总线和适配器1 G3 l9 G6 n7 j* y
··············显示适配器$ i: G C* X6 j" [4 \1 Z
0 u; P; y- i% H* ]
···············键盘 |5 D, w4 `" Z5 N4 `
·············通讯端口
···············磁盘
1 e$ a- O& g1 ~8 j& P# t
··················软盘6 h6 D( Y0 u) i
·············输入设备
6 U9 r3 j- }2 u: r3 ^; v F
···············并口
·············在ISA总线上运行的设备) f! R- x1 t$ _; | B4 z2 W) G* J
; F/ S2 R5 K/ E' d7 w
·············屏幕显示:黑屏
; I/ P* @6 t4 }% N
·············内核加载阶段" s( L9 u1 h+ [. @" F
7.在内核加载阶段。- v+ Z6 s+ S% x2 \& A4 N* F/ j
" y: Y& i- ], R" D+ Q ~
NTLDR将首先加载windows内核NToskrnl.exe和硬件抽象层(HAL)。HAL有点类似嵌入式操作系统下的BSP,这个抽象层对硬件底层的特性进行隔离,对操作系统提供统一的调用借口,操作系统移植到不同硬件时只要改变相应的HAL就可以,其它的内核组建不需要修改,这个操作系统通常的设计模式。接下来NTLDR从注册表HKEY\LMS\SYSTEM\CURRENT-controlset位置下读取这台机器安装的驱动程序,然后依次加载驱动程序。
驱动程序加载完成后,windows做如下设置:
* T0 a/ s5 T7 y* d
1.创建系统环境变量
2.启动win32.sys,这个是windows子系统的内核模式部分。: ^" Y( {( L8 e5 B! ^9 e
; T! N+ R) x9 f. m8 H" m# r8 P, h
3.启动csrss.exe,这个是windows子系统的用户模式部分。
* ^! i, d0 w$ E% T' y
4.启动winlogon.exe2 o; Z" J3 q! ^
5.创建虚拟内存页面文件
9 R% O4 s( z4 R6 P7 \
6.对一些必要的文件进行改名,(主要是驱动文件,如果更新后需要在下次重启前改名)
+ t- |& E) Y8 c. \" C
屏幕显示:显示windows logo界面的进度条
8.登录阶段
这个阶段会做如下几件事:
- N) J @% N9 q- n7 B% u! N. M
1.启动机器上安装的所有需要自启动的windows服务
2.启动本地安全认证Lsass.exe
4 C! J: B- H2 z' W; I
3.显示登录界面" d' _ B2 L/ k1 w( C
|