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.log
setuperr.log
条目包括以下元素:
日期和时间 - 2023-09-08 09:20:05
日志级别 - 信息、警告、错误、严重错误
日志记录组件 - CONX、MOUPG、PANTHR、SP、IBSLIB、MIG、DISM、CSI、CBS
日志记录组件 SP (安装平台) 、MIG (迁移引擎) 和 CONX (兼容性信息) 可用于排查 Windows 安装程序错误。
- 消息 - 操作已成功完成。
请参阅以下示例:
日期/时间 | 日志级别 | 组件 | 消息 |
---|---|---|---|
2023-09-08 09:23:50, | 警告 | MIG | 无法替换对象 C:\Users\name\Cookies。 无法删除目标对象。 |
分析日志文件
以下说明适用于 IT 专业人员。 另请参阅本指南中的 升级错误代码 部分,以熟悉 结果代码 和 扩展代码。
若要分析 Windows 安装程序日志文件,请执行以下操作:
确定 Windows 安装程序错误代码。 如果升级过程未成功,Windows 安装程序应返回错误代码。
根据错误代码的 扩展代码 部分,确定要调查的日志文件的类型和位置。
在文本编辑器(例如记事本)中打开日志文件。
使用 Windows 安装程序错误代码的结果代码部分,在文件中搜索结果代码并找到代码最后一次出现的位置。 也可以搜索“abort”和“abandoning”文本字符串,如下面的步骤 7 所述。
若要查找结果代码最后一次出现的位置:
- 滚动到文件底部,选择最后一个字符之后。
- 选择 “编辑”。
- 选择“ 查找”。
- 键入结果代码。
- 在方向下选择向上。
- 选择“ 查找下一个”。
找到结果代码的最后一个匹配项时,请从文件中的此位置向上滚动几行,并在生成结果代码之前查看失败的进程。
搜索以下重要的文本字符串:
Shell application requested abort
Abandoning apply due to error for object
本部分中出现的 Win32 解码错误。
记下本部分中观察到的错误的时间戳。
在其他日志文件中搜索有关匹配这些时间戳或错误的其他信息。
例如,假设错误的错误代码为 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]
错误 0x00000570 是 Win32 错误代码 ,对应于: 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
。