Windows系统的启动过程是一个复杂而精细的操作序列,它涉及多个组件和阶段的协同工作,以确保系统能够顺利加载并准备好用户交互。以下是Windows系统启动过程:
1. 预启动环境(Pre-Boot Environment)
电源开启:用户按下电源按钮,计算机开始供电。
BIOS/UEFI初始化:
(1)BIOS/UEFI启动:计算机通电后,CPU首先读取主板上的ROM芯片中的BIOS或UEFI程序(BootLoader)。
(2)自检与初始化:BIOS/UEFI执行加电自检(POST),检查硬件设备是否正常,并初始化系统硬件。
(3)选择启动设备:根据用户设置的启动顺序,BIOS/UEFI选择启动设备(如硬盘、U盘等)。
(4)加载引导程序:从选定的启动设备加载引导程序(如GRUB或Windows Boot Manager),并将控制权交给引导程序。
2. 加载启动加载程序
加载Bootmgr:Bootmgr(启动管理器)是Windows Vista及更高版本中的启动加载程序,负责启动Windows操作系统。它从启动设备加载到内存中。
选择启动配置:Bootmgr读取BCD(启动配置数据存储),确定要启动的Windows版本和配置。
3. Windows加载程序阶段
加载Winload.exe:Winload.exe随后加载操作系统的内核文件(如Ntoskrnl.exe)和硬件抽象层(hal.dll),以及必要的驱动程序和注册表项,负责初始化内核和核心设备驱动程序。
内核初始化:控制权移交给解压后的内核代码入口点,执行架构特定的初始化。完成基础硬件初始化后,内核调用start_kernel函数,进行内核的详细初始化。
内核初始主要作用:
(1)准备运行环境:内核初始化确保系统硬件和软件环境处于正确状态,为操作系统运行提供基础。
(2)启动系统服务:初始化内存管理、硬件设备、中断处理等,启动必要的系统服务和守护进程。
(3)用户交互准备:设置控制台、加载驱动等,为用户登录和应用程序运行做好准备。
会话管理器(SMSS.exe)启动:内核创建首个用户模式进程,即会话管理器(SMSS.exe),会话管理器负责初始化用户环境,如变量、网络等,启动Windows会话,包括服务、用户登录等。
4. 用户登录和界面加载
服务启动:服务控制管理器(SCM)开始启动系统服务,这些服务是后台运行的应用程序,支持系统功能和用户应用程序。
登录屏幕:显示登录屏幕,等待用户输入凭据。
用户会话:用户成功登录后,用户会话开始,加载用户配置文件、桌面环境、应用程序等。
5. 完整启动
启动应用程序:根据用户设置,自动启动特定的应用程序和服务。
准备就绪:系统完全加载,用户可以与系统进行交互。
6. 背景任务和优化
后台任务:系统可能继续执行后台任务,如索引文件、更新应用程序等。
性能优化:系统可能进行性能优化,如预加载常用应用程序数据到内存。
Windows操作系统启动过程
于 2024-09-10 11:49:02 首次发布