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 。
要求
Windows 的目标版本必须是当前支持的 Windows 版本。 最初安装的 Windows 版本可以是不受支持的 Windows 版本,只要:
- Windows 的目标版本是当前支持的 Windows 版本。
- 支持从原始已安装版本的 Windows 升级到目标版本的 Windows。
必须安装 .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,请执行以下操作:
验证系统是否满足 要求。
如果 Web 浏览器询问如何处理文件,请选择“ 保存”。 默认情况下,该文件保存到 “下载” 文件夹。 如果需要,还可以使用 “另存为”将文件保存到其他位置。
当 SetupDiag 完成下载后,打开下载文件的文件夹。 默认情况下,此文件夹是“下载”文件夹,显示在左侧导航窗格的“快速访问”下的文件资源管理器中。
双击 SetupDiag 文件以运行它。 如果要求批准运行程序,请选择 “是 ”。
当 SetupDiag 完成其分析时,双击文件以运行该文件会自动关闭命令窗口。 若要使窗口保持打开状态以查看 SetupDiag 生成的消息,请在命令提示符处键入 SetupDiag ,而不是双击它来运行程序。 从命令提示符运行时,请确保将目录更改为 SetupDiag 所在的位置。
当 SetupDiag 诊断计算机时,将打开命令窗口。 等待此过程完成。
SetupDiag 完成后,会在运行 SetupDiag 的同一文件夹中创建两个文件。 一个是配置文件,另一个是日志文件。
使用记事本打开日志文件 SetupDiagResults.log。
查看显示的信息。 如果匹配规则,此信息可以说明计算机升级失败的原因,以及可能如何解决问题。 请参阅 文本日志示例部分。
有关如何在脱机模式下运行该工具以及使用更多高级选项的说明,请参阅 参数 和 示例部分。
参数
参数 | 描述 |
---|---|
/? | 显示交互式帮助 |
/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 的详细信息。 默认情况下,SetupDiag 仅针对重大错误生成日志文件条目。 使用 /Verbose 会导致 SetupDiag 始终生成另一个包含调试详细信息的日志文件。 报告 SetupDiag 问题时,这些详细信息可能很有用。 |
/NoTel | 此可选参数告知 SetupDiag.exe 不要向 Microsoft 发送诊断遥测数据。 |
/RegPath | 此可选参数指示 SetupDiag.exe 将失败信息添加到给定路径下的注册表。 注册表路径应以 HKEY_LOCAL_MACHINE 或 HKEY_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
}
注册表项示例