SetupDiag

注意

本文是一篇 300 级文章, (中等高级) 。 有关本部分中的文章的完整列表,请参阅 解决 Windows 升级错误

关于 SetupDiag

重要提示

手动运行 SetupDiag 时,Microsoft 建议运行最新版本的 SetupDiag。 可通过以下 下载链接获取最新版本。 运行最新版本可确保最新功能并修复已知问题。

SetupDiag 是一种诊断工具,可用于获取有关 Windows 升级失败原因的详细信息。

SetupDiag 的工作原理是检查 Windows 安装程序日志文件。 它尝试分析这些日志文件,以确定无法更新计算机或将计算机升级到 Windows 的根本原因。 可以在无法更新的计算机上运行 SetupDiag。 还可以将日志从计算机导出到另一个位置,然后在脱机模式下运行 SetupDiag。

在所有当前受支持的 Windows 版本中,Windows 安装程序 都包含 SetupDiag。

在升级过程中,Windows 安装程序将其所有源文件(包括 SetupDiag.exe)提取到 %SystemDrive%$Windows.~bt\Sources 目录。 如果升级出现问题,SetupDiag 会自动运行以确定失败的原因。

由 Windows 安装程序运行时,使用以下 参数

  • /ZipLogs:False
  • /Format:xml
  • /Output:%windir%\logs\SetupDiag\SetupDiagResults.xml
  • /RegPath:HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetupDiag\Results

生成的 SetupDiag 分析可以在 %WinDir%\Logs\SetupDiag\SetupDiagResults.xml 和 的注册表中找到 HKLM\SYSTEM\Setup\SetupDiag\Results

注意

当 Windows 安装程序自动运行 SetupDiag 时,注册表路径与手动运行 SetupDiag 时的默认注册表路径不同。 手动运行 SetupDiag 且 /RegPath 未指定 参数时,数据存储在 注册表中 HKLM\SYSTEM\Setup\MoSetup\Volatile\SetupDiag

重要提示

当 SetupDiag 指示存在多个故障时,日志文件中的最后一个失败通常是致命错误,而不是第一个错误。

如果升级过程正常进行,则会在 %SystemDrive%\Windows.Old 下移动目录(包括SetupDiag.exe),以便进行清理。 如果稍后删除 Windows.old 目录, 也会删除SetupDiag.exe

要求

  1. Windows 的目标版本必须是当前支持的 Windows 版本。 最初安装的 Windows 版本可以是不受支持的 Windows 版本,只要:

    • Windows 的目标版本是当前支持的 Windows 版本。
    • 支持从原始已安装版本的 Windows 升级到目标版本的 Windows。
  2. 必须安装 .NET Framework 4.7.2 或更高版本。 若要确定特定版本的 Windows 预安装了哪个版本的 .NET,请参阅.NET Framework系统要求:支持的客户端操作系统。 若要确定当前安装的 .NET 版本,请参阅如何:确定安装了哪些.NET Framework版本

    以下命令行查询可用于显示当前安装的 .NET 版本:

    reg.exe query "HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4" /s
    

    只要至少安装了所需的 .NET 版本,就无需执行其他操作,包括是否安装了较新版本。

使用 SetupDiag

若要在当前计算机上快速使用 SetupDiag,请执行以下操作:

  1. 验证系统是否满足 要求

  2. 下载 SetupDiag

  3. 如果 Web 浏览器询问如何处理文件,请选择“ 保存”。 默认情况下,该文件保存到 “下载” 文件夹。 如果需要,还可以使用 “另存为”将文件保存到其他位置。

  4. 当 SetupDiag 完成下载后,打开下载文件的文件夹。 默认情况下,此文件夹是“下载”文件夹,显示在左侧导航窗格的“快速访问”下的文件资源管理器中。

  5. 双击 SetupDiag 文件以运行它。 如果要求批准运行程序,请选择 “是 ”。

当 SetupDiag 完成其分析时,双击文件以运行该文件会自动关闭命令窗口。 若要使窗口保持打开状态以查看 SetupDiag 生成的消息,请在命令提示符处键入 SetupDiag ,而不是双击它来运行程序。 从命令提示符运行时,请确保将目录更改为 SetupDiag 所在的位置。

  1. 当 SetupDiag 诊断计算机时,将打开命令窗口。 等待此过程完成。

  2. SetupDiag 完成后,会在运行 SetupDiag 的同一文件夹中创建两个文件。 一个是配置文件,另一个是日志文件。

  3. 使用记事本打开日志文件 SetupDiagResults.log

  4. 查看显示的信息。 如果匹配规则,此信息可以说明计算机升级失败的原因,以及可能如何解决问题。 请参阅 文本日志示例部分。

有关如何在脱机模式下运行该工具以及使用更多高级选项的说明,请参阅 参数示例部分。

参数

参数 描述
/? 显示交互式帮助
/Output:[输出日志文件的完整路径和文件名] 此可选参数指定结果日志文件的名称和位置。 输出文件包含来自 SetupDiag 的分析。 仅支持文本格式输出。 UNC 路径工作提供了运行 SetupDiag 的上下文对 UNC 路径的访问权限。 如果路径中包含空格,则整个路径必须用双引号 () 括起来。 有关示例,请参阅 示例 部分。

默认值:如果未指定,SetupDiag 会在运行 SetupDiag.exe 的同一目录中创建 文件SetupDiagResults.log
/LogsPath:[日志的完整路径] 此可选参数指定要分析的日志的位置,以及查找用于脱机分析的日志文件的位置。 这些日志文件可以采用平面文件夹格式,也可以包含多个子目录。 SetupDiag 以递归方式搜索所有子目录。 默认为检查当前系统的日志。
/ZipLogs:[True |False] 此可选参数指示 SetupDiag.exe 创建包含结果和已分析的所有日志文件的 zip 文件。 zip 文件是在运行 SetupDiag.exe 的同一目录中创建的。

默认值:如果未指定,则使用值“true”。
/Format:[xml | json] 此可选参数将日志文件的输出格式指定为 XML 或 JSON。 如果未指定此参数,则默认使用文本格式。
/Scenario:[恢复 |调试] 此可选参数可以根据所使用的参数执行以下两项之一:

  • 恢复指示 SetupDiag.exe 查找和处理重置和恢复日志,并忽略安装/升级日志。
  • 调试指示 SetupDiag.exe 调试内存转储(如果安装了必要的调试二进制文件)。
/详细 此可选参数在当前目录中创建诊断日志,其中包含调试信息、附加数据和有关 SetupDiag 的详细信息。 默认情况下,SetupDiag 仅针对重大错误生成日志文件条目。 使用 /Verbose 会导致 SetupDiag 始终生成另一个包含调试详细信息的日志文件。 报告 SetupDiag 问题时,这些详细信息可能很有用。
/NoTel 此可选参数告知 SetupDiag.exe 不要向 Microsoft 发送诊断遥测数据。
/RegPath 此可选参数指示 SetupDiag.exe 将失败信息添加到给定路径下的注册表。 注册表路径应以 HKEY_LOCAL_MACHINEHKEY_CURRENT_USER 开头,并在执行 SetupDiag 的提升级别进行访问。 如果未指定此参数,则默认路径为 HKLM\SYSTEM\Setup\MoSetup\Volatile\SetupDiag
/AddReg 此参数可选,指示 SetupDiag.exe 在脱机模式下将失败信息添加到执行系统上的注册表。 默认情况下,SetupDiag 仅在联机模式下将失败信息添加到注册表。 除非另行指定,否则注册表数据将 HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup\Volatile\SetupDiag

注意

/Mode 参数在 SetupDiag 中已弃用。

在以前的版本中,此命令与 LogsPath 参数一起使用,以指定 SetupDiag 应以脱机方式运行,以分析从其他计算机捕获的一组日志文件。 在当前版本的 SetupDiag 中,当指定 /LogsPath 时,SetupDiag 会自动在脱机模式下运行,因此不需要 /Mode 参数。

示例

  • 在以下示例中,SetupDiag 在联机模式下使用默认参数运行。 结果文件 SetupDiagResults.log 在运行 SetupDiag 的同一文件夹中。

    SetupDiag.exe
    
  • 在以下示例中,SetupDiag 在联机模式下运行, (此模式是默认) 。 它知道在当前 (故障) 系统上查找日志的位置,因此无需提前收集日志。 指定了结果的自定义位置。

    SetupDiag.exe /Output:C:\SetupDiag\Results.log
    
  • 以下示例使用 /Output 参数将结果保存到包含空格的路径名称:

    SetupDiag /Output:"C:\Tools\SetupDiag\SetupDiag Results\Results.log"
    
  • 以下示例指定 SetupDiag 在脱机模式下运行,并处理 在 D:\Temp\Logs\LogSet1 中找到的日志文件。

    SetupDiag.exe /Output:C:\SetupDiag\Results.log /LogsPath:D:\Temp\Logs\LogSet1
    
  • 以下示例设置脱机模式下的恢复方案。 在此示例中,SetupDiag 在指定的 LogsPath 位置搜索重置/恢复日志,并将结果输出到 /Output 参数指定的目录。

    SetupDiag.exe /Output:C:\SetupDiag\RecoveryResults.log /LogsPath:D:\Temp\Cabs\PBR_Log /Scenario:Recovery
    
  • 以下示例设置联机模式下的恢复方案。 在此示例中,SetupDiag 在当前系统上搜索重置/恢复日志,并输出 XML 格式的结果。

    SetupDiag.exe /Scenario:Recovery /Format:xml
    
  • 以下示例是脱机模式的示例。 指示 SetupDiag 分析 LogsPath 目录中的安装程序/升级日志文件并将结果输出到 C:\SetupDiag\Results.txt

    SetupDiag.exe /Output:C:\SetupDiag\Results.txt /LogsPath:D:\Temp\Logs\Logs1 /RegPath:HKEY_CURRENT_USER\SYSTEM\SetupDiag
    
  • 以下示例是联机模式的示例。 指示 SetupDiag 在当前系统上查找安装/升级日志,并将其结果以 XML 格式输出到 C:\SetupDiag\Results.xml

    SetupDiag.exe /Output:C:\SetupDiag\Results.xml /Format:xml
    
  • 以下示例是联机模式的示例,其中不需要或使用任何参数。 指示 SetupDiag 在当前系统上查找安装/升级日志,并将结果输出到 SetupDiag 所在的同一目录。

    SetupDiag.exe
    
  • 以下示例是重置/恢复脱机模式的示例。 指示 SetupDiag 在指定的 LogsPath 位置中查找重置/恢复日志。 然后,它将结果输出到 /Output 参数指定的目录。

    SetupDiag.exe /Output:C:\SetupDiag\RecoveryResults.log /LogsPath:D:\Temp\Cabs\PBR_Log /Scenario:Recovery
    
  • 以下示例是重置/恢复联机模式的示例。 指示 SetupDiag 在当前系统上查找重置/恢复日志,并将其结果输出为 XML 格式。

    SetupDiag.exe /Scenario:Recovery /Format:xml
    

日志文件

Windows 安装程序日志文件和事件日志 包含有关在 Windows 安装程序期间创建日志的位置的信息。 对于脱机处理,应针对整个文件夹的内容运行 SetupDiag。 例如,根据升级失败时间,将以下文件夹之一复制到脱机位置:

  • \$Windows.~bt\sources\panther
  • \$Windows.~bt\Sources\Rollback
  • \Windows\Panther
  • \Windows\Panther\NewOS

如果复制父文件夹和所有子文件夹,SetupDiag 会自动搜索所有子目录中的日志文件。

设置 bug 检查分析

当 Microsoft Windows 遇到危及安全系统操作的条件时,系统会停止。 这种情况称为 bug 检查。 这种情况通常也称为系统崩溃、内核错误、停止错误或 BSOD。 通常,硬件设备、硬件驱动程序或相关软件会导致此错误。

如果在系统上 启用了 故障转储,则会创建故障转储文件。 如果在升级过程中出现 bug 检查,Windows 安装程序会提取) 文件 (setupmem.dmp 小型转储。 SetupDiag 还可以调试这些与设置相关的微型umps。

调试与安装相关的 bug 检查:

  • 指定 /LogsPath 参数。 无法在联机模式下调试内存转储。

  • 从失败的系统中收集安装程序内存转储文件 ('setupmem.dmp) 。

    Setupmem.dmp%SystemDrive%$Windows.~bt\Sources\Rollback%WinDir%\Panther\NewOS\Rollback 中创建,具体取决于 bug 检查发生的时间。

  • 在运行 SetupDiag 的计算机上安装 Windows 调试工具

在以下示例中,文件 setupmem.dmp 将复制到 目录, D:\Dump 并在运行 SetupDiag 之前安装 Windows 调试工具:

SetupDiag.exe /Output:C:\SetupDiag\Dumpdebug.log /LogsPath:D:\Dump

已知问题

  • 如果涉及的日志文件很大,某些规则可能需要很长时间才能处理。

示例输出

以下命令是一个示例,其中 SetupDiag 在脱机模式下运行。

D:\SetupDiag>SetupDiag.exe /output:c:\setupdiag\result.xml /logspath:D:\Tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e /format:xml

SetupDiag v1.7.0.0
Copyright (c) Microsoft Corporation. All rights reserved.

Searching for setup logs...
Found d:\tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e\setupact_6.log with update date 6/12/2023 2:44:20 PM to be the correct setup log.
Found d:\tests\Logs\f55be736-beed-4b9b-aedf-c133536c946e\setupact_1.log with update date 6/12/2023 2:45:19 PM to be the correct rollback log.

Gathering baseline information from setup logs...

SetupDiag: processing rule: CompatScanOnly.
...No match.

...

SetupDiag: processing rule: DISMImageSessionFailure.
..
Error: SetupDiag reports DISM provider failure.
Last Phase: Safe OS
Last Operation: Apply Optional Component status
Message = Failed to get the IDismImage instance from the image session
Function: CDISMManager::CloseImageSession
Error: 0x800706ba
Recommend you re-download the update source files, reboot and try the update again.

SetupDiag found 1 matching issue.

SetupDiag results were logged to: c:\setupdiag\results.xml
Logs ZipFile created at: c:\setupdiag\Logs_14.zip

规则

当 SetupDiag 搜索日志文件时,它使用一组规则来匹配已知问题。 这些规则包含在 xml 文件中。 随着 SetupDiag 的新版本可用,xml 文件可能会使用新的和更新的规则进行更新。

每个规则名称及其关联的唯一规则标识符都列出了已知升级阻止问题的说明。 在规则说明中, “下层 ”一词是指升级过程的第一个阶段,该阶段在原始 OS 下运行。

规则名称 GUID 说明
CompatScanOnly FFDAFD37-DB75-498A-A893-472D49A1311D 此规则指示 setup.exe 使用特定命令行参数调用的 ,该参数指示安装程序仅执行兼容性扫描,而不执行升级。
PlugInComplianceBlock D912150B-1302-4860-91B5-527907D08960 检测服务器符合性插件中的所有兼容性块。此规则仅适用于服务器升级。 它输出所需的合规性块和修正。
BitLockerHardblock C30152E2-938E-44B8-915B-D1181BA635AE 如果目标 OS 不支持 BitLocker,但主机 OS 已启用 BitLocker,则此块是升级块。
VHDHardblock D9ED1B82-4ED8-4DFD-8EC0-BE69048978CC 当主机 OS 启动到 VHD 映像时,会发生此阻止。 从 VHD 映像启动主机 OS 时,不支持升级。
PortableWorkspaceHardblock 5B0D3AB4-212A-4CE4-BDB9-37CA404BB280 此块指示主机 OS 从 Windows To-Go 设备启动, (USB 密钥) 。 Windows To-Go 环境中不支持升级。
AuditModeHardblock A03BD71B-487B-4ACA-83A0-735B0F3F1A90 此块表示主机 OS 当前已启动到审核模式,这是修改 Windows 状态的特殊模式。 不支持从此状态升级。
SafeModeHardblock 404D9523-B7A8-4203-90AF-5FBB05B6579B 此块表示主机 OS 已启动到安全模式,不支持升级。
InsufficientSystemPartitionDiskSpaceHardblock 3789FBF8-E177-437D-B1E3-D38B4C4269D1 当安装程序确定系统分区没有足够的空间来处理升级过程中所需的较新的启动文件时,会遇到此块。 系统分区是存储启动加载程序文件的位置
CompatBlockedApplicationAutoUninstall BEBA5BC6-6150-413E-8ACE-5E1EC8D34D5 此规则指示需要卸载应用程序,然后才能继续安装。
CompatBlockedApplicationDismissable EA52620B-E6A0-4BBC-882E-0686605736D9 /quiet 模式下运行安装程序时,除非命令行还指定 /compat ignorewarning,否则会变成块的已解除应用程序消息。 此规则指示安装程序是在 /quiet 模式下执行的,但应用程序已解除阻止阻止设置继续。
CompatBlockedFODDismissable 7B693C42-793E-4E9E-A10B-ED0F33D45E2A /quiet 模式下运行安装程序时,除非命令行还指定 了 /compat ignorewarning,否则会变成块的“按需功能”消息会变为块。 此规则指示安装程序是在 /quiet 模式下执行的,但存在阻止安装继续的按需功能阻止消息,通常表明目标 OS 映像缺少当前 OS 中安装的按需功能。 删除当前 OS 中的按需功能也应能解决此问题。
CompatBlockedApplicationManualUninstall 9E912E5F-25A5-4FC0-BEC1-CA0EA5432FF4 此规则指示系统上存在没有“添加/删除程序”条目的应用程序,并阻止安装程序继续。 此块通常需要手动删除与此应用程序关联的文件才能继续。
GenericCompatBlock 511B9D95-C945-4F9B-BD63-98F1465E1CF6 规则指示系统不符合运行 Windows 的硬件要求。 例如,设备缺少 TPM 2.0 的要求。 即使尝试绕过硬件要求,也可能发生此问题。
GatedCompatBlock 34A9F145-3842-4A68-987F-4622EE0FC162 此规则指示升级由于临时阻止而失败。 如果发现特定软件或硬件驱动程序的问题,并且该问题有待解决的修复,则会设置临时块。 修复程序广泛可用后,将解除该块。
HardblockDeviceOrDriver ED3AEFA1-F3E2-4F33-8A21-184ADF215B1B 此错误表示主机 OS 上加载的设备驱动程序与较新的 OS 版本不兼容。 在升级之前,需要删除设备驱动程序。
HardblockMismatchedLanguage 60BA8449-CF23-4D92-A108-D6FCEFB95B45 此规则指示主机 OS 和目标 OS 语言版本不匹配。
HardblockFlightSigning 598F2802-3E7F-4697-BD18-7A6371C8B2F8 此规则指示目标 OS 是预发行的 Windows 预览体验成员内部版本,并且目标计算机已启用安全启动。 如果已在计算机上安装,则此规则会阻止预发布签名的生成启动。
DiskSpaceBlockInDownLevel 6080AFAC-892E-4903-94EA-7A17E69E549E 此故障表示在升级的下层操作期间,系统磁盘空间不足。
DiskSpaceFailure 981DCBA5-B8D0-4BA7-A8AB-4030F7A10191 此故障指示系统驱动器在第一次重新启动到升级后的某个时间点用完可用磁盘空间。
PreReleaseWimMountDriverFound 31EC76CC-27EC-4ADC-9869-66AABEDB56F0 捕获由于在系统上注册了无法识别 wimmount.sys 的驱动程序而导致的故障。
DebugSetupMemoryDump C7C63D8A-C5F6-4255-8031-74597773C3C6 此仅脱机规则指示在安装过程中检查出现 bug。 如果系统上提供了调试器工具,则 SetupDiag 将调试内存转储并提供详细信息。
DebugSetupCrash CEEBA202-6F04-4BC3-84B8-7B99AED924B1 此仅脱机规则指示安装程序本身遇到导致进程内存转储的失败。 如果在系统上安装了调试器工具,则 SetupDiag 将调试内存转储并提供更多详细信息。
DebugMemoryDump 505ED489-329A-43F5-B467-FCAAF6A1264C 此仅脱机规则适用于在安装/升级操作过程中产生的任何memory.dmp文件。 如果在系统上安装了调试器工具,则 SetupDiag 将调试内存转储并提供更多详细信息。
DeviceInstallHang 37BB1C3A-4D79-40E8-A556-FDA126D40BC6 此失败规则指示在升级的设备安装阶段,系统挂起或检查了 bug。
DriverPackageMissingFileFailure 37BB1C3A-4D79-40E8-A556-FDA126D40BC6 此规则指示驱动程序包在设备安装期间缺少文件。 更新驱动程序包可能有助于解决问题。
UnsignedDriverBootFailure CD270AA4-C044-4A22-886A-F34EF2E79469 此规则指示未签名的驱动程序导致启动失败。
BootFailureDetected 4FB446C2-D4EC-40B4-97E2-67EB19D1CFB7 此规则指示在更新的特定阶段发生启动失败。 规则指示故障代码和阶段以进行诊断。
WinSetupBootFilterFailure C073BFC8-5810-4E19-B53B-4280B79E096C 检测内核模式文件操作中的失败。
FindDebugInfoFromRollbackLog 9600EB68-1120-4A87-9FE9-3A4A70ACFC37 此规则确定并详细说明在安装/升级过程中出现导致内存转储的 bug 检查。 但是,在执行的计算机上不需要调试器包。
AdvancedInstallerFailed 77D36C96-32BE-42A2-BB9C-AAFFE64FCADC 查找导致安装失败的致命高级安装程序操作。 指示在运行安装程序包时 AdvancedInstaller 中的严重故障,包括所调用 .exe、阶段、模式、组件和错误代码。
AdvancedInstallerPluginInstallFailed 2F784A0E-CEB1-47C5-8072-F1294C7CB4AE 此规则指示通过高级安装程序安装的某些组件 (FeatureOnDemand、语言包、.NET 包等 ) 安装失败。 规则会指出正在安装的内容。 如果失败的组件是 FeatureOnDemand,请删除 Windows 功能,重新启动,然后重试升级。 如果失败的组件是语言包,请删除其他语言包,重新启动,然后重试升级。
AdvancedInstallerGenericFailure 4019550D-4CAA-45B0-A222-349C48E86F71 一个规则,用于匹配一般意义上的 AdvancedInstaller 读/写失败。 从一般意义上说,针对高级安装程序故障的触发器。 它输出名为“阶段”、“模式”、“组件”和“错误代码”的应用程序。
FindMigApplyUnitFailure A4232E11-4043-4A37-9BF4-5901C46FD781 检测导致更新失败的迁移单元故障。 此规则输出迁移插件的名称及其生成的错误代码,以便进行诊断。
FindMigGatherUnitFailure D04C064B-CD77-4E64-96D6-D26F30B4EE29 检测导致更新失败的迁移收集单元故障。 此规则输出收集单元/插件的名称,以及它为诊断目的而生成的错误代码。
FindMigGatherApplyFailure A9964E6C-A2A8-45FF-B6B5-25E0BD71428E 在收集或应用操作上迁移引擎失败时显示错误。 指示迁移对象 (文件或注册表路径) 迁移
OptionalComponentFailedToGetOCsFromPackage D012E2A2-99D8-4A8C-BBB2-088B92083D78 尝试枚举包中的组件时,此规则与特定的可选组件失败匹配。 指示 OC) 迁移操作无法枚举 OC 包中的可选组件 (可选组件。 它输出包名称和错误代码。 此规则替换了存在的 OptionalComponentInstallFailure 规则。
OptionalComponentOpenPackageFailed 22952520-EC89-4FBD-94E0-B67DF88347F6 与尝试打开 OC 包时的特定可选组件故障匹配。 它输出包名称和错误代码。 指示可选组件迁移操作无法打开可选组件包。 输出包名称和错误代码。
OptionalComponentInitCBSSessionFailed 63340812-9252-45F3-A0F2-B2A4CA5E9317 与高级安装程序服务或组件未在系统上运行或启动的特定故障匹配。 指示下层系统上的服务堆栈中的损坏。 输出尝试在现有 OS 上初始化服务组件时遇到的错误代码。
CriticalSafeOSDUFailure 73566DF2-CA26-4073-B34C-C9BC70DBF043 此规则指示在使用关键动态更新更新 SafeOS 映像时发生失败。 它指示尝试更新 SafeOS 映像以进行诊断时发生的阶段和错误代码。
UserProfileCreationFailureDuringOnlineApply 678117CE-F6A9-40C5-BC9F-A22575C78B14 指示在更新的联机应用阶段创建或修改用户配置文件时发生严重失败。 它指示与故障关联的操作和错误代码,以便进行诊断。
UserProfileCreationFailureDuringFinalize C6677BA6-2E53-4A88-B528-336D15ED1A64 与设置的完成阶段的特定用户配置文件创建错误匹配。 它输出失败代码。
UserProfileSuffixMismatch B4BBCCCE-F99D-43EB-9090-078213397FD8 检测文件或其他对象在更新期间导致用户配置文件的迁移或创建失败的时间。
DuplicateUserProfileFailure BD7B3109-80F1-4421-8F0A-B34CD25F4B51 此规则指示迁移用户配置文件时出现严重错误,通常是与单个用户配置文件关联的多个 SID。 当软件创建从未使用或登录过的本地用户帐户时,通常会发生此错误。 规则指示导致失败的帐户的 SID 和用户名。 若要尝试解决此问题,请先备份受影响用户帐户的所有用户文件。 备份用户的文件后,以受支持的方式删除帐户。 确保帐户不是登录设备所需的帐户或当前用于登录设备的帐户。 删除帐户后,请重新启动,然后重试升级。
WimMountFailure BE6DF2F1-19A6-48C6-AEF8-D3B0CE3D4549 此规则指示更新未能装载 WIM 文件。 它显示 WIM 文件的名称以及与故障关联的错误消息和错误代码,以便进行诊断。
WimMountDriverIssue 565B60DD-5403-4797-AE3E-BC5CB972FBAE 检测系统上的注册失败 WimMount.sys
WimApplyExtractFailure 746879E9-C9C5-488C-8D4B-0C811FF3A9A8 在设置的 WIM 提取阶段匹配 WIM 应用失败。 它输出扩展、路径和错误代码。
UpdateAgentExpanderFailure 66E496B3-7D19-47FA-B19B-4040B9FD17E2 匹配从 Windows 更新 更新的下层阶段的 DPX 扩展器故障。 它输出包名称、函数、表达式和错误代码。
FindFatalPluginFailure E48E3F1C-26F6-4AFB-859B-BF637DA49636 与安装程序认为对安装程序致命的任何插件故障匹配。 它输出插件名称、操作和错误代码。
MigrationAbortedDueToPluginFailure D07A24F6-5B25-474E-B516-A730085940C9 指示迁移插件中导致安装程序中止迁移的严重故障。 提供安装操作、插件名称、插件操作和错误代码。
DISMAddPackageFailed 6196FF5B-E69E-4117-9EC6-9C1EAB20A3B9 指示 DISM 添加包操作期间出现严重故障。 指定包名称、DISM 错误并添加包错误代码。
DISMImageSessionFailure 61B7886B-10CD-4C98-A299-B987CB24A11C 捕获 DISM 无法成功启动映像会话时的失败信息。
DISMproviderFailure D76EF86F-B3F8-433F-9EBF-B4411F8141F4 当 DISM 提供程序 (插件) 在关键操作中失败时触发。 输出文件 (插件名称) 、名为 + 错误代码的函数以及来自提供程序的错误消息。
SysPrepLaunchModuleFailure 7905655C-F295-45F7-8873-81D6F9149BFD 指示 sysPrep 插件在关键操作中失败。 指示插件名称、操作名称和错误代码。
UserProvidedDriverInjectionFailure 2247C48A-7EE3-4037-AFAB-95B92DE1D980 通过命令行输入为设置 (提供的驱动程序) 以某种方式失败。 输出驱动程序安装函数和错误代码。
DriverMigrationFailure 9378D9E2-256E-448C-B02F-137F611F5CE3 此规则指示迁移驱动程序时出现严重故障。
UnknownDriverMigrationFailure D7541B80-5071-42CE-AD14-FBE8C0C4F7FD 此规则指示系统上存在错误的驱动程序包。 尝试将驱动程序包迁移到新 OS 时,驱动程序包会导致升级失败。 规则通常指示导致问题的驱动程序包名称。 补救措施是删除错误的驱动程序包,重新启动,然后重试升级。 如果 OEM 提供了对此驱动程序的更新,建议更新驱动程序包。
FindSuccessfulUpgrade 8A0824C8-A56D-4C55-95A0-22751AB62F3E 根据日志确定给定的设置是否成功。
FindSetupHostReportedFailure 6253C04F-2E4E-4F7A-B88E-95A69702F7EC 提供有关升级过程中早期出现的故障的信息 setuphost.exe
FindDownlevelFailure 716334B7-F46A-4BAA-94F2-3E31BC9EFA55 提供 SetupPlatform(稍后在下层阶段)呈现的失败信息。
FindAbruptDownlevelFailure 55882B1A-DA3E-408A-9076-23B22A0472BD 当系统在下层发生故障,但日志突然结束时,提供上次操作失败信息。
FindEarlyDownlevelError A4CE4FC9-5E10-4BB1-8ECE-3B29EB9D7C52 在调用安装平台之前,检测下级阶段的故障。
FindSPFatalError A4028172-1B09-48F8-AD3B-86CDD7D55852 在安装平台遇到严重错误时捕获失败信息。
FindSetupPlatformFailedOperationInfo 307A0133-F06B-4B75-AEA8-116C3B53C2D1 当 SetupPlatform 指示严重故障时,提供最后阶段和错误信息。 出于诊断目的,此规则指示与失败关联的操作和错误。
FindRollbackFailure 3A43C9B5-05B3-4F7C-A955-88F991BB5A48 在回滚发生时提供最后一个操作、失败阶段和错误信息。

示例日志

文本日志示例

Matching Profile found: OptionalComponentOpenPackageFailed - 22952520-EC89-4FBD-94E0-B67DF88347F6
System Information:
    Machine Name = Offline
    Manufacturer = MSI
    Model = MS-7998
    HostOSArchitecture = x64
    FirmwareType = PCAT
    BiosReleaseDate = 20160727000000.000000+000
    BiosVendor = BIOS Date: 07/27/16 10:01:46 Ver: V1.70
    BiosVersion = 1.70
    HostOSVersion = 10.0.15063
    HostOSBuildString = 15063.0.amd64fre.rs2_release.170317-1834
    TargetOSBuildString = 10.0.16299.15 (rs3_release.170928-1534)
    HostOSLanguageId = 2057
    HostOSEdition = Core
    RegisteredAV = Windows Defender,
    FilterDrivers = WdFilter,wcifs,WIMMount,luafv,Wof,FileInfo,
    UpgradeStartTime = 3/21/2023 9:47:16 PM
    UpgradeEndTime = 3/21/2023 10:02:40 PM
    UpgradeElapsedTime = 00:15:24
    ReportId = dd4db176-4e3f-4451-aef6-22cf46de8bde

Error: SetupDiag reports Optional Component installation failed to open OC Package. Package Name: Foundation, Error: 0x8007001F
Recommend you check the "Windows Modules Installer" service (Trusted Installer) is started on the system and set to automatic start, reboot and try the update again.  Optionally, you can check the status of optional components on the system (search for Windows Features), uninstall any unneeded optional components, reboot and try the update again.
Error: SetupDiag reports down-level failure, Operation: Finalize, Error: 0x8007001F - 0x50015
Refer to https://learn.microsoft.com/windows/deployment/upgrade/upgrade-error-codes for error information.

XML 日志示例

<?xml version="1.0" encoding="utf-16"?>
<SetupDiag xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://learn.microsoft.com/windows/deployment/upgrade/setupdiag">
  <Version>1.7.0.0</Version>
  <ProfileName>FindSPFatalError</ProfileName>
  <ProfileGuid>A4028172-1B09-48F8-AD3B-86CDD7D55852</ProfileGuid>
  <SystemInfo>
    <MachineName>Offline</MachineName>
    <Manufacturer>Gigabyte Technology Co., Ltd.</Manufacturer>
    <Model>X470 AORUS ULTRA GAMING</Model>
    <HostOSArchitecture>1033</HostOSArchitecture>
    <FirmwareType>UEFI</FirmwareType>
    <BiosReleaseDate>20180808000000.000000+000</BiosReleaseDate>
    <BiosVendor>F3</BiosVendor>
    <BiosVersion />
    <HostOSVersion>10.0.18908</HostOSVersion>
    <HostOSBuildString>18908.1000.amd64fre.rs_prerelease.190524-1658</HostOSBuildString>
    <TargetOSBuildString>10.0.18912.1001 (rs_prerelease.190601-1739)</TargetOSBuildString>
    <HostOSLanguageId />
    <HostOSEdition>Professional</HostOSEdition>
    <RegisteredAV>Windows Defender</RegisteredAV>
    <FilterDrivers />
    <UpgradeStartTime>2023-06-06T21:19:10</UpgradeStartTime>
    <UpgradeElapsedTime />
    <UpgradeEndTime>2023-06-06T22:21:49</UpgradeEndTime>
    <RollbackStartTime>0001-01-01T00:00:00</RollbackStartTime>
    <RollbackEndTime>0001-01-01T00:00:00</RollbackEndTime>
    <RollbackElapsedTime />
    <FinalizeStartTime>0001-01-01T00:00:00</FinalizeStartTime>
    <PostOOBESuccessTime>0001-01-01T00:00:00</PostOOBESuccessTime>
    <TotalOfflineTime />
    <CommercialId>Offline</CommercialId>
    <CV>MgUweCZk90KdwUiZ</CV>
    <SetupReportId>F21F8FB6-00FD-4349-84FB-2AC75F389E73</SetupReportId>
    <ReportId>F21F8FB6-00FD-4349-84FB-2AC75F389E73</ReportId>
  </SystemInfo>
  <LogErrorLine>2023-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2023 to structure[gle=0x00000057]</LogErrorLine>
  <FailureData>
Error: SetupDiag reports Fatal Error.
Last Setup Phase = Downlevel
Last Setup Operation: Gather data, scope: EVERYTHING
Error: 0x00000057</FailureData>
  <FailureData>LogEntry: 2023-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2023 to structure[gle=0x00000057]</FailureData>
  <FailureData>LogEntry: 2023-06-06 21:47:11, Error                 SP     Error converting install time 5/2/2023 to structure[gle=0x00000057]</FailureData>
  <FailureData>
Refer to "https://learn.microsoft.com/windows/desktop/Debug/system-error-codes" for error information.</FailureData>
  <FailureDetails>Err = 0x00000057, LastOperation = Gather data, scope: EVERYTHING, LastPhase = Downlevel</FailureDetails>
</SetupDiag>

JSON 日志示例

{
    "Version":"1.6.0.0",
    "ProfileName":"FindSPFatalError",
    "ProfileGuid":"A4028172-1B09-48F8-AD3B-86CDD7D55852",
    "SystemInfo":{
        "BiosReleaseDate":"20180808000000.000000+000",
        "BiosVendor":"F3",
        "BiosVersion":"F3",
        "CV":"MgUweCZk90KdwUiZ",
        "CommercialId":"Offline",
        "FilterDrivers":"",
        "FinalizeStartTime":"\/Date(-62135568000000-0800)\/",
        "FirmwareType":"UEFI",
        "HostOSArchitecture":"x64",
        "HostOSBuildString":"18908.1000.amd64fre.rs_prerelease.190524-1658",
        "HostOSEdition":"Professional",
        "HostOSLanguageId":"",
        "HostOSVersion":"",
        "MachineName":"Offline",
        "Manufacturer":"Gigabyte Technology Co., Ltd.",
        "Model":"X470 AORUS ULTRA GAMING",
        "PostOOBESuccessTime":"\/Date(-62135568000000-0800)\/",
        "RegisteredAV":"Windows Defender",
        "ReportId":"F21F8FB6-00FD-4349-84FB-2AC75F389E73",
        "RollbackElapsedTime":"PT0S",
        "RollbackEndTime":"\/Date(-62135568000000-0800)\/",
        "RollbackStartTime":"\/Date(-62135568000000-0800)\/",
        "SetupReportId":"F21F8FB6-00FD-4349-84FB-2AC75F389E73",
        "TargetOSArchitecture":null,
        "TargetOSBuildString":"10.0.18912.1001 (rs_prerelease.190601-1739)",
        "TotalOfflineTime":"PT0S",
        "UpgradeElapsedTime":"PT1H2M39S",
        "UpgradeEndTime":"\/Date(1559884909000-0700)\/",
        "UpgradeStartTime":"\/Date(1559881150000-0700)\/"
    },
    "LogErrorLine":"2023-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2023 to structure[
        gle=0x00000057
    ]",
    "FailureData":[
        "\u000aError: SetupDiag reports Fatal Error.\u000aLast Setup Phase = Downlevel\u000aLast Setup Operation: Gather data, scope: EVERYTHING\u000aError: 0x00000057",
        "LogEntry: 2023-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2023 to structure[
            gle=0x00000057
        ]",
        "LogEntry: 2023-06-06 21:47:11, Error                 SP     Error converting install time 5\/2\/2023 to structure[
            gle=0x00000057
        ]",
        "\u000aRefer to \"https:\/\/learn.microsoft.com\/windows\/desktop\/Debug\/system-error-codes\" for error information."
    ],
    "FailureDetails":"Err = 0x00000057, LastOperation = Gather data, scope: EVERYTHING, LastPhase = Downlevel",
    "DeviceDriverInfo":null,
    "Remediation":[
        
    ],
    "SetupPhaseInfo":null,
    "SetupOperationInfo":null
}

注册表项示例

Addreg 注册表项的示例。