windows系统的启动过程
2016-08-15 00:59
267 查看
下面来说说windows系统是怎么启动的
1. 预引导阶段,就是从引导设备中读取MBR主引导记录
2. 引导阶段
a) 初始化引导载入程序,程序ntldr会寻找系统自带的一个微型文件系统驱动,用于读取文件系统驱动并找到硬盘的相应分区
b) 操作系统选择,程序ntldr会读取boot.ini(不陌生吧)来进行操作系统的选择,然后从boot.ini来读取操作系统的系统文件位置,这个文件记录了硬件适配卡的序号和硬盘的序号以及分区的序号,读取完成之后对系统进行引导
c) 硬件检测,当选择完成操作系统之后,会首先调用程序将所有的硬件设备列成一个表,然后把这个表交给ntldr,表的信息稍后又会用来创建注册表中有关硬件的键值
d) 配置文件的选择,这一步不是必须的,只有在计算机(常用于笔记本)中创建了多个不同的硬件配置文件的时候才会有用
3. 载入内核,还是那个程序ntldr将windows的内核文件neoskrnl.exe载入,这里仅仅是载入,并没有进行初始化,随后被载入的是硬件抽象层,这个时候内核载入的是HKEY_LOCAL_MACHINE/System注册表键,然后选择载入那个ControlSet键,这些键决定了随后操作系统将会载入哪些服务和驱动程序
4. 初始化内核,初始化内核阶段,程序ntldr会将系统的控制器交给操作系统内核
a) 这一阶段会用在硬件检测阶段的硬件表来创建Hardware键,这个键会根据系统当前的硬件配置情况动态更新
b) 对ControlSet注册表键进行复制,如果Hardware键创建成功的话,那么复制出来的这一个作为一个备份,这个备份会被用在“最后一次正确的配置”之中。比如,如果你因为安装了显卡驱动,重启的时候,Hardware注册表键还没有被创建成功,系统就已经崩溃了,那么你就可以使用最后一次正确配置,系统会还原上一次的ControlSet信息,然后重新生成Hardware,这样就可以撤销更改
c) 载入和初始化设备驱动程序
d) 启动服务,这个时候ntoskrnl就会启动smss会话管理器,smss启动其他高层子系统和服务,加载初始化内核模式中的Win32子系统,启动csrss.exe(Win32子系统在用户模式中的部分),进而进入Win32子系统。当这些操作完成后,windows的图形化界面也就出来了,用户也就可以使用键盘鼠标了
e) Smss启动winlogon,winlogon会启动本地安全性授权lsass.exe子系统,加载图形化标识和认证,并等待用户登录,然后启动后台服务管理器services,通过services来启动所有标识为自启动的win32服务程序
至此,windows启动完成
首发于我的个人网站: 点击打开链接
1. 预引导阶段,就是从引导设备中读取MBR主引导记录
2. 引导阶段
a) 初始化引导载入程序,程序ntldr会寻找系统自带的一个微型文件系统驱动,用于读取文件系统驱动并找到硬盘的相应分区
b) 操作系统选择,程序ntldr会读取boot.ini(不陌生吧)来进行操作系统的选择,然后从boot.ini来读取操作系统的系统文件位置,这个文件记录了硬件适配卡的序号和硬盘的序号以及分区的序号,读取完成之后对系统进行引导
c) 硬件检测,当选择完成操作系统之后,会首先调用程序将所有的硬件设备列成一个表,然后把这个表交给ntldr,表的信息稍后又会用来创建注册表中有关硬件的键值
d) 配置文件的选择,这一步不是必须的,只有在计算机(常用于笔记本)中创建了多个不同的硬件配置文件的时候才会有用
3. 载入内核,还是那个程序ntldr将windows的内核文件neoskrnl.exe载入,这里仅仅是载入,并没有进行初始化,随后被载入的是硬件抽象层,这个时候内核载入的是HKEY_LOCAL_MACHINE/System注册表键,然后选择载入那个ControlSet键,这些键决定了随后操作系统将会载入哪些服务和驱动程序
4. 初始化内核,初始化内核阶段,程序ntldr会将系统的控制器交给操作系统内核
a) 这一阶段会用在硬件检测阶段的硬件表来创建Hardware键,这个键会根据系统当前的硬件配置情况动态更新
b) 对ControlSet注册表键进行复制,如果Hardware键创建成功的话,那么复制出来的这一个作为一个备份,这个备份会被用在“最后一次正确的配置”之中。比如,如果你因为安装了显卡驱动,重启的时候,Hardware注册表键还没有被创建成功,系统就已经崩溃了,那么你就可以使用最后一次正确配置,系统会还原上一次的ControlSet信息,然后重新生成Hardware,这样就可以撤销更改
c) 载入和初始化设备驱动程序
d) 启动服务,这个时候ntoskrnl就会启动smss会话管理器,smss启动其他高层子系统和服务,加载初始化内核模式中的Win32子系统,启动csrss.exe(Win32子系统在用户模式中的部分),进而进入Win32子系统。当这些操作完成后,windows的图形化界面也就出来了,用户也就可以使用键盘鼠标了
e) Smss启动winlogon,winlogon会启动本地安全性授权lsass.exe子系统,加载图形化标识和认证,并等待用户登录,然后启动后台服务管理器services,通过services来启动所有标识为自启动的win32服务程序
至此,windows启动完成
首发于我的个人网站: 点击打开链接
相关文章推荐
- windows系统启动过程原理全面分析
- Windows系统启动过程
- windows系统的启动过程
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
- 安装解压版本的MySQL,安装过程中的常见命令,检查windows系统错误日志的方式来检查MySQL启动错误,关于Fatal error: Can't open and lock privilege
- windows系统启动过程原理全面分析
- windows系统启动过程
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
- Windows Vista系统启动过程概述
- Windows系统启动过程详细分析
- Windows系统启动过程
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
- 安装解压版本的MySQL,安装过程中的常见命令,检查windows系统错误日志的方式来检查MySQL启动错误,关于Fatal error: Can't open and lock privilege
- 关于 Windows系统电脑启动过程
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
- WINDOWS系统启动过程中是如何调用硬盘数据的?
- windows系统启动全过程
- u盘启动安装ubuntu与windows双系统过程记录以及可能出现的问题提示
- Windows 系统背景:Windows 启动过程图详解
- 浅谈Windows 7系统启动过程