【针对UEFI启动+单系统】在开机的10s内,你的电脑都干了什么?

UEFI+GPT Windows操作系统启动流程
基本概念
BIOS/UEFI:沟通硬件和软件的桥梁

*BIOS为软件,UEFI为启动方式

BIOS定义

UEFI定义

ESP:隐藏的分区,可在磁盘管理看到

BCD:在\EFI\Microsoft\Boot中

第一步 加电自检POST(PowerOnSelfTest)
计算机BIOS/UEFI的功能,对硬件进行检测并将结果显示在固件可以控制的输出接口(如显示屏/打印机/LED等设备上),速度极快,共27步

第二步 引导
1.电源给主板供电后主板再给其他硬件供电,主板持续给CPU发送RESET信号进行初始化
2.CPU读取UEFI指令执行UEFI初始化,控制权转交给UEFI
3.UEFI读取ESP分区,加载bootmgfw.efi,控制权交给bootmgfw.efi
4.bootmgfw.efi读取BCD文件,加载winload.efi,控制权交给winload.efi
*Windows引导文件:bootmgfw.efi和winload.efi
ESP:\EFI\Microsoft\Boot\bootmgfw.efi C:\Windows\system32\winload.efi
5.winload.efi读取bootstat.dat文件
*bootstat.dat:Windows启动文件,用于记录Windows启动状态(判断是否进入安全模式/恢复模式)
C:\Windows\system32\bootstat.dat
6.winload.efi加载ntoskrnl.exe和必要的dll,控制权交给winload.efi
*ntoskrnl.exe:WindowsNT内核程序,用于调度系统驱动等,在任务管理器里显示为System
C:\Windows\system32\ntoskrnl.exe
第三步 加载系统内核
1.ntoskrnl.exe加载注册表和硬件设备驱动程序,启用内存分页
2.ntoskrnl.exe启动smss.exe
*smss.exe:Windows会话管理器/会话管理子系统,用于初始化系统变量和启动用户会话
C:\Windows\system32\smss.exe
3.smss.exe创建系统环境变量,对系统环境进行初始化,创建虚拟内存页面文件,对一些必要的文件进行重命名
4.ntoskrnl.exe启动csrss.exe
*csrss.exe:客户端、服务端运行时子系统(32位子系统,32位系统没有这个子系统),用于管理Windows图形相关任务、创建或删除线程
C:\Windows\system32\csrss.exe
第四步 系统初始化
1.ntoskrnl.exe启动services.exe winlogon.exe logonUI.exe lsass.exe等一系列软件
*services.exe:Windows服务和控制器应用,用于管理启动和停止服务
C:\Windows\System32\services.exe
*winlogon.exe:WindowsNT用户登录程序,用于管理用户登录和退出
C:\Windows\System32\winlogon.exe
*logonUI.exe:Windows系统登录界面,由winlogon.exe启动
C:\Windows\System32\logonUI.exe
*lsass.exe:Windows本地安全权限服务,用于计算机本地安全和登陆策略
C:\Windows\System32\lsass.exe
2.启动userinit.exe svchost.exe
*userinit.exe:Windows系统关键进程,用于管理不同的启动顺序
C:\Windows\System32\userinit.exe
*svchost.exe:Windows服务主进程,用于运行服务
C:\Windows\System32\svchost.exe
3.启动explorer.exe
*explorer.exe:文件资源管理器,用于显示系统的桌面环境桌面图标和文件管理
C:\Windows\explorer.exe
4.进入桌面,至此Windows启动完毕