windows引导过程简介

https://social.technet.microsoft.com/wiki/contents/articles/11341.windows-7-the-boot-process-explained.aspx

Boot Process Overview

Fast OS startup performance is critical for a good user experience. The time required to boot the operating system on a given computer to the point where the user can start working is one of the most important benchmarks for Windows client performance. The Windows boot process consists of several phases which are explained in more detail by the picture and supporting text below.

The Windows Performance Toolkit (included in the Windows 7.1 SDK  ) allows you to investigate most of the boot phases (except for BIOS Initialization and OS Loader).

  1. MBR阶段(16位实模式):BIOS在完成通电自检后,将控制权移交给位于硬盘前63个扇区的MBR(Master Boot Record),MBR将自己的镜像加载到内存,然后执行对分区表的搜索,然后将控制权转移给第一个活动分区的PBR(Partition Boot Record);
  2. PBR阶段(16位实模式):PBR是因操作系统而异的分区引导记录,它将自身加载到内存并加载基本的磁盘驱动,通过BIOS INT中断的方式查找此分区上的引导文件,也就是我们的Bootmgr,并将其加载到内存;
  3. Bootmgr阶段(16位实模式和32位无分页内存):读取BCD信息,显示启动菜单,如果安装有多个版本的Windows引导记录,能在这里选择要启动的系统,或者执行内存测试等操作,在选定操作系统后,将Windows BootLoader——Winload.exe加载到内存;
  4. Winload.exe阶段(32位或64位 保护模式,有内存分页):加载Windows内核 Ntoskrnl.exe和它的依赖项Kdcom.dll(Kernel Debugger),Ci.dll,Clfs.sys,Pshed.dll,HAL.dll(硬件抽象层,其实就是主板驱动),并将注册表中HKLM\SYSTEM子键内容加载到内存,如果检测到页面文件Hiberfil.sys则启动Winresume.exe恢复休眠文件;
  5. Ntoskrnl.exe阶段(保护模式):初始化Windows执行体并一一加载注册在HKLM\SYSTEM\CurrentControlSet\Services下标记为System的系统驱动程序,运行会话管理器smss.exe,准备运行native code所需的环境;
  6. Smss.exe阶段(Native程序):初始化环境变量和Windows图形子系统(Win32k.sys),初始化Windows API(csrss.exe)和Windows初始化进程(WinInit.exe)和登陆进程(WinLogon.exe);
  7. WinInit.exe阶段(Windows程序):初始化服务管理器(SCM),本地安全鉴定进程(LSASS)和本地会话管理器(LSM),初始化剩余的注册表中的启动项内容,以用户态运行启动项任务;
  8. Winlogon.exe阶段:显示登陆画面,处理与用户登录相关的安全鉴定任务;
  9. Services.exe阶段:完成加载在HKLM\SYSTEM\CurrentControlSet\Services下标记为AutoStart的驱动程序和Windows服务;
  10. Explorer.exe阶段:在创建Windows Shell(Explorer.exe)时,初始化桌面窗口管理器(DWM)进程,Explorer.exe加载自身和相关启动项。

自此Windows的启动流程才算基本结束

 

 

 

Share

发表评论

电子邮件地址不会被公开。 必填项已用*标注