使用自动应用文件夹部署一键重置功能

Windows 10 和 Windows 11 桌面版(家庭版、专业版、企业版和教育版)包含一键重置功能,但需要执行其他步骤以使用以下自定义项来部署电脑。

  • Windows 桌面应用程序
  • Windows 设置,例如自定义 OOBE 屏幕或开始菜单。
  • 自定义分区布局。

这些步骤还演示如何在重置期间添加自己的脚本,以捕获日志或执行其他清理任务。

先决条件

若要完成这些过程,需要一台安装了 Windows 10 或 Windows 11 以及以下 Windows 评估和部署工具包 (ADK) 组件的技术人员电脑。 请注意,从 Windows 10 版本 1809 开始,WinPE 是 ADK 的加载项,未包含在 ADK 安装程序中:

  • 部署工具
  • 映像和配置设计器 (ICD)
  • 用户状态迁移工具 (USMT)
  • Windows 预安装环境 (Windows PE)

还需要:

  • 驱动器大小至少为 100 GB 的目标电脑
  • Windows 桌面版映像 (install.wim)
  • Windows RE 启动映像 (Winre.wim)(将从 Windows 10 映像中提取它)。

有关整个部署过程的概述,请参阅桌面制造指南

使用以下步骤准备 ScanState 工具,以在安装 Windows 桌面应用程序之后捕获这些应用程序:

步骤 1:准备 ScanState 工具

  1. 在技术人员电脑上,将 Windows 用户状态迁移工具 (USMT) 中的 Windows ADK 文件和 Windows 安装程序复制到工作文件夹。 需要匹配目标设备的体系结构。 无需复制子文件夹。

    md C:\ScanState_amd64
    xcopy /E "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\User State Migration Tool\amd64" C:\ScanState_amd64
    xcopy /E /Y "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Setup\amd64\Sources" C:\ScanState_amd64
    
  2. 将工作文件夹的内容复制到网络位置或 USB 闪存驱动器。

如果需要其他驱动程序和语言包,请使用以下步骤自定义 Windows RE 启动映像。

步骤 2:提取和自定义 Windows RE 启动映像(可选)

  1. 在技术人员电脑上,单击“开始”,然后键入“部署”。 右键单击部署和映像工具环境,然后选择以管理员身份运行

  2. 在“部署和映像工具环境”中,创建文件夹结构以存储 Windows 映像及其装入点。

    Mkdir C:\OS_image\mount
    
  3. 创建文件夹结构以存储 Windows RE 启动映像及其装入点。

    Mkdir C:\winre_amd64\mount
    
  4. 使用 DISM 将 Windows 映像 (install.wim) 装载到文件夹 \OS_image\mount。

    Dism /mount-image /imagefile:C:\OS_image\install.wim /index:1 /mountdir:C:\OS_image\mount
    

    其中 Index:1 是 Install.wim 文件中所选映像的索引。

  5. 将 Windows RE 映像从装载的 Windows 映像复制到新文件夹。

    xcopy /H C:\OS_image\mount\windows\system32\recovery\winre.wim C:\winre_amd64 
    
  6. 卸载 Windows 映像。 提示:如果尚未对 Windows 映像进行任何其他更改,可以使用 /discard 选项更快地卸载映像。

    Dism /unmount-image /mountdir:C:\OS_image\mount /discard
    
  7. 装载 Windows RE 启动映像进行编辑。

    Dism /mount-image /imagefile:C:\winre_amd64\winre.wim /index:1 /mountdir:C:\winre_amd64\mount
    

    其中 Index:1 是 Winre.wim 文件中所选映像的编号。

    从 Install.wim 文件中提取 Winre.wim 文件后,可以自定义 Windows RE 启动映像。

  8. 将语言包、启动关键型设备驱动程序和输入设备驱动程序添加到Windows RE 启动映像。 若要了解详细信息,请参阅自定义 Windows RE

  9. 提交自定义项并卸载映像。

    Dism /unmount-image /mountdir:C:\winre_amd64\mount /commit 
    

如果计划仅自定义所有版本的 Windows 10 或 Windows 11 通用的设置,请使用以下步骤创建一个预配包,该包指定要在恢复期间还原的设置:

步骤 3:创建包含要还原的设置的预配程序包(可选)

  1. 在技术人员电脑上,启动 Windows 映像和配置设计器 (ICD)。
  2. 单击“文件”>“新建项目”。
  3. 输入项目名称和说明,然后单击“下一步”
  4. 在“选择项目工作流”步骤中,选择“预配程序包”选项,然后单击“下一步”。
  5. 在“选择要查看和配置的设置”步骤中,选择“通用于所有 Windows 版本”选项,然后单击“下一步”。
  6. 在“导入预配程序包(可选)”步骤中,单击“完成”以创建新项目。
  7. 使用“可用自定义项”窗格添加设置,并指定应在恢复期间还原的默认值。 设置将显示在“选定的自定义项”窗格中。
  8. 单击“导出”>“预配程序包”。
  9. 在“描述预配程序包”步骤中,单击“下一步”。
  10. 在“选择预配程序包的安全性详细信息”步骤中,单击“下一步”。
  11. 在“选择要保存预配程序包的位置”步骤中,输入保存包的位置(例如网络共享),然后单击“下一步”。
  12. 单击“生成”以创建预配程序包。
  13. 创建预配程序包后,单击“完成”。

通过自动应用文件夹,在 PBR 期间可以更轻松地还原常用设置,包括无人参与、OOBE 和任务栏布局。 可以使用自动应用文件夹或扩展点,但不能同时使用两者。 如果配置了自动应用文件夹和扩展点,Windows 将使用扩展点。

自动应用文件夹是 Windows 10 版本 1809 中的新增功能。 使用这些文件夹可以更轻松地还原常用设置,包括 PBR 期间的无人参与设置、OOBE 和任务栏布局。 可以使用自动应用文件夹或扩展点,但不能同时使用两者。 如果配置了自动应用文件夹和扩展点,Windows 将使用扩展点。

  1. 在 Windows 映像中创建名为 C:\Recovery\AutoApply 的文件夹

    MkDir C:\Recovery\AutoApply
    
  2. 将配置文件和任何相关资产文件复制到自动应用文件夹中:

    说明 要复制的文件 复制到的位置 在还原期间这些文件将放到何处?
    “开始”菜单 LayoutModification.xml C:\Recovery\AutoApply\ %SYSTEMDRIVE%\Users\Default\AppData\Local\Microsoft\Windows\Shell
    任务栏固定应用 TaskbarLayoutModification.xml C:\Recovery\AutoApply\ C:\Windows\OEM\TaskbarLayoutModification.xml
    OOBE.xml %windir%\System32\OOBE\info C:\Recovery\AutoApply\OOBE %windir%\System32\OOBE\info
    Unattend 文件 unattend.xml C:\Recovery\AutoApply\ C:\Windows\Panther\Unattend.xml
    其他资产文件 C:\Recovery\AutoApply\CustomizationFiles C:\Windows\OEM\CustomizationFiles

    请注意,无需考虑如何还原“开始”菜单和任务栏使用的链接 (.lnk) 文件。 这些文件是使用预配程序包保存和还原的。

步骤 5:部署和自定义 Windows

  1. 在目标电脑上,启动到 Windows PE。

  2. 在 Windows PE 命令提示符下,运行脚本以创建建议的硬盘驱动器分区。

    Diskpart /s N:\CreatePartitions.txt
    

    其中 N:\CreatePartition 是此文件的位置。

  3. 将 Windows 参考映像应用于 Windows 分区。

    Dism /Apply-Image /ImageFile:N:\Install.wim /Index:1 /ApplyDir:W:\
    

    可选:还可以指定 /compact 选项,以便压缩写入磁盘的文件。 例如:

    Dism /Apply-Image /ImageFile:N:\Install.wim /Index:1 /ApplyDir:W:\ /Compact:on
    

    如果要在存储容量有限的电脑上部署 Windows,则此选项很有用,但不建议在具有机械旋转式存储设备的电脑上使用此选项。

  4. 使用 BCDboot 配置系统分区。

    W:\Windows\System32\Bcdboot W:\Windows
    
  5. 在 Windows RE 工具分区中创建文件夹,并向其复制自定义 Windows RE 启动映像。

    Mkdir T:\Recovery\WindowsRE
    xcopy /H N:\Winre.wim T:\Recovery\WindowsRE
    

    其中,T:\ 是 Windows RE 工具分区。

    重要

    必须将 Winre.wim 存储在 \Recovery\WindowsRE 中。

  6. 将 Windows RE 启动映像与 Windows 映像一起注册。

    W:\Windows\System32\Reagentc /setreimage /path T:\Recovery\WindowsRE /target W:\Windows
    
  7. 使用 Diskpart 隐藏 Windows RE 工具 (T:\) 分区,使之不显示在 Windows 资源管理器中。

    对于基于 UEFI 的电脑:

    select disk 0
    select partition 4
    remove
    set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
    gpt attributes=0x8000000000000001
    exit
    

    对于基于 BIOS 的电脑:

    select disk 0
    select partition 3
    remove
    set id=27
    exit
    
  8. 在目标电脑上自定义 Windows 映像:

    1. 对 Windows 映像执行脱机自定义,例如安装特定于目标电脑的基于 INF 的驱动程序包、安装操作系统更新和语言包,或预配其他 Windows 应用。
    2. 将目标电脑启动至审核模式。 这可以通过将答案文件与“Microsoft-Windows-Deployment | Reseal | Mode = audit”设置一起使用,或先将电脑启动至 OOBE,然后按 CTRL+SHIFT+F3 来实现。
    3. 执行任何剩余自定义项,例如安装特定于目标电脑的应用程序和设备软件包。
  9. 如果安装了操作系统更新,请清理已被取代的组件并将更新标记为永久,以便在恢复期间将其还原:

    DISM.exe /Cleanup-Image /StartComponentCleanup
    

步骤 6:捕获并部署用于恢复的自定义项

  1. 创建 C:\Recovery 文件夹。 使用以下命令确保此文件夹正确配置了正确的权限和 ACL。

    mkdir C:\Recovery
    icacls C:\Recovery /inheritance:r
    icacls C:\Recovery /grant:r SYSTEM:(OI)(CI)(F)
    icacls C:\Recovery /grant:r *S-1-5-32-544:(OI)(CI)(F)
    takeown /f C:\Recovery /a
    attrib +H C:\Recovery
    
  2. 使用 ScanState 工具将已安装的自定义项捕获到预配程序包中。 使用 /config 选项指定 ADK 中包含的其中一个默认配置文件,然后将 .ppkg 文件保存在文件夹 C:\Recovery\Customizations 中。

    N:\ScanState_amd64\scanstate.exe /apps /config:<path_to_config_file> /ppkg C:\Recovery\Customizations\apps.ppkg /o /c /v:13 /l:C:\ScanState.log
    

    其中 N:\ 是步骤 1 中安装的 ScanState 工具的位置。

  3. 如果已使用 Windows ICD 创建附加预配程序包,且此包包含应在恢复期间还原的自定义项,则将此包复制到目标电脑。 例如:

    xcopy N:\RecoveryPPKG\*.ppkg C:\Recovery\Customizations
    

    其中 N:\ 是附加预配包所在的位置。

  4. 将所有一键重置配置文件 (resetconfig.xml) 复制到目标电脑,然后配置写入/修改它们的权限。 例如:

    mkdir C:\Recovery\OEM
    

    其中 N:\ 是配置文件和脚本所在的位置。

  5. 使用 Sysprep 工具重新封装 Windows 映像,而不使用 /generalize 选项。

    Sysprep /oobe /exit
    

    重要

    必须将要交付给客户的映像配置为启动至 OOBE。

  6. (可选)若要节省空间,还可以将已安装的 Windows 桌面应用程序转换为引用自定义项包的文件指针。 为此,请将目标电脑启动至 Windows PE 并运行以下代码:

    DISM /Apply-CustomDataImage /CustomDataImage:C:\Recovery\Customizations\USMT.ppkg /ImagePath:C:\ /SingleInstance
    
  7. 关闭目标电脑,以便打包并交付。 用户首次启动电脑时,它将启动到 OOBE。

步骤 7:验证自定义项

运行“保留我的文件”和“删除所有内容”功能,验证自定义项在恢复后是否已还原并可继续正常运行。 若要开始,请检查以下入口点:

  • 设置:在“开始”菜单中选择设置>更新和安全>恢复>重置此电脑:开始。 按照屏幕上的说明操作。

  • Windows RE:在“开始”菜单中选择设置>更新和安全>恢复>高级启动:立即重启。 Windows RE 启动后,选择“疑难解答”>“重置此电脑”,然后按照屏幕上的说明进行操作。

若要测试更多恢复选项,请参阅验证方案

ScanState 语法

裸机重置/恢复:在部署新设备时创建恢复媒体

使用 ScanState 部署一键重置功能