WinPE制作相关知识

本文介绍了电脑开机启动过程,重点解析了Windows PE的定义、特点、版本编号及启动流程。WinPE作为简化版的Windows,常用于系统维护和安装。了解WinPE的工作原理,有助于更好地进行系统故障排查和安装操作。
摘要由CSDN通过智能技术生成

电脑开机启动过程

背景知识

首先,每个独立的硬盘都只有一个主引导扇区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是简化版的Microsoft Windows,放在一片可直接引导的CD或DVD光盘或者U盘,以加载到存储器的方式运行。特点是引导时出现此版本Windows PE简化自之原版本的引导画面,以及出现简单的图形接口(GUI),亦能运行Internet Explorer。相比完整的Windows,Windows PE功能有限,主要用于系统维护。
  • WinPE支持网络,但只附带以下工具:命令提示符、记事本和一些维护工具。
  • WinPE初衷只是方便企业制造自定义的Microsoft Windows,因此市面上并没有出售(但允许无偿外发)。
  • 在微软的批准下,其他软件公司可附上自己的软件于WinPE,令引导电脑时候运行有关的程序。这些软件通常是系统维护,在电脑不能正常运作的情况下,可运用有关的系统维护软件修复电脑。维护软件包括Symantec Norton Ghost等等。
  • Windows Vista,Windows 7,Windows 8,Windows 10的安装程序,亦是基于WinPE。在“安装 Windows”界面上按下Shift+F10,可开启“命令提示符”。
  • WinPE 大多被OEM厂商所使用,举例来说就像刚买回来的品牌套装电脑,不需要完全从头安装操作系统,而是从完成安装开始。OEM厂商可以自定系统安装完成后,运行安装驱动程序的动作、修改‘电脑’中的OEM商标、安装辅助程序…。简单来说WinPE的作用是使用在大量的电脑安装(同规格之电脑),以达到快速且一致性的安装。
    -因为和电脑中的系统没有关联,可以任意添加/修改/复制系统文件,甚至可以格式化电脑中系统所在的磁盘。这种得天独厚的优势使得PE可以深入操作系统文件。

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位平板。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邪三一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值