Windows 升级日志文件

注意

本文是一篇 400 级文章, (高级) 。

有关本部分中的文章的完整列表,请参阅 解决 Windows 升级错误

在升级过程的每个阶段中会创建多个日志文件。 必须使用这些日志文件才能解决升级问题。 默认情况下,包含这些日志文件的文件夹隐藏在升级目标计算机上。 若要查看日志文件,请配置 Windows 资源管理器查看隐藏的项目,或使用工具自动收集这些日志。 最有用的日志是 setupact.log。 根据 Windows 安装程序阶段,日志文件位于不同的文件夹中。 回想一下,可以从扩展代码确定阶段。

注意

另请参阅本部分中Windows 错误报告一文,获取有关查找错误代码和日志文件的帮助。

下表介绍了某些日志文件以及如何使用它们进行疑难解答:

日志文件 阶段:位置 描述 使用时间
setupact.log 下层:
$Windows.~BT\Sources\Panther
包含有关下层阶段期间安装程序操作的信息。 所有下层发生故障并调查回滚的起点。
Setup.act 是诊断安装问题的最重要日志。
setupact.log OOBE:
$Windows.~BT\Sources\Panther\UnattendGC
包含有关 OOBE 阶段期间操作的信息。 调查在 OOBE 阶段和操作期间失败的回滚 - 0x4001C、0x4001D、0x4001E、0x4001F。
setupact.log 回滚:
$Windows.~BT\Sources\Rollback
包含有关回滚期间操作的信息。 调查通用回滚 - 0xC1900101。
setupact.log 预初始化(在下层之前):
Windows
包含有关初始化安装程序的信息。 如果安装程序无法启动。
setupact.log 升级后(在 OOBE 之后):
Windows\Panther
包含有关安装期间安装程序操作的信息。 调查升级后的相关问题。
setuperr.log 与 setupact.log 相同 包含有关安装期间安装程序错误的信息。 查看在安装阶段期间遇到的所有错误。
miglog.xml 升级后(在 OOBE 之后):
Windows\Panther
包含有关安装期间已迁移内容的信息。 确定升级后的数据迁移问题。
BlueBox.log 下层:
Windows\Logs\Mosetup
包含与 Windows 更新 之间的setup.exe信息通信。 在 WSUS 期间和Windows 更新下级故障期间使用,或用于0xC1900107。
补充回滚日志:
Setupmem.dmp
setupapi.dev.log
事件日志 (*.evtx)
$Windows.~BT\Sources\Rollback 回滚期间收集的其他日志。 Setupmem.dmp:如果在升级过程中检查 OS bug,安装程序将尝试提取微型转储。
Setupapi:设备安装问题 - 0x30018
事件日志:通用回滚 (0xC1900101) 或意外重新启动。

日志项目结构

setupact.logsetuperr.log 条目包括以下元素:

  1. 日期和时间 - 2023-09-08 09:20:05

  2. 日志级别 - 信息、警告、错误、严重错误

  3. 日志记录组件 - CONX、MOUPG、PANTHR、SP、IBSLIB、MIG、DISM、CSI、CBS

日志记录组件 SP (安装平台) 、MIG (迁移引擎) 和 CONX (兼容性信息) 可用于排查 Windows 安装程序错误。

  1. 消息 - 操作已成功完成。

请参阅以下示例:

日期/时间 日志级别 组件 消息
2023-09-08 09:23:50, 警告 MIG 无法替换对象 C:\Users\name\Cookies。 无法删除目标对象。

分析日志文件

以下说明适用于 IT 专业人员。 另请参阅本指南中的 升级错误代码 部分,以熟悉 结果代码扩展代码

若要分析 Windows 安装程序日志文件,请执行以下操作:

  1. 确定 Windows 安装程序错误代码。 如果升级过程未成功,Windows 安装程序应返回错误代码。

  2. 根据错误代码的 扩展代码 部分,确定要调查的日志文件的类型和位置。

  3. 在文本编辑器(例如记事本)中打开日志文件。

  4. 使用 Windows 安装程序错误代码的结果代码部分,在文件中搜索结果代码并找到代码最后一次出现的位置。 也可以搜索“abort”和“abandoning”文本字符串,如下面的步骤 7 所述。

  5. 若要查找结果代码最后一次出现的位置:

    1. 滚动到文件底部,选择最后一个字符之后。
    2. 选择 “编辑”。
    3. 选择“ 查找”。
    4. 键入结果代码。
    5. 方向下选择向上
    6. 选择“ 查找下一个”。
  6. 找到结果代码的最后一个匹配项时,请从文件中的此位置向上滚动几行,并在生成结果代码之前查看失败的进程。

  7. 搜索以下重要的文本字符串:

    • Shell application requested abort
    • Abandoning apply due to error for object
  8. 本部分中出现的 Win32 解码错误。

  9. 记下本部分中观察到的错误的时间戳。

  10. 在其他日志文件中搜索有关匹配这些时间戳或错误的其他信息。

例如,假设错误的错误代码为 0x8007042B - 0x2000D。 搜索 8007042B 会显示文件中的 setuperr.log 以下内容:

注意

以下文本中的某些行会缩短,以提高可读性。 例如

  • 每行开头的日期和时间 (例如:2023-10-05 15:27:08) 缩短为分钟和秒
  • 证书文件名(长文本字符串)缩写为“CN”。

setuperr.log 内容:

27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
27:08, Error                  Gather failed. Last error: 0x00000000
27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C
27:09, Error           SP     CMigrateFramework: Gather framework failed. Status: 44
27:09, Error           SP     Operation failed: Migrate framework (Full). Error: 0x8007042B[gle=0x000000b7]
27:09, Error           SP     Operation execution failed: 13. hr = 0x8007042B[gle=0x000000b7]
27:09, Error           SP     CSetupPlatformPrivate::Execute: Execution of operations queue failed, abandoning. Error: 0x8007042B[gle=0x000000b7]

第一行指示0x00000570文件 C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]

27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]

错误 0x00000570Win32 错误代码 ,对应于: ERROR_FILE_CORRUPT:文件或目录已损坏且不可读

因此,Windows 安装程序失败,因为它无法迁移损坏的文件 C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18[CN]。 此文件是本地系统证书,可以安全删除。 在 setupact.log 搜索文件的更多详细信息后, Shell 应用程序请求中止的 短语位于时间戳与 中的 setuperr.log行相同的位置。 此分析确认怀疑此文件是升级失败的原因:

setupact.log 内容:

27:00, Info                   Gather started at 10/5/2023 23:27:00
27:00, Info [0x080489] MIG    Setting system object filter context (System)
27:00, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
27:00, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
27:00, Info            SP     ExecuteProgress: Elapsed events:1 of 4, Percent: 12
27:00, Info [0x0802c6] MIG    Processing GATHER for migration unit: <System>\UpgradeFramework (CMXEAgent)
27:08, Error           SP     Error READ, 0x00000570 while gathering/applying object: File, C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Will return 0[gle=0x00000570]
27:08, Error           MIG    Error 1392 while gathering object C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18 [CN]. Shell application requested abort![gle=0x00000570]
27:08, Info            SP     ExecuteProgress: Elapsed events:2 of 4, Percent: 25
27:08, Info            SP     ExecuteProgress: Elapsed events:3 of 4, Percent: 37
27:08, Info [0x080489] MIG    Setting system object filter context (System)
27:08, Info [0x0803e5] MIG    Not unmapping HKCU\Software\Classes; it is not mapped
27:08, Info [0x0803e5] MIG    Not unmapping HKCU; it is not mapped
27:08, Info            MIG    COutOfProcPluginFactory::FreeSurrogateHost: Shutdown in progress.
27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost::CommandLine: -shortened-
27:08, Info            MIG    COutOfProcPluginFactory::LaunchSurrogateHost: Successfully launched host and got control object.
27:08, Error                  Gather failed. Last error: 0x00000000
27:08, Info                   Gather ended at 10/5/2023 23:27:08 with result 44
27:08, Info                   Leaving MigGather method
27:08, Error           SP     SPDoFrameworkGather: Gather operation failed. Error: 0x0000002C

setupapi.dev.log 内容:

>>>  [Device Install (UpdateDriverForPlugAndPlayDevices) - PCI\VEN_8086&DEV_8C4F]
>>>  Section start 2023/09/26 20:13:01.623
      cmd: rundll32.exe "C:\WINDOWS\Installer\MSI6E4C.tmp",zzzzInvokeManagedCustomActionOutOfProc SfxCA_95972906 484 ChipsetWiX.CustomAction!Intel.Deployment.ChipsetWiX.CustomActions.InstallDrivers
     ndv: INF path: C:\WINDOWS\TEMP\{15B1CD41-69F5-48EA-9F45-0560A40FE2D8}\Drivers\lynxpoint\LynxPointSystem.inf
     ndv: Install flags: 0x00000000
     ndv: {Update Device Driver - PCI\VEN_8086&DEV_8C4F&SUBSYS_05BE1028&REV_04\3&11583659&0&F8}
     ndv:      Search options: 0x00000081
     ndv:      Searching single INF 'C:\WINDOWS\TEMP\{15B1CD41-69F5-48EA-9F45-0560A40FE2D8}\Drivers\lynxpoint\LynxPointSystem.inf'
     dvi:      {Build Driver List} 20:13:01.643
     dvi:           Searching for hardware ID(s):
     dvi:                pci\ven_8086&dev_8c4f&subsys_05be1028&rev_04
     dvi:                pci\ven_8086&dev_8c4f&subsys_05be1028
     dvi:                pci\ven_8086&dev_8c4f&cc_060100
     dvi:                pci\ven_8086&dev_8c4f&cc_0601
     dvi:           Searching for compatible ID(s):
     dvi:                pci\ven_8086&dev_8c4f&rev_04
     dvi:                pci\ven_8086&dev_8c4f
     dvi:                pci\ven_8086&cc_060100
     dvi:                pci\ven_8086&cc_0601
     dvi:                pci\ven_8086
     dvi:                pci\cc_060100
     dvi:                pci\cc_0601
     sig:           {_VERIFY_FILE_SIGNATURE} 20:13:01.667
     sig:                Key      = lynxpointsystem.inf
     sig:                FilePath = c:\windows\temp\{15b1cd41-69f5-48ea-9f45-0560a40fe2d8}\drivers\lynxpoint\lynxpointsystem.inf
     sig:                Catalog  = c:\windows\temp\{15b1cd41-69f5-48ea-9f45-0560a40fe2d8}\drivers\lynxpoint\LynxPoint.cat
     sig:                Success: File is signed in catalog.
     sig:           {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 20:13:01.683
     dvi:           Created Driver Node:
     dvi:                HardwareID   - PCI\VEN_8086&DEV_8C4F
     dvi:                InfName      - c:\windows\temp\{15b1cd41-69f5-48ea-9f45-0560a40fe2d8}\drivers\lynxpoint\lynxpointsystem.inf
     dvi:                DevDesc      - Intel(R) QM87 LPC Controller - 8C4F
     dvi:                Section      - Needs_ISAPNP_DRV
     dvi:                Rank         - 0x00ff2001
     dvi:                Signer Score - WHQL
     dvi:                DrvDate      - 04/04/2016
     dvi:                Version      - 10.1.1.18
     dvi:      {Build Driver List - exit(0x00000000)} 20:13:01.699
     ndv:      Searching currently installed INF
     dvi:      {Build Driver List} 20:13:01.699
     dvi:           Searching for hardware ID(s):
     dvi:                pci\ven_8086&dev_8c4f&subsys_05be1028&rev_04
     dvi:                pci\ven_8086&dev_8c4f&subsys_05be1028
     dvi:                pci\ven_8086&dev_8c4f&cc_060100
     dvi:                pci\ven_8086&dev_8c4f&cc_0601
     dvi:           Searching for compatible ID(s):
     dvi:                pci\ven_8086&dev_8c4f&rev_04
     dvi:                pci\ven_8086&dev_8c4f
     dvi:                pci\ven_8086&cc_060100
     dvi:                pci\ven_8086&cc_0601
     dvi:                pci\ven_8086
     dvi:                pci\cc_060100
     dvi:                pci\cc_0601
     dvi:           Created Driver Node:
     dvi:                HardwareID   - PCI\VEN_8086&DEV_8C4F
     dvi:                InfName      - C:\WINDOWS\System32\DriverStore\FileRepository\lynxpointsystem.inf_amd64_cd1e518d883ecdfe\lynxpointsystem.inf
     dvi:                DevDesc      - Intel(R) QM87 LPC Controller - 8C4F
     dvi:                Section      - Needs_ISAPNP_DRV
     dvi:                Rank         - 0x00ff2001
     dvi:                Signer Score - WHQL
     dvi:                DrvDate      - 10/03/2016
     dvi:                Version      - 10.1.1.38
     dvi:      {Build Driver List - exit(0x00000000)} 20:13:01.731
     dvi:      {DIF_SELECTBESTCOMPATDRV} 20:13:01.731
     dvi:           Default installer: Enter 20:13:01.735
     dvi:                {Select Best Driver}
     dvi:                     Class GUID of device changed to: {4d36e97d-e325-11ce-bfc1-08002be10318}.
     dvi:                     Selected Driver:
     dvi:                          Description - Intel(R) QM87 LPC Controller - 8C4F
     dvi:                          InfFile     - c:\windows\system32\driverstore\filerepository\lynxpointsystem.inf_amd64_cd1e518d883ecdfe\lynxpointsystem.inf
     dvi:                          Section     - Needs_ISAPNP_DRV
     dvi:                {Select Best Driver - exit(0x00000000)}
     dvi:           Default installer: Exit
     dvi:      {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 20:13:01.743
     ndv:      Currently Installed Driver:
     ndv:           Inf Name       - oem1.inf
     ndv:           Driver Date    - 10/03/2016
     ndv:           Driver Version - 10.1.1.38
     ndv: {Update Device Driver - exit(00000103)}
!    ndv: No better matching drivers found for device 'PCI\VEN_8086&DEV_8C4F&SUBSYS_05BE1028&REV_04\3&11583659&0&F8'.
!    ndv: No devices were updated.
<<<  Section end 2019/09/26 20:13:01.759
<<<  [Exit status: FAILURE(0xC1900101)]

此分析表明,可以通过删除 C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\[CN] 文件来解决 Windows 升级错误。

注意

在此示例中,完整文件名为 C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\be8228fb2d3cb6c6b0ccd9ad51b320b4_a43d512c-69f2-42de-aef9-7a88fabdaa3f