52Windows PE 启动流程简述

Windows PE 启动流程简述

微软原版的Windows PE(Preinstallation Environment预安装环境)是一个用于系统部署、修复和恢复的精简版Windows操作系统.它的启动过程比完整的Windows系统要轻量和快速得多.下面说明PE系统的启动步骤.


1. 硬件初始化阶段(BIOS/UEFI)

  • BIOS(基本输入输出系统) 或 UEFI(统一可扩展固件接口) 首先执行硬件初始化.这一阶段负责自检和初始化系统的硬件,包括CPU、内存、硬盘、USB接口等.
  • BIOS/UEFI从用户配置的启动顺序(NVRAM)中检查可启动设备,例如硬盘,U盘和光盘.在选择到合适的启动设备后,BIOS/UEFI会将启动控制权交给该设备的引导程序.

细节说明:

  • UEFI模式通常是现代计算机的默认启动方式,与BIOS不同,它能够使用GPT分区表,支持更大的磁盘,并且具有更快的启动速度.
  • BIOS模式下,会通过 MBR(主引导记录) 识别启动设备.

2. 引导加载程序(Bootmgr/Bootmgfw.efi)启动

  • Windows PE的引导加载程序是 Bootmgr(Windows Boot Manager)/Bootmgfw.efi.
  • Bootmgr 是负责加载Windows PE启动配置的程序,它会从启动设备中读取并执行引导配置数据(BCD,Boot Configuration Data,启动配置数据)文件中的启动配置.
  • 在BCD中,定义了系统启动时需要加载哪些核心组件以及引导过程的参数,比如内核文件、启动选项、驱动加载等.

细节说明:

  • Bootmgr 并不会直接启动操作系统内核,而是负责找到并解析BCD文件,然后加载内核相关文件.BCD文件包含了启动信息的配置,比如启动路径、设备标识、系统根目录等.
  • 如果设备支持 Secure Boot(安全启动),此时会进行安全检查,确保引导文件没有被篡改.

3. 加载Windows PE核心组件

  • 在加载引导配置文件之后,Bootmgr/Bootmgfw.efi会开始加载PE系统的核心文件,这个过程主要涉及到 boot.wim 文件的加载.
  • boot.wim 是Windows PE的核心系统镜像文件,通常位于启动介质的 \sources 目录下.wim文件是一个压缩包格式,包含了PE系统运行所需的最核心的操作系统文件.

细节说明:

  • boot.wim 文件的大小远小于完整的Windows映像文件,通常不到500MB,而完整的Windows10系统wim文件高达4.72GB.
  • WIM解压:boot.wim 被加载到内存后,系统会解压其中的必要文件.
  • Windows PE会将这些文件直接加载到内存(也就是Ramdisk模式启动,详见我的第25篇文章:《25Ramdisk 启动模式简介》)而不是加载到硬盘,这样就可以在没有持久存储的情况下运行.

4. 启动WinPE内核

  • bootmgr / bootmgfw.efi会从解压后的文件中启动PE系统的核心组件,这些组件包括:
    • WinPE内核:PE系统使用的是被精简的的Windows NT内核.(例如,Windows图形界面桌面被移除了).
    • HAL:加载与当前硬件架构匹配的硬件抽象层.
    • 驱动程序:例如存储驱动、USB驱动、网络驱动等,以便与硬件进行交互.

细节说明:

  • 在内核加载的同时,Windows PE会初始化基本的文件系统,允许用户访问存储设备.PE使用 NTFS 文件系统,并能够在启动后访问挂载的系统分区.
  • 驱动程序的加载通过内置的驱动实现,PE系统所包含的驱动相对有限,可能无法适配所有的硬件而导致无法启动.

5. WinPE Shell 启动

  • winpeshl.exe 是Windows PE系统启动后的一个重要组件,它负责启动PE系统的命令行界面.在加载完内核和驱动之后,系统会运行 winpeshl.exe.
    • winpeshl.exe 是PE系统的shell程序,通常会以命令行界面(cmd)作为默认的与用户交互方式,但在第三方的PE系统中,它可以启动不同的图形界面工具或其他应用程序.
    • PE系统的服务,比如文件管理、磁盘分区、网络等,会在这个阶段被加载并初始化.

细节说明:

  • 如果PE系统有定制的特殊用途,比如用于自动化安装,winpeshl.exe 还可以启动特定的脚本来执行这些任务.
  • 对于Windows ISO的自动化部署,PE启动后winpeshl.exe通常会调用 setup.exe 来启动Windows安装程序.


总结

微软官方的Windows PE系统启动流程:

  1. 硬件初始化:BIOS/UEFI初始化并选择启动设备,用户回车进入PE系统.
  2. 运行Bootmgr/Bootmgfw.efi:加载BCD文件,读取启动配置.
  3. 加载boot.wim:解压并加载Windows PE的核心文件.
  4. 内核加载:启动精简的Windows NT内核,初始化必要驱动.
  5. winpeshl.exe启动:进入PE系统环境,启动命令行界面.
  6. 启动结束:用户可以输入命令操作.

以上为半专业的PE系统流程解析,如有不足请见谅.

posted @ 2025-11-30 23:38  吕了了  阅读(0)  评论(0)    收藏  举报