其他分享
首页 > 其他分享> > WinPE制作相关知识

WinPE制作相关知识

作者:互联网

电脑开机启动过程

背景知识

首先,每个独立的硬盘都只有一个主引导扇区MBR(共512字节),记录着硬盘分区的信息。主引导扇区包括:BOOT LOADER(主引导程序,446字节)、DPT(硬盘分区表,64字节)、结束标志(55AA,2字节)。此扇区与是否已经分区无关,与安装的操作系统无关,硬盘都存在。PBR是分区引导记录,每个分区都有。

上面说到DPT即分区表,总共有64个字节,每个分区参数占用16个字节,做个简单的除法可知:硬盘最多可分4个逻辑磁盘(独立互不干扰)。我们看到的硬盘分区可能会出现很多个,这是何故?这是引入拓展分区的缘故。独立互不干扰的4个逻辑磁盘,可以全部是主分区,即通常说的最多可分4个主分区;如果只有三个主分区,剩下的那个逻辑磁盘设成拓展分区,而拓展分区包括很多相互连接的逻辑分区(不像主分区那样独立自主)。一言以蔽之,硬盘分区包括主分区+拓展分区。拓展分区=很多逻辑分区相加,主分区最多4个。

系统分区、启动分区、活动分区这三个分区之间的关系。其中系统分区、启动分区这两个名字好像起反了,系统分区中包含“启动文件”(NTLDR、BOOTMGR等),启动分区包含系统文件(比如Windows文件夹)。每次电脑启动时,必须有且仅有一个活动分区,装载活动分区里面的“启动文件”,因此活动分区就是系统分区。

系统启动原理

  1. WindowsXP系统启动:开机自检——将MBR(主引导扇区)代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(NTLDR)——接着读取同目录下的BOOT.INI文件(系统启动菜单管理文件)—进入WindowsXP系统。

  2. Windows7系统启动:开机自检——将MBR代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(BOOTMGR)——接着读取同目录下的BCD文件(启动配置文件)——交给启动分区的Winload.exe——进入Windows7系统。

  3. WindowsXP和Windows7双系统启动:开机自检——将MBR代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(BOOTMGR)——读取同目录下的\BOOT\BCD和BOOT.INI文件——列出启动菜单:如果选择Windows7接下来由Winload.exe接管;如果选择WindowsXP接下来由NTLDR接管。

Windows Vista的启动过程:

进入Vista系统 正常登陆 休眠状态恢复 进入XP系统 BIOS Windows Vista正常启动 Windows Vista Windows vistal 自休眠状态恢复 Winresume.exe OS Loader Winload.exe Ntoskrnl.exe Hal.dll 从注册表读取设置加载驱动 Windows会话管理器Smss.exe Wininit.exe Lsass.exe Services.exe 进入登陆界面 Ntldr.exe Windows 2000/xp Boot.ini生成启动菜单 BIOS读取MBR主引导记录 POST开机加电自检 Windows启动管理器 读取启动配置数据 生成并显示启动菜单

XP系统的电脑启动过程:

Legacy模式 UEFI模式 MBR 传统BIOS 引导扇区 NTLDR BootMgr EFI WinLoad CPU复位 开机时的系统信息 NTOS 微软经典窗口UI SMSS WiniLogon CSRSS LogonUI 登陆界面 Services LSASS USERINT Startup APP Shell 开机cmd启动exploer等 SvcHost

什么是 Windows PE

WinPE定义

Windows预先安装环境(英语:Microsoft Windows Preinstallation Environment),简称Windows PE或WinPE,是Microsoft Windows的轻量版本,主要提供个人电脑开发商(主要为OEM厂商)、工作站、服务器打造定制的操作系统环境,或系统离线时进行故障排除来使用,以取代格式较旧的MS-DOS引导磁片/引导光盘。其可理解为Windows的Live CD或子系统,系统核心采用32位/64位。由于硬件需求不大,因此便于存储在光盘、U盘等各种便携式存储设备。

Windows PE最初是设计给个人电脑开发商使用,以便于电脑生产时将Windows预装入内,但目前也以捆包的方式提供给一般的软件开发者使用,目前从Windows XP以及之后的Windows公开版本都有支持。————Form 维基百科

WinPE特点

WinPE 版本编号

下面简要介绍 Windows PE 的命名规则[略去Windows Server 2003/2008/2012]:
Windows PE 1.x表示Windows XP内核
Windows PE 2.x表示Windows Vista内核
Windows PE 3.x表示Windows 7内核
Windows PE 4.x表示Windows 8.0内核
Windows PE 5.x表示Windows 8.1/10内核
x表示系统版本,例如SP1(带有Service Pack 2)
举例:PE 1.3表示Windows XP SP3内核的PE
WinPE1.0 基于WinXP
WinPE1.1 基于WinXP SP1
WinPE1.2 基于Win2003
WinPE1.5 基于WinXP SP2
WinPE1.6 基于Win2003 SP1
WinPE2.0 基于Win Vista
WinPE2.1 基于Win Vista SP1
WinPE2.2 基于Win Vista SP2
WinPE3.0 基于Win7
WinPE3.1 基于Win7 SP1
WinPE4.0 基于Win8
WinPE5.0 基于Win8.1

Windows PE 的启动过程

  1. Windows PE 在特定媒体上加载启动扇区.系统将控制传递给 Bootmgr.Bootmgr 从启动配置数据 (BCD) 中提取基本启动信息,并将控制传递给包含在 Boot.wim 文件中的 Winload.exe 文件.然后 Winload.exe 将加载相应的硬件抽象层 (HAL),接着加载系统注册表配置单元和必要的启动驱动程序.Winload.exe 完成加载后,将会准备要执行内核 Ntoskrnl.exe 的环境.
  2. 该环境将执行 Ntoskrnl.exe 文件.然后 Ntoskrnl.exe 完成环境设置.系统将控制传递给会话管理器 (SMSS).
  3. SMSS 加载注册表的剩余部分,然后配置运行 Win32 子系统 (Win32k.sys) 的环境及其各种进程.SMSS 加载用于创建用户会话的 Winlogon 进程,然后启动服务和剩余的非必要设备驱动程序及安全子系统 (LSASS).
  4. Winlogon.exe 根据 HKEY_LOCAL_MACHINE\SYSTEM\Setup\CmdLine 注册表值来运行设置.Winpeshl.exe 将启动 %SYSTEMDRIVE%\sources\setup.exe 文件,前提是该文件存在.如果该文件不存在,Winpeshl.exe 将确定 %SYSTEMROOT%\system32\winpeshl.ini 文件是否指定了某个应用程序.如果该文件未指定应用程序,则 Winpeshl.exe 将执行 cmd /k %SYSTEMROOT%\system32\startnet.cmd 文件.默认情况下,Windows PE 包含启动 Wpeinit.exe 文件的 Startnet.cmd 文件.Wpeinit.exe 将加载网络资源并协调网络组件(如 DHCP).
  5. 当 Wpeinit.exe 结束时,将会出现命令提示符窗口.当命令提示符窗口出现时,Windows PE 的启动进程结束.

简化版示意图:

引导文件 bootmgr BCD boot.wim 启动PE

Windows PE 的来源

  1. winpe.wim
    源自ADK/AIK——被称为"微软官方PE",是最为纯粹的版本,可以进入CMD操作界面

  2. winre.wim
    <系统安装光盘或ISO>\Sources\install.wim\Windows\System32\Recovery\winre.wim ——可以进入恢复环境

  3. boot.wim
    <系统安装光盘或ISO>\Sources\boot.wim——定制版的Windows PE,将启动setup.exe,执行系统的安装

CPU体系结构简单说明
x64又名x86-64、AMD64,基于CISC复杂指令集的64位兼容32位架构处理器,主要应用于全新的桌面平台,如Intel Core i全系列处理器。
x86又名IA32、i386,基于CISC复杂指令集的纯32位处理器架构处理器,主要应用于老旧的桌面平台,如Intel Pentium Ⅲ全系列处理器。
IA64又名Itanium64,基于EPIC显式并行指令集的纯64位架构处理器,主要应用于安腾的服务器平台,如Intel Itanium全系列处理器。
ARM又名AArch32、ARMv7,基于RISC精简指令集的32位架构处理器,主要应用于老旧的移动平台,如Qualcomm MSM8x全系列处理器。
ARM64又名AArch64、ARMv8,基于RISC精简指令集的64位架构处理器,主要应用于全新的移动平台,如Qualcomm SDM全系列处理器。
UEFI体系结构简单说明
x64主板的UEFI BIOS固件基于x64架构,其常见的引导文件名为bootx64.efi,通常只能启动x64版本的系统,常用于现在绝大部分的台式电脑和笔记本电脑。
x86主板的UEFI BIOS固件基于x86架构,其常见的引导文件名为bootia32.efi,通常只能启动x86版本的系统,常用于一些Atom的x86平板。
IA64主板的UEFI BIOS固件基于IA64架构,其常见的引导文件名为bootia64.efi,通常只能启动IA64版本的系统,常用于Itanium的服务器。
ARM主板的UEFI BIOS固件基于ARM架构,其常见的引导文件名为bootarm.efi,通常只能启动ARM32版本的系统,常用于旧式ARM的32位平板。
ARM64主板的UEFI BIOS固件基于ARM64架构,其常见的引导文件名为bootaa64.efi,通常只能启动ARM64版本的系统,常用于新式ARM的64位平板。

标签:exe,启动,Windows,WinPE,知识,系统,PE,制作,分区
来源: https://blog.csdn.net/Caoyang_He/article/details/118254842