自定义 Windows PE 启动映像

Windows ADK 附带的 Windows PE (WinPE) 启动映像具有最少数量的功能和驱动程序。 但是,可以通过添加驱动程序、可选组件和应用最新的累积更新来自定义启动映像。

Microsoft 建议使用最新的累积更新更新 Windows PE 启动映像,以获得最大的安全性和保护。 最新的累积更新也可能解决已知问题。 例如,可以使用最新的累积更新来更新 Windows PE 启动映像,以解决 BlackLotus UEFI 启动工具包漏洞,如KB5025885:如何管理与 CVE-2023-24932 关联的安全启动更改的 Windows 启动管理器吊销和 CVE-2023-24932 中所述。

本演练介绍如何自定义 Windows PE 启动映像,包括使用最新累积更新进行更新、添加驱动程序和添加可选组件。 此外,本演练介绍了启动映像中的自定义如何影响利用启动映像的几种不同常用产品,例如Microsoft Configuration Manager、Microsoft Deployment Toolkit (MDT) 和 Windows 部署服务 (WDS) 。

必备条件

步骤

步骤 1:下载并安装 ADK

  1. 从下载并安装 Windows ADK (Windows ADK) 下载并安装 Windows 评估和部署工具包。

    对于此演练,安装 Windows ADK 时,只需安装 部署工具。 其他产品(如 Microsoft Configuration Manager 和 Microsoft Deployment Toolkit (MDT) )可能需要安装其他功能,例如用户状态迁移工具 (USMT)

    安装 部署工具 功能时安装的工具之一是 部署和映像工具环境 命令提示符。 使用 命令行 选项运行本演练中的命令时,请确保从提升的 部署和映像工具环境 命令提示符运行命令。 可以在 Windows 工具包>部署和映像工具环境下的“开始”菜单中找到“部署和映像工具环境”命令提示。

    本文中的路径假定 Windows ADK 安装在默认位置 C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit。 如果 Windows ADK 安装在其他位置,请在演练过程中相应地调整路径。

  2. 从下载并安装 Windows ADK 下载并安装适用于 Windows ADK 的 Windows PE 加载项。 Windows ADK 的 Windows PE 加载项是从 Windows 评估和部署工具包 (Windows ADK) 进行单独下载和安装。 请确保单独下载并安装这两者。

重要提示

强烈建议下载并安装最新版本的 Windows ADK 和 Windows ADK 的 Windows PE 加载项。

在某些情况下,可能需要使用较旧版本的 Windows ADK 和 Windows PE 加载项,而不是最新版本。 例如:

  • Microsoft Deployment Toolkit (MDT) 不支持超过 Windows 10 的 Windows 或 Windows ADK 版本。 如果使用 MDT,建议改用适用于 Windows 10 版本 2004 的 ADK。 此版本是 MDT 支持的最后一个 Windows ADK 版本。

  • 适用于 Windows ADK 的最新版本的 Windows PE 加载项仅包含 64 位启动映像。 如果需要 32 位启动映像,则此方案中的建议是还将 ADK 用于 Windows 10 版本 2004。 此版本的 Windows ADK 是包含 32 位和 64 位启动映像的最后一个版本。

步骤 2:下载累积更新 (CU)

  1. 转到 Microsoft 更新目录 站点并搜索最新的累积更新。 累积更新的 Windows 版本应与正在更新的 Windows PE 启动映像的版本匹配。

  2. 搜索 Microsoft 更新目录 网站时,请使用搜索词 "<year>-<month> cumulative update for windows <x>" ,其中 year 是四位数的当前年份, <month> 是两位数的当前月份,是 <x> Windows PE 所基于的 Windows 版本。 请确保在) (" 包含引号。 例如,若要在 2023 年 8 月搜索Windows 11的最新累积更新,请使用搜索词 "2023-08 cumulative update for Windows 11",再次确保包含引号。 如果当前月份尚未发布累积更新,请搜索上一个月。

  3. 找到累积更新后,请下载与 Windows PE 启动映像匹配的 Windows 版本和体系结构的相应版本。 例如,如果 Windows PE 启动映像的版本Windows 11 22H2 64 位,则下载更新的 Windows 11 版本 22H2(适用于基于 x64 的系统的版本)。

  4. 将下载的累积更新存储在已知位置供以后使用,例如 C:\Updates

提示

使用累积更新更新启动映像时,建议使用完整的累积更新。 但是,可以下载并使用 SafeOS 的累积更新,而不是下载完整的累积更新。 这将减少最终更新的启动映像的大小。 如果使用 SafeOS 累积更新更新的启动映像发生任何问题,请改用完整的累积更新。

注意

更新 Windows 10 版本 2004 的 ADK 中的启动映像时,请下载 Windows 10 版本 22H2 的累积更新。

步骤 3:备份现有启动映像

在修改所需的启动映像之前,请创建需要更新的启动映像的备份副本。 例如:

  • 对于 Windows ADK 的 Windows PE 加载项附带的 64 位启动映像,启动映像位于 C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim

  • 对于 Microsoft Configuration Manager 生成的默认 64 位启动映像,启动映像位于 <ConfigMgr_Install_Directory>\OSD\boot\x64\boot.wim。 对于 Configuration Manager 中的其他启动映像,启动映像的路径显示在启动映像的“属性”的“数据源”选项卡下的“映像路径:”字段中。

    但是,对于Microsoft Configuration Manager建议改为修改 winpe.wimWindows ADK 的 Windows PE 加载项附带的启动映像。 有关详细信息,请参阅Microsoft Configuration Manager注意事项

  • 对于 Microsoft Deployment Toolkit (MDT) 生成的默认 64 位启动映像,启动映像位于 <Deployment_Share>\Boot\LiteTouchPE_x64.wim

    但是,对于 Microsoft Deployment Toolkit (MDT) 建议改为修改 winpe.wimWindows ADK 的 Windows PE 加载项附带的启动映像。 有关详细信息,请参阅 Microsoft Deployment Toolkit (MDT) 注意事项

  • 对于 Windows 部署服务 (WDS) 中的 64 位启动映像,启动映像位于 <RemoteInstall>\Boot\x64\Images

调整 32 位启动映像的上述路径, (仅适用于 Windows 10 ADK) 。

以下命令备份 Windows ADK 的 Windows PE 加载项附带的 64 位启动映像:

在提升的 PowerShell 命令提示符下运行以下命令,创建 Windows ADK 附带的 64 位启动映像的备份副本。 如果已存在备份的启动映像,则此命令需要确认,然后才能覆盖现有的备份启动映像:

Copy-Item "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.bak.wim"

相应地调整路径和文件名,以备份其他启动映像。

若要在不确认的情况下自动覆盖现有的备份启动映像(例如在脚本中),请将 参数添加到 -Force 命令行的末尾。

有关详细信息,请参阅 Copy-Item

重要提示

使用 Windows ADK 的 Windows PE 加载项中的默认winpe.wim启动映像时,建议始终具有原始未修改启动映像的备份副本。 这允许在更新的启动映像的任何迭代中出现任何问题时还原到原始未受影响的原始启动映像。 此外,每当需要将新的累积更新应用于启动映像时,建议始终从原始启动映像重新启动,并从没有更新的原始启动映像进行更新,而不是更新以前更新的启动映像。

步骤 4:将启动映像装载到装载文件夹

  1. 创建一个新的空文件夹,以装载启动映像。 例如,C:\Mount。 如果使用以前创建的装载文件夹,请确保该文件夹为空,并且其中没有任何以前装载的映像。

  2. 使用以下方法之一将启动映像装载到装载文件夹:

    在提升的 PowerShell 命令提示符下,运行以下命令,将启动映像装载到装载文件夹:

    Mount-WindowsImage -Path "<Mount_folder_path>" -ImagePath "<Boot_image_path>\<boot_image>.wim" -Index 1 -Verbose
    

    示例

    Mount-WindowsImage -Path "C:\Mount" -ImagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim" -Index 1 -Verbose
    

    有关详细信息,请参阅 Mount-WindowsImage


步骤 5:将驱动程序添加到启动映像 (可选)

如果需要,请将任何驱动程序添加到启动映像:

在提升的 PowerShell 命令提示符下,运行以下命令之一,将驱动程序添加到启动映像:

Add-WindowsDriver -Path "<Mount_folder_path>" -Driver "<Driver_INF_source_path>\<driver>.inf"

Add-WindowsDriver -Path "<Mount_folder_path>" -Driver "<Drivers_source_path>" -Recurse

示例

Add-WindowsDriver -Path "C:\Mount" -Driver "C:\Drivers\driver.inf"

Add-WindowsDriver -Path "C:\Mount" -Driver "C:\Drivers" -Recurse

有关详细信息,请参阅 Add-WindowsDriver

本演练稍后安装的累积更新不会影响驱动程序。 将驱动程序添加到启动映像后,如果向启动映像应用了较新的累积更新,则无需再次添加该驱动程序。

提示

Windows PE 启动映像中不需要完整的驱动程序集。 在 WinPE 中,只需要提供基本功能的一小部分驱动程序。 在大多数情况下,无需将驱动程序添加到现成的 Windows ADK 启动映像,因为它已内置了许多驱动程序。 在确认需要驱动程序之前,不要将驱动程序添加到启动映像。 当确实需要添加驱动程序时,通常只需要网络 (NIC) 驱动程序。 有时,可能需要大容量存储 (磁盘) 。 某些 Surface 设备可能还需要键盘和鼠标驱动程序。

重要提示

对于 Microsoft Configuration Manager 和 Microsoft Deployment Toolkit (MDT) 启动映像,请勿使用上述步骤手动将驱动程序添加到启动映像。 请改为通过 Microsoft Configuration Manager 或 Microsoft Deployment Toolkit (MDT) 将驱动程序添加到启动映像:

  • 在 Configuration Manager中,通过启动映像的“属性”中的“驱动程序”选项卡。
  • 在 Microsoft 部署工具包 (MDT) 中,通过部署共享的“属性”中的“Windows PE”选项卡下的“驱动程序和修补程序”选项卡。

这将确保可以通过 Configuration Manager 或 Microsoft Deployment Toolkit (MDT) 正确管理启动映像中的驱动程序。

步骤 6:添加可选组件以启动映像

  1. 将任何所需的可选组件添加到启动映像:

    在提升的 PowerShell 命令提示符下运行以下命令,将可选组件添加到启动映像:

    Add-WindowsPackage -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\<Component>.cab" -Path "<Mount_folder_path>" -Verbose
    

    示例

    Add-WindowsPackage -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab" -Path "C:\Mount" -Verbose
    

    这些示例假定 64 位启动映像。 如果使用的是其他体系结构,请相应地调整命令中的路径。

    有关详细信息,请参阅 Add-WindowsPackage

  2. 将可选组件添加到启动映像后,请确保还要为该可选组件添加特定于语言的组件。

    并非所有可选组件都具有特定于语言的组件。 但是,对于具有特定于语言的组件的可选组件,请确保已安装特定于语言的组件。

    若要检查可选组件是否具有语言组件,检查C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\<Language>\目录以查看该可选组件是否有匹配的语言组件。

    例如,若要安装可选组件的英语美国 (en-us) 语言组件,请使用以下命令行:

    在提升的 PowerShell 命令提示符下运行以下命令,将可选组件的语言组件添加到启动映像:

    Add-WindowsPackage -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\<Component>_en-us.cab" -Path "<Mount_folder_path>" -Verbose
    

    示例

     Add-WindowsPackage -PackagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Scripting_en-us.cab" -Path "C:\Mount" -Verbose   
    

    这些示例假定 64 位启动映像。 如果使用的是其他体系结构,请相应地调整路径。

    有关详细信息,请参阅 Add-WindowsPackage

重要提示

添加可选组件时,如果可选组件具有另一个可选组件的先决条件,请确保检查。 当可选组件确实具有先决条件时,请确保先安装必备组件。 有关详细信息,请参阅 WinPE 可选组件 (OC) 参考:如何添加可选组件

重要提示

将可选组件添加到启动映像后,始终需要应用或重新应用累积更新。 如果在应用累积更新后将其他可选组件添加到启动映像,则需要重新应用累积更新。

重要提示

Microsoft Configuration ManagerMicrosoft Deployment Toolkit (MDT) 启动映像都需要某些可选组件才能正常工作。 使用 Microsoft Configuration ManagerMicrosoft Deployment Toolkit (MDT) 时,请确保添加这些必需的组件。 有关详细信息,请参阅Configuration Manager启动映像所需的组件MDT 启动映像所需的组件

此外,为 Microsoft Configuration ManagerMicrosoft Deployment Toolkit (MDT) 启动映像添加任何可选组件时,请确保使用此演练手动添加可选组件,而不是通过 Configuration ManagerMDT 添加这些组件。 有关详细信息和原因,请参阅Microsoft Configuration Manager注意事项Microsoft 部署工具包 (MDT) 注意事项

以下列表包含通常添加到启动映像的更常用可选组件:

功能 文件名 依赖关系 用途 ConfigMgr必需 MDT 必需
脚本/WinPE-Scripting WinPE-Scripting.cab 不适用 支持在 WinPE 中运行非 PowerShell 脚本
Network/WinPE-WDS-Tools WinPE-WDS-Tools.cab NA 支持 WinPE 中的 WDS,包括映像捕获和多播
脚本/WinPE-WMI WinPE-WMI.cab NA 支持 WinPE 中的 WMI 和 WMI 脚本
Startup/WinPE-SecureStartup WinPE-SecureStartup.cab 脚本/WinPE-WMI 支持在 WinPE 中管理 BitLocker 和 TPM
文件管理/WinPE-FMAPI WinPE-FMAPI.cab 不适用 支持访问 Windows PE 文件管理 API
Windows PowerShell/WinPE-PowerShell WinPE-PowerShell.cab 脚本/WinPE-Scripting
脚本/WinPE-WMI
Microsoft .NET/WinPE-NetFx
支持在 WinPE 中运行 PowerShell 命令和脚本
Microsoft .NET/WinPE-NetFx WinPE-NetFx.cab 脚本/WinPE-WMI 支持 WinPE 中的 .NET 应用程序
Network/WinPE-Dot3Svc WinPE-Dot3Svc.cab NA 支持 WinPE 中的 802.1X 网络协议
HTML/WinPE-HTA WinPE-HTA.cab 脚本/WinPE-WMI 支持在 WinPE 中运行 HTML 应用程序
Database/WinPE-MDAC WinPE-MDAC.cab 不适用 支持在 WinPE 中连接到数据库

有关所有可用 WinPE 可选组件的完整列表,包括每个组件的说明,请参阅 WinPE 可选组件 (OC) 参考:WinPE 可选组件

步骤 7:向启动映像添加累积更新 (CU)

将步骤 2:下载累积更新 (CU) 步骤中下载 的累积更新 (CU) 应用到启动映像:

在提升的 PowerShell 命令提示符下运行以下命令,将累积更新 (CU) 添加到启动映像:

Add-WindowsPackage -PackagePath "<Path_to_CU_MSU_update>\<CU>.msu" -Path "<Mount_folder_path>" -Verbose

示例

Add-WindowsPackage -PackagePath "C:\Updates\windows11.0-kb5029263-x64_4f5fe19bbec786f5e445d3e71bcdf234fe2cbbec.msu" -Path "C:\Mount" -Verbose

有关详细信息,请参阅 Add-WindowsPackage

重要提示

在通过 步骤 6: 添加可选组件以启动映像步骤安装所有所需可选组件之前,请确保不要应用 CU) (累积更新。 在安装所有可选组件之前,等待安装累积更新 (CU) 可确保该累积更新也正确更新了可选组件。 如果将来需要将任何其他可选组件添加到启动映像,请确保重新应用累积更新。

服务堆栈更新 (SSU) 和错误0x800f0823

有时,将累积更新 (CU) 应用于启动映像时,可能会收到错误 0x800f0823

VERBOSE: Target Image Version <WinPE version>
WARNING: Failed to add package <Cumulative_Update_Path>\<Cumulative_Update>.msu
WARNING: Add-WindowsPackage failed. Error code = 0x800f0823
Add-WindowsPackage : An error occurred applying the Unattend.xml file from the .msu package.
For more information, review the log file.
At line:1 char:1
+ Add-WindowsPackage -PackagePath "<Cumulative_Update_Path>\<Cumulative_Update> ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Add-WindowsPackage], COMException
    + FullyQualifiedErrorId : Microsoft.Dism.Commands.AddWindowsPackageCommand

检查 DISM.log 会显示以下错误:

Package "Package_for_RollupFix~<Cumulative_Update>" requires Servicing Stack v<Required_Servicing_Stack_Version> but current Servicing Stack is v<Current_Servicing_Stack_Version>. [HRESULT = 0x800f0823 - CBS_E_NEW_SERVICING_STACK_REQUIRED]
Failed to initialize internal package [HRESULT = 0x800f0823 - CBS_E_NEW_SERVICING_STACK_REQUIRED]
Failed to create internal package [HRESULT = 0x800f0823 - CBS_E_NEW_SERVICING_STACK_REQUIRED]
Failed to create windows update package [HRESULT = 0x800f0823 - CBS_E_NEW_SERVICING_STACK_REQUIRED]
DISM Package Manager: PID=<PID> TID=<TID> Failed opening package. - CDISMPackageManager::Internal_CreatePackageByPath(hr:0x800f0823)
DISM Package Manager: PID=<PID> TID=<TID> Failed to get the underlying CBS package. - CDISMPackageManager::OpenPackageByPath(hr:0x800f0823)
DISM Package Manager: PID=<PID> TID=<TID> The specified package cannot be added to this Windows Image due to a version mismatch. - GetCbsErrorMsg
DISM Package Manager: PID=<PID> TID=<TID> Failed to open package at location [<Temp_Path>\<Cumulative_Update>.cab]. - CPackageManagerUnattendHandler::Internal_ProcessPackageFromSource(hr:0x800f0823)
DISM Package Manager: PID=<PID> TID=<TID> Failed to install package from source [0] - trying next source location. hr = [0x800F0823] - CPackageManagerUnattendHandler::Internal_UnattendInstallPackage
DISM Package Manager: PID=<PID> TID=<TID> Failed to Install the package [Multiple_Packages~~~~0.0.0.0]. - CPackageManagerUnattendHandler::Internal_UnattendInstallPackage(hr:0x800f0823)
DISM Package Manager: PID=<PID> TID=<TID> Package failed to install [Multiple_Packages~~~~0.0.0.0]. - CPackageManagerUnattendHandler::Internal_UnattendProcessPackage(hr:0x800f0823)
DISM Package Manager: PID=<PID> TID=<TID> Failed to process package at node <package[1]>. - CPackageManagerUnattendHandler::Apply(hr:0x800f0823)
DISM Package Manager: PID=<PID> TID=<TID> Failed to Apply the unattend. - CDISMPackageManager::Apply(hr:0x800f0823)
DISM Unattend Manager: PID=<PID> TID=<TID> "Error applying unattend for provider: DISM Package Manager" - CUnattendManager::Apply(hr:0x800f0823)
DISM Package Manager: PID=<PID> TID=<TID> Failed applying the unattend file from the MSU package. - CMsuPackage::ApplyMsuUnattend(hr:0x800f0823)
DISM Package Manager: PID=<PID> TID=<TID> Failed to apply the MSU unattend file to the image. - CMsuPackage::Install(hr:0x800f0823)
API: PID=<PID> TID=<TID> Failed to install msu package <Path_to_CU_MSU_update>\<MSU_Cumulative_Update>.msu - CAddPackageCommandObject::InternalExecute(hr:0x800f0823)
API: PID=<PID> TID=<TID> InternalExecute failed - CBaseCommandObject::Execute(hr:0x800f0823)
API: PID=<PID> TID=<TID> CAddPackageCommandObject internal execution failed - DismAddPackageInternal(hr:0x800f0823)

当正在服务的 WinPE 启动映像需要先安装服务堆栈更新 (SSU) ,然后才能安装累积更新 (CU) ,则会出现此问题。 使用较旧的 Windows ADK 和较旧版本的 Windows PE 时,通常会出现此问题。 建议的解决方法是升级到最新版本的 Windows ADK 和 Windows PE。 在安装累积更新 (CU) 之前,最新版本的 Windows ADK 和 Windows PE 很可能不需要安装服务堆栈更新 (SSU) 。

对于需要使用较旧版本的 Windows ADK 和 Windows PE 的方案,例如,使用 Microsoft 部署工具包 (MDT) 时,需要在安装累积更新之前安装服务堆栈更新。 服务堆栈更新 (SSU) 包含在累积更新 (CU) 中。 若要获取服务堆栈更新 (SSU) 以便可以应用,可以从累积更新中提取服务堆栈更新, (CU) 。

以下步骤概述了如何提取服务堆栈更新,然后将服务堆栈更新 (SSU) 安装到启动映像。 在启动映像中安装了服务堆栈更新 (SSU) 后,累积更新 (CU) 应安装到启动映像,而不会出错:

重要提示

仅当 0x800f0823 将累积更新 (CU) 安装到启动映像时,才需要执行这些步骤。 如果在将累积更新 (CU) 安装到启动映像时未发生错误 0x800f0823 ,请跳到下一步 步骤 8:将启动文件从装载的启动映像复制到 ADK 安装路径

  1. 创建一个文件夹以将服务堆栈更新 (SSU) 提取到中。 例如, C:\Updates\Extract

  2. 使用以下命令将累积更新 (CU) 提取到上一步中创建的文件夹的内容:

    Start-Process "expand.exe" -ArgumentList " -f:* `"<Cumulative_Update_Path>\<Cumulative_Update>.msu`" `"<Extract_Folder_Path>`"" -Wait -LoadUserProfile
    

    示例

    Start-Process "expand.exe" -ArgumentList " -f:* `"C:\Updates\windows10.0-kb5028166-x64_fe3aa2fef685c0e76e1f5d34d529624294273f41.msu`" `"C:\Updates\Extract`"" -Wait -LoadUserProfile
    

    有关详细信息,请参阅 启动进程展开

  3. 检查提取文件夹中提取的文件,并确定服务堆栈更新 (SSU) CAB 文件。 其中一个文件应称为 SSU-<Version>-<Arch>.cab。 例如,SSU-19041.3205-x64.cab。 记下 SSU) CAB 文件 (服务堆栈更新的名称。

  4. 使用在上一步中获取的服务堆栈更新 (SSU) CAB 文件的名称,使用以下命令将服务堆栈更新 (SSU) CAB 文件应用到启动映像:

    在提升的 PowerShell 命令提示符下运行以下命令,将累积更新 (CU) 添加到启动映像:

    Add-WindowsPackage -PackagePath "<Path_to_SSU_CAB_update>\<SSU>.cab" -Path "<Mount_folder_path>" -Verbose
    

    示例

    Add-WindowsPackage -PackagePath "C:\Updates\Extract\SSU-19041.3205-x64.cab" -Path "C:\Mount" -Verbose
    

    有关详细信息,请参阅 Add-WindowsPackage

  5. 使用步骤 7:添加累积更新 (CU) 中的命令,再次尝试将 累积更新 (CU) 应用到启动映像

步骤 8:将启动文件从装载的启动映像复制到 ADK 安装路径

某些累积更新包含已添加到启动映像的更新的 bootmgr 启动文件。 在启动映像中更新这些 bootmgr 启动文件后,建议将这些更新的 bootmgr 启动文件从启动映像复制回 Windows ADK。 复制这些文件可确保 Windows ADK 具有更新的 bootmgr 启动文件。

在提升的 PowerShell 命令提示符下运行以下命令,将已更新的启动文件从装载的启动映像复制到 ADK 安装路径。 这些命令还会备份其发现的任何现有 bootmgr 启动文件。 如果适用,命令需要确认以覆盖任何现有文件:

Copy-Item "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\bootmgr.efi" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\bootmgr.bak.efi"

Copy-Item "<Mount_folder_path>\Windows\Boot\EFI\bootmgr.efi" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\bootmgr.efi"

Copy-Item "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\EFI\Boot\bootx64.efi" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\EFI\Boot\bootx64.bak.efi"

Copy-Item "<Mount_folder_path>\Windows\Boot\EFI\bootmgfw.efi" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\EFI\Boot\bootx64.efi"

示例

Copy-Item "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\bootmgr.efi" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\bootmgr.bak.efi"

Copy-Item "C:\Mount\Windows\Boot\EFI\bootmgr.efi" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\bootmgr.efi"

Copy-Item "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\EFI\Boot\bootx64.efi" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\EFI\Boot\bootx64.bak.efi"

Copy-Item "C:\Mount\Windows\Boot\EFI\bootmgfw.efi" "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\EFI\Boot\bootx64.efi"

若要在不确认的情况下覆盖 bootmgr 启动文件和任何备份的 bootmgr 启动文件(例如在脚本中),请将 参数添加到 -Force 命令行的末尾。

有关详细信息,请参阅 Copy-Item

此步骤不会更新或更改启动映像。 但是,它确保在通过 Windows ADK 创建可启动媒体时,Windows ADK 可以使用最新的启动启动文件。 在 Windows ADK 中更新这些文件时,使用 Windows ADK 创建可启动媒体的产品(如 Microsoft Deployment Toolkit (MDT) )也有权访问更新的启动文件。

具体而言,解决 BlackLotus UEFI 启动工具包漏洞时需要此步骤,如KB5025885:如何管理与 CVE-2023-24932 和 CVE-2023-24932 关联的安全启动更改的 Windows 启动管理器吊销

注意

Microsoft Configuration ManagerWindows Deployment Services (WDS) 在这些产品中更新启动映像时自动从启动映像中提取启动文件。 它们不使用 Windows ADK 中的 bootmgr 启动文件。

步骤 9:执行组件清理

运行 DISM.exe 命令,以清理装载的启动映像并帮助减小其大小:

在提升的 PowerShell 命令提示符下,运行以下命令以清理已装载的启动映像并帮助减小其大小:

Start-Process "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" -ArgumentList " /Image:"<Mount_folder_path>" /Cleanup-image /StartComponentCleanup /Resetbase /Defer" -Wait -LoadUserProfile

Start-Process "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" -ArgumentList " /Image:"<Mount_folder_path>" /Cleanup-image /StartComponentCleanup /Resetbase" -Wait -LoadUserProfile

示例

Start-Process "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" -ArgumentList " /Image:`"C:\Mount`" /Cleanup-image /StartComponentCleanup /Resetbase /Defer" -Wait -LoadUserProfile

Start-Process "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" -ArgumentList " /Image:"C:\Mount" /Cleanup-image /StartComponentCleanup /Resetbase" -Wait -LoadUserProfile

有关详细信息,请参阅 使用 DISM 修改 Windows 映像:减小映像的大小DISM 操作系统包 (.cab 或 .msu) 服务 Command-Line 选项:/Cleanup-ImageStart-Process

步骤 10:验证是否已将所有所需的包添加到启动映像

将可选组件和累积更新 (CU) 应用到启动映像后,验证它们是否显示为已安装:

在提升的 PowerShell 命令提示符下运行以下命令,验证所有可选组件和累积更新 (CU) 是否已应用于启动映像:

Get-WindowsPackage -Path "<Mount_folder_path>"

示例

Get-WindowsPackage -Path "C:\Mount"

有关详细信息,请参阅 Get-WindowsPackage

步骤 11:卸载启动映像并保存更改

将驱动程序、可选组件和累积更新 (CU) 应用到启动映像后,请卸载启动映像并保存更改。

在提升的 PowerShell 命令提示符下,运行以下命令以卸载启动映像并保存更改:

Dismount-WindowsImage -Path "<Mount_folder_path>" -Save -Verbose

示例

Dismount-WindowsImage -Path "C:\Mount" -Save -Verbose

有关详细信息,请参阅 Dismount-WindowsImage

步骤 12:导出启动映像以减小大小

  1. 卸载并保存启动映像后,可以通过导出它来进一步减小其大小:

    在提升的 PowerShell 命令提示符下,运行以下命令,通过导出来进一步减小启动映像的大小:

    Export-WindowsImage -SourceImagePath "<Boot_image_path>\<boot_image>.wim" -SourceIndex 1 -DestinationImagePath "<Boot_image_path>\<boot_image>-export.wim" -CompressionType max -Verbose
    

    示例

    Export-WindowsImage -SourceImagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim" -SourceIndex 1 -DestinationImagePath "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe-export.wim" -CompressionType max -Verbose
    

    有关详细信息,请参阅 Export-WindowsImage

  2. 导出完成后:

    1. 删除原始更新的启动映像:

      在提升的 PowerShell 命令提示符下,运行以下命令以删除原始更新的启动映像:

      Remove-Item -Path "<Boot_image_path>\<boot_image>.wim" -Force
      

      示例

      Remove-Item -Path "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim" -Force
      

      有关详细信息,请参阅 Remove-Item

    2. 使用原始启动映像的名称重命名导出的启动映像:

      在提升的 PowerShell 命令提示符下运行以下命令,使用原始启动映像的名称重命名导出的启动映像:

      Rename-Item -Path "<Boot_image_path>\<exported_boot_image>.wim" -NewName "<original_boot_image_name>.wim"
      

      示例

      Rename-Item -Path "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe-export.wim" -NewName "winpe.wim"
      

      有关详细信息,请参阅 Rename-Item

步骤 13:在 (利用启动映像的产品中更新启动映像(如果适用)

更新 Windows ADK 中的默认 winpe.wim 启动映像后,通常需要在利用启动映像的产品 () 中执行其他步骤。 以下链接包含有关如何更新利用启动映像的多个常用产品的启动映像的信息:

对于使用启动映像的任何其他产品,请参阅有关更新启动映像的产品文档。

Microsoft Configuration Manager注意事项

Microsoft Configuration Manager如何创建启动映像

Microsoft Configuration Manager创建自己的启动映像,方法是从 Windows ADK 获取 winpe.wim ,添加一些它所需的可选组件才能正常工作,然后将启动映像保存为 boot.wim 目录中<ConfigMgr_Install_Directory>\OSD\boot\<architecture>\boot.wim。 Configuration Manager,此boot.wim启动映像被视为启动映像的原始权威副本。 Configuration Manager从不接触、修改或更新boot.wim启动映像,某些特定方案除外。 相反,在启动映像的属性中执行更改时,Configuration Manager如下:

  • 添加驱动程序
  • 添加可选组件
  • 启用命令提示符

Configuration Manager创建 的副本boot.wim,将对副本应用更改,然后将新的启动映像保存为 boot.<package_id>.wim

如果将来对启动映像进行了任何其他更改,Configuration Manager放弃以前创建的boot.<package_id>.wim启动映像,创建 的新副本boot.wim,将更改应用于副本,然后将新的启动映像保存为 boot.<package_id>.wim。 换句话说, boot.wim 永远不会被触摸。 每当对启动映像进行任何更改时,新的更改和过去所做的任何更改都会重新应用于 的新副本 boot.wim

此过程具有以下优点:

  1. 保持 boot.wim 原始。

  2. 确保对启动映像所做的更改正在对启动映像的原始未修改版本执行。 此过程有助于在启动映像多次更新时避免损坏。 还可以更正现有启动映像的问题。

  3. 帮助管理启动映像中的组件。 该过程不需要知道每次重新生成启动映像时可能需要从启动映像中删除哪些组件。 相反,它只需要知道哪些组件需要添加到启动映像。

  4. 它可减小启动映像的大小,当组件重复添加到启动映像或从启动映像中删除组件时,可能会发生这种情况。

Configuration Manager在两种情况下更新boot.wim启动映像:

  1. 在应用 HFRU) (版本或修补程序汇总之间升级Configuration Manager时,boot.wim可能会作为升级过程的一部分进行更新。

  2. 更新分发点向导中选择“使用 Windows ADK 中的当前 Windows PE 版本重新加载此启动映像”选项时。

在这些方案中, boot.wim 启动映像使用 Windows ADK 中的启动映像进行更新, winpe.wim 如本节前面所述。 此过程使用当前版本的winpe.wim启动映像(属于 Windows ADK)创建启动映像的新原始副本boot.wim

应使用累积更新更新哪个启动映像?

手动将累积更新添加到Configuration Manager启动映像时,建议从 Windows ADK 更新winpe.wim启动映像,而不是直接更新boot.wimConfiguration Manager生成的启动映像。

winpe.wim应更新 Windows ADK 中的启动映像,因为如果boot.wim由Configuration Manager生成,则改为更新,则下次boot.wim通过Configuration Manager升级或从 Windows ADK 使用当前 Windows PE 版本重新加载此启动映像,然后对boot.wim(包括应用的累积更新)将丢失。 如果 Windows ADK 中的winpe.wim启动映像改为使用累积更新进行更新,则即使Configuration Manager更新启动映像,累积更新也会boot.wim保留并保留。

重要提示

切勿手动更新 boot.<package_id>.wim 启动映像。 除了在手动更新 boot.wim 启动映像时面临相同的问题外, boot.<package_id>.wim 启动映像还将面临其他问题,例如:

  • 每当对启动映像进行任何更改 (添加驱动程序、启用命令提示符等 ) 时,对启动映像所做的任何手动更改(包括累积更新)都将丢失。

  • 手动更改启动映像会 boot.<package_id>.wim 更改启动映像的哈希值。 从分发点下载启动映像时,启动映像哈希值的更改可能会导致下载失败。

从 Windows ADK 进行winpe.wim更新可确保累积更新保持应用,无论通过Configuration Manager对boot.wim启动映像进行了哪些更改。

手动将可选组件添加到Configuration Manager启动映像

对于Microsoft Configuration Manager启动映像,在对启动映像应用累积更新时,请确保使用演练中的命令行手动添加任何所需的可选组件,而不是通过Configuration Manager添加它们。 可选组件通过启动映像的“属性”中的“可选组件”选项卡添加到 Configuration Manager 中的启动映像。

需要手动将可选组件添加到启动映像,而不是通过 Configuration Manager,因为:

  • 应用累积更新时,还会根据需要更新任何可选组件。

  • 如果在具有累积更新的启动映像上通过Configuration Manager添加可选组件,则不会使用累积更新来更新可选组件。 通过Configuration Manager添加可选组件可能会导致意外行为和问题。 在将可选组件添加到启动映像后,需要添加累积更新,以便使用累积更新正确更新可选组件。

注意

如果尝试通过 Configuration Manager 中启动映像的“属性”中的“可选组件”选项卡添加可选组件,但该可选组件已手动添加到启动映像,Configuration Manager不会再次添加该可选组件。 相反,Configuration Manager检测到已添加可选组件,并且不会再次尝试添加可选组件。

Configuration Manager启动映像所需的组件

若要Microsoft Configuration Manager启动映像正常工作,它需要以下可选组件:

功能 文件名 依赖关系 ConfigMgr必需
脚本/WinPE-Scripting WinPE-Scripting.cab NA
脚本/WinPE-WMI WinPE-WMI.cab NA
Network/WinPE-WDS-Tools WinPE-WDS-Tools.cab NA
Startup/WinPE-SecureStartup WinPE-SecureStartup.cab 脚本/WinPE-WMI

在“步骤 6:向启动映像添加可选组件”步骤期间Configuration Manager使用的任何启动映像添加可选组件时,请确保先按上述顺序将上述所需组件添加到启动映像。 将所需的组件添加到启动映像后,将任何其他所需的可选组件添加到启动映像。

有关所有可用 WinPE 可选组件的列表,包括每个组件的说明,请参阅 WinPE 可选组件 (OC) 参考:WinPE 可选组件

更新 Configuration Manager 中的启动映像

从 Windows ADK 更新winpe.wim启动映像后,为Configuration Manager生成新的boot.wim启动映像,使其包含累积更新。 可以使用以下步骤生成新的 boot.wim 启动映像:

  1. 打开Microsoft Configuration Manager控制台。

  2. 在Microsoft Configuration Manager控制台中,导航到“软件库>概述>”“操作系统>启动映像”。

  3. “启动映像 ”窗格中,选择所需的启动映像。

  4. 在工具栏中,选择“ 更新分发点”。

  5. 出现 “更新分发点向导” 窗口时:

    1. “使用此映像的常规/更新分发点”页中,从 Windows ADK 中选择“使用当前 Windows PE 版本重新加载此启动映像”选项,然后选择“下一步>”按钮。

    2. “摘要 ”页中,选择“ 下一步 > ”按钮。

    3. 启动映像生成时,将显示 “进度 ”页。

    4. 启动映像生成完成后,将显示“成功完成” 任务“”更新分发点向导“/”完成 “页。 选择“ 关闭 ”按钮。

此过程更新 Configuration Manager 使用的启动映像。 它还更新启动映像和任何启用了 PXE 的分发点使用的启动映像和启动文件。

重要提示

如果环境中有多个启动映像用于启用了 PXE 的分发点,请确保使用相同的累积更新更新所有已启用 PXE 的启动映像。 这将确保启用 PXE 的分发点都使用从启动映像中提取的启动文件版本 ((如果适用) )。

更新Configuration Manager启动媒体

完成演练(包括更新 Configuration Manager 中的启动映像)后,更新任何Configuration Manager任务序列媒体。 更新任何Configuration Manager任务序列媒体可确保任务序列媒体同时具有更新的启动映像。 如果适用,它还将通过从启动映像中提取最新版本来更新媒体上的 bootmgr 启动文件。 有关创建Configuration Manager任务序列媒体的详细信息,请参阅创建任务序列媒体

Microsoft 部署工具包 (MDT) 注意事项

将累积更新添加到 Microsoft 部署工具包 (MDT) 启动映像时,建议从 Windows ADK 更新 winpe.wim 启动映像,而不是直接更新 LiteTouchPE_<arch>.wim MDT 部署共享中的启动映像。

winpe.wim应更新 Windows ADK 中的启动映像,因为如果LiteTouchPE_<arch>.wim改为更新,则下次更新 MDT 部署共享时,对 LiteTouchPE_<arch>.wim(包括应用的累积更新)所做的更改将丢失。 如果 Windows ADK 中的 winpe.wim 启动映像改为使用累积更新进行更新,则即使更新 MDT 部署共享,累积更新也会保留并保留。

MDT 和 Windows ADK 版本

Microsoft Deployment Toolkit (MDT) 不支持超过 Windows 10 的 Windows 或 Windows ADK 版本。 使用 MDT 时,建议将 ADK 用于 Windows 10 版本 2004,而不是最新版本的 Windows ADK。 适用于 Windows 10 版本 2004 的 ADK 是 MDT 支持的最后一个 Windows ADK 版本。 使用累积更新更新的 ADK for Windows 10 版本 2004 的启动映像时,请使用 Windows 10 版本 22H2 的累积更新。

MDT 启动映像所需的组件

若要使 Microsoft Deployment Toolkit (MDT) 启动映像正常工作,它需要以下可选组件:

功能 文件名 依赖关系 MDT 必需
脚本/WinPE-Scripting WinPE-Scripting.cab NA
脚本/WinPE-WMI WinPE-WMI.cab NA
文件管理/WinPE-FMAPI WinPE-FMAPI.cab NA
Startup/WinPE-SecureStartup WinPE-SecureStartup.cab 脚本/WinPE-WMI
HTML/WinPE-HTA WinPE-HTA.cab 脚本/WinPE-WMI

步骤 6:将可选 组件添加到启动映像步骤期间 MDT 使用的任何启动映像时,请确保先按上述顺序将上述所需组件添加到启动映像。 将所需的组件添加到启动映像后,将任何其他所需的可选组件添加到启动映像。

有关所有可用 WinPE 可选组件的列表,包括每个组件的说明,请参阅 WinPE 可选组件 (OC) 参考:WinPE 可选组件

更新 MDT 中的启动映像和启动媒体

从 Windows ADK 更新 winpe.wim 启动映像后,为 MDT 生成一个新的 LiteTouchPE_<arch>.wim 启动映像,其中包含累积更新,然后创建新的 MDT 启动媒体。 可以使用以下步骤生成新的 MDT 启动映像和 MDT 启动媒体:

  1. 确保已完成 步骤 8:将启动文件从装载的启动映像复制到 ADK 安装路径 。 MDT 将启动文件从 Windows ADK 安装路径复制到其部署共享。 执行此步骤可确保部署共享具有创建 MDT 启动媒体时所需的最新 bootmgr 启动文件。

  2. 打开 Microsoft Deployment Toolkit (MDT) Deployment Workbench 控制台。

  3. 在 Deployment Workbench 控制台中,导航到 “部署工作台>部署共享>MDT 部署共享”。

  4. 右键单击“ MDT 部署共享 ”,然后选择“ 更新部署共享”。

  5. 在显示的 “更新部署共享向导” 窗口中:

    1. “选项” 页中,选择“ 完全重新生成启动映像 ”选项,然后选择“ 下一步 > ”按钮。

    2. “摘要 ”页中,选择“ 下一步 > ”按钮。

    3. 启动映像和部署共享生成时,将显示 “进度 ”页。

    4. 启动映像和部署共享生成完成后,将显示“成功完成过程确认/”页。 选择“ 完成 ”按钮。

这些步骤还会更新 MDT 部署共享中的 MDT 启动媒体。 执行上述步骤后,使用 文件夹中新更新的 <DeploymentShare>\Boot ISO 文件创建新的 MDT 启动媒体。

Windows 部署服务 (WDS) 注意事项

原始 WDS 启动映像已更新

如果修改的 WDS 启动映像是文件夹中的原始 WDS 启动映像 <RemoteInstall> ,则要执行的唯一额外步骤是重启 Windows Deployment Services Server 服务。 可以使用以下命令行重启 WDS:

在提升的 PowerShell 命令提示符下,运行以下命令以重启 Windows Deployment Services Server 服务:

Restart-Service -Name WDSServer

有关详细信息,请参阅 Restart-Service

WDS 启动映像已替换为新的更新的启动映像

在以下 WDS 的启动映像替换方案中:

  • 作为本指南的一部分修改的启动映像位于 文件夹之外 <RemoteInstall> 。 例如, winpe.wim Windows ADK 附带的启动映像
  • WDS 中的现有启动映像将替换为更新的启动映像

然后按照以下步骤更新 WDS 中的启动映像:

  1. 使用以下命令行将 WDS 中的现有启动映像替换为修改后的启动映像:

    在 PowerShell 中,需要先删除原始启动映像,然后再将其替换为新映像。 在提升的 PowerShell 命令提示符下运行以下命令,将 WDS 中的现有启动映像替换为新的启动映像:

    Remove-WdsBootImage -Architecture <Architecture_x64_or_x86> -ImageName "<Name_Of_Existing_Boot_Image_In_WDS>"
    Import-WdsBootImage -Path "<Path_To_Updated_Boot_Image>\<boot_image>.wim" -NewImageName "<Name_Of_Existing_Boot_Image_In_WDS>"
    

    示例

    Remove-WdsBootImage -Architecture x64 -ImageName "Microsoft Windows PE (amd64)"
    Import-WdsBootImage -Path "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim" -NewImageName "Microsoft Windows PE (amd64)"
    

    有关详细信息,请参阅 Remove-WdsBootImageImport-WdsBootImage

  2. 替换 WDS 中的现有启动映像后,请重启 WDS 服务:

    在提升的 PowerShell 命令提示符下,运行以下命令以重启 Windows Deployment Services Server 服务:

    Restart-Service -Name WDSServer
    

    有关详细信息,请参阅 Restart-Service

在 WDS 中将更新的启动映像添加为新的启动映像

在以下 WDS 启动映像方案中:

  • 作为本指南的一部分修改的启动映像位于 文件夹之外 <RemoteInstall> 。 例如, winpe.wim Windows ADK 附带的启动映像
  • 正在将更新的启动映像添加为 WDS 中的新启动映像

然后按照以下步骤在 WDS 中添加启动映像:

  1. 使用以下命令行将更新的启动映像添加到 WDS:

    在提升的 PowerShell 命令提示符下运行以下命令,将 WDS 中更新的启动映像添加为新的启动映像:

    Import-WdsBootImage -Path "<Path_To_Updated_Boot_Image>\<boot_image>.wim" -NewImageName "<Boot_Image_Name_In_WDS>"
    

    示例

    Import-WdsBootImage -Path "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim" -NewImageName "Microsoft Windows PE (amd64) - Updated"
    

    有关详细信息,请参阅 Import-WdsBootImage

  2. 替换 WDS 中的现有启动映像后,请重启 WDS 服务:

    在提升的 PowerShell 命令提示符下,运行以下命令以重启 Windows Deployment Services Server 服务:

    Restart-Service -Name WDSServer
    

    有关详细信息,请参阅 Restart-Service

Boot.wim 支持

不支持使用 Windows 安装媒体的 boot.wim 通过 Windows 部署服务 (WDS) 部署Windows 11。 此外,不支持使用 Windows 11 安装媒体的 boot.wim 通过 Windows 部署服务 (WDS) 部署任何版本的 Windows。 有关详细信息,请参阅 Windows 部署服务 (WDS) boot.wim 支持

Windows Server 2012 R2

此演练不适用于 Windows Server 2012 R2。 使用旧版 Windows ADK 时,本文中的步骤可能适用于 Windows Server 2012 R2。 但是,它可能与 windows ADK 版本(比 Windows 10 版本 2004 版的 ADK 更新)存在兼容性问题。 若要解决较新的 ADK 和 Windows Server 2012 R2 的兼容性问题,请执行以下操作:

  1. 将Windows Server 2012 R2 升级到较新版本的 Windows Server。
  2. 在运行支持较新 ADK 的 Windows 版本(例如Windows 10或Windows 11)的计算机上执行启动映像自定义,然后将修改后的启动映像传输到 Windows Server 2012 R2 服务器。

有关详细信息,请参阅 R2 生命周期Windows Server 2012