Windows启动过程

BIOS+MBR

BIOS(Basic Input Output System,基本输入输出系统),是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制

CMOS是主板上的一块可读写的并行或串行FLASH芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。

这是传统的启动方案。

机器通电以后,从BIOS中载入指令进行一系列自检操作,进行硬件的初始化检查。自检后根据CMOS的设置,加载启动盘,将MBR中的引导代码载入内存。引导代码检测当前使用的文件系统,winxp系统查找ntldr文件,找到之后启动ntldr,由ntldr完成之后的启动工作(win7之后使用,使用的是Bootmgr文件)。

之后检查和配置硬件设备

ntrldr首先将加载Windows内核ntoskrnl.exehal.dll,读取机器安装的驱动程序计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\,然后依次加载驱动程序。初始化底层设备驱动,在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\键下查找 "Start"的值为0和1的设备驱动。Start的值可以为0,1, 2,3, 4,数值越小,启动越早。
Windows启动过程_第1张图片
驱动加载完成,内核会启动会话管理器smss.exe,这是Windows系统中创建的第一个用户模式的进程,
在这里插入图片描述
该会话管理器首先创建系统环境变量,加载win32k.sys,启动csrss.exe
在这里插入图片描述
启动winlogon.exe,创建虚拟内存页面文件
在这里插入图片描述
Windows子系统通过启动winlogon.exe对Windows用户提供登录和注销,启动控制服务管理器services.exe SCM,启动本地安全授权lsass.exe LSA,显示登录界面

登录组件将用户的账户和密码安全地传送给LSA进行认证处理。如果用户提供的信息是正确的,能够通过认证,就允许用户对系统进行访问。

对于win7以后,由Bootmgr接管之前ntldr的工作,首先寻找活动分区boot文件夹下的启动数据配置BCD文件,读取显示启动菜单,在屏幕上显示多操作系统选择画面。
Windows启动过程_第2张图片
选择系统之后,启动winload.exe进行内核、硬件、服务等加载,进而启动整个系统。
Windows启动过程_第3张图片

UEFI+GPT

这是比较新的启动方案。
UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口),主要用于替换BIOS。

UEFI本身已经相当于一个微型操作系统,具备文件系统的支持能力,能够直接读取FAT分区中的文件,.efi文件可在UEFI下直接运行。

GPT(GUID Partition Table,全局唯一表示分区表),只有基于UEFI平台的主板才支持GPT分区引导活动

Reference:加密与解密[系统篇]

你可能感兴趣的:(windows,内核,启动过程)