将自定义工具添加到 Windows RE 高级启动菜单

可以将自定义故障排除或诊断工具添加到 Windows 恢复环境 (WinRE) 映像。 此工具显示在“高级启动”菜单中。

通过开发自定义工具以在 WinRE 中运行,可以利用 WinRE 中提供的触摸键盘和屏幕键盘支持。

Windows 10 的新增功能:无法添加默认 WinRE 工具中尚未包含的 WinRE 可选组件。 例如,如果你在 Windows 8 中使用的某个应用依赖于 .NET 可选组件,则需要重写适用于 Windows 10 的应用。

添加自定义工具

  1. 提取并装载 Windows 映像 (install.wim) 及其对应的 WinRE 映像 (winre.wim):

    md c:\mount
    xcopy D:\sources\install.wim C:\mount 
    md C:\mount\windows
    Dism /mount-image /imagefile:C:\mount\install.wim /index:1 /mountdir:C:\mount\windows 
    md C:\mount\winre 
    Dism /mount-image /imagefile:c:\mount\windows\windows\system32\recovery\winre.wim /index:1 /mountdir:C:\mount\winre
    

    有关这些步骤的详细信息,请参阅主题:自定义 Windows RE

  2. 在记事本中,创建一个配置文件,用于指定自定义工具的文件名和参数(如果有):

    <?xml version="1.0" encoding="utf-8"?>
    <!-- WinREConfig.xml -->
    <Recovery>
       <RecoveryTools>
          <RelativeFilePath>OEMDiagnostics.exe</RelativeFilePath>
          <CommandLineParam>/param1 /param2</CommandLineParam>
       </RecoveryTools>
    </Recovery>
    

    其中 C:\Tools\OEMDiagnostics.exe 是自定义故障排除或诊断工具,而 /param1/param2 是运行此自定义工具时使用的可选参数。

    注意

    只能将一个自定义工具添加到 WinRE 高级启动菜单。

    使用 UTF-8 编码保存文件。 请勿使用 ANSI:

    单击“文件”,然后单击“另存为”。 在“编码”框中选择“UTF-8”,将此文件另存为 C:\mount\WinREConfig.xml

  3. 在 WinRE 装载文件夹中创建 \Sources\Recovery\Tools 文件夹,然后将自定义工具及其配置文件复制到此新文件夹中:

    md C:\mount\winre\sources\recovery\tools
    copy C:\Tools\OEMDiagnostics.exe C:\mount\winre\sources\recovery\tools
    copy C:\mount\WinREConfig.xml C:\mount\winre\sources\recovery\tools
    

    自定义工具及任何关联的文件夹必须在此文件夹中,以便在未来 WinRE 升级后此工具能够继续有效。

  4. 提交自定义项并卸载 WinRE 映像:

    Dism /unmount-image /mountdir:C:\mount\winre /commit
    
  5. 可选:创建 WinRE 映像的备份副本。

    copy C:\mount\windows\windows\system32\recovery\winre.wim C:\mount\winre_amd64_backup.wim
    

    通常可以在多个映像上重用相同的自定义项。

  6. 卸载并保存基本 Windows 映像更改:

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

部署映像

  1. 在记事本中,创建一个配置文件,用于描述“高级启动”菜单中的自定义工具。 为支持的每种语言添加说明。 此示例指定英语和法语版本的工具名称和说明:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- AddDiagnosticsToolToBootMenu.xml -->
    <BootShell>
       <WinRETool locale="en-us">
             <Name>Fabrikam Utility</Name>
             <Description>Troubleshoot your Fabrikam PC</Description>
       </WinRETool>
       <WinRETool locale="fr-fr">
          <Name>Utilité de Fabrikam</Name>
          <Description>Dépannez votre PC de Fabrikam</Description>
       </WinRETool>
    </BootShell>
    

    警告

    <Name><Description> 值限制为大约 30 个字符或更少,以确保它们在“高级启动”菜单中正确显示。

    使用 UTF-8 编码保存文件:

    单击“文件”,然后单击“另存为”。 在“编码”框中选择“UTF-8”,将此文件另存为 E:\Recovery\BootMenu\AddDiagnosticsToolToBootMenu.xml

    其中 E:\ 是可移动驱动器或网络位置的驱动器号。

  2. 在目标计算机上,在部署映像期间,但在注册自定义 WinRE 启动映像和 Windows 操作系统后,必须注册自定义工具的说明:

    Reagentc /setbootshelllink /configfile E:\Recovery\BootMenu\AddDiagnosticsToolToBootMenu.xml
    

    如果已正确注册自定义工具,则运行此命令后的输出将为 <OEM Tool = 1>

    注意

    有关部署 Windows 的详细信息,请参阅部署 Windows RE 主题。

验证从 Windows 启动时自定义工具是否显示在“高级启动”菜单中

  1. 重启目标计算机,并以用户身份完成 OOBE。

    注意

    如果系统提示您输入产品密钥,请单击跳过

  2. 单击“开始”>“电脑设置”,然后选择“常规”。

  3. 在“高级启动”部分中,选择“立即重启”。

    此时会显示 Windows 高级启动菜单。

  4. 高级启动菜单中,选择故障排除,然后单击 Fabrikam 实用工具链接。

    计算机在 WinRE 中重启,并且会显示在 WinREConfig.xml 文件的 <RecoveryTools> 部分中指定的工具。

  5. 确认自定义工具正常工作,然后关闭该工具。

    如果自定义工具未显示在“高级启动”菜单上,您可以尝试执行以下操作:

    • 验证是否使用 UTF-8 编码格式保存 WinREConfig.xml 和 AddDiagnosticsToolToBootMenu.xml 文件。

    • 禁用 WinRE,再次注册自定义工具,然后启用 WinRE。 例如:

      Reagentc /disable 
      Reagentc /setbootshelllink /configfile E:\Recovery\BootMenu\AddDiagnosticsToolToBootMenu.xml
      Reagentc /enable
      

验证自定义工具是否显示在 WinRE 恢复菜单中

  1. 在恢复菜单中,选择“故障排除”,然后单击“Fabrikam 实用工具”链接。

  2. 确认自定义工具正常工作,然后关闭该工具。

  3. 单击“继续” 。

    电脑将重启进入操作系统。

Windows 恢复环境 (Windows RE) 技术参考

自定义 Windows RE

部署 Windows RE

Windows RE 故障排除功能