Win10升级到20H2版本失败-如何确定原因?

Win10升级到20H2版本失败-如何确定原因?

问题:我在哪里可以找到 Win10 升级日志以及如何解读它们?我尝试过三次升级,我想知道是否有任何我可以修复的问题,以便下次成功。特别是,如果失败是由不兼容的驱动程序、硬件错误、缺少文件或目录引起的,我可以尝试修复它。

细节: Windows 更新向我提供了 Win10 从 1909 版升级到 20H2 版的优惠。升级失败了两次,错误代码为 0x8007001f。然后 Windows 更新停止提供升级。因此,我第三次使用了升级助手,但升级再次失败。“失败”的意思是更新已安装,Windows 重新启动并完成安装,但最后一切都回滚了。(一轮大约需要一个小时。)

我能够在 中找到一些日志C:\Windows\Panther\NewOs,但这些日志仅来自第二次升级尝试。我找不到第三次尝试的任何日志,它们似乎丢失/回滚了。在 Windows 事件日志中,只有一行:安装失败,错误 0x8007001f,没有其他内容。我应该去别处看看吗?

中总共包含 450 行错误,但这可能是正常的setupact.logC:\Windows\Panther\NewOs\Panther因为安装仍在进行中。大多数错误setuperr.log也出现在 中。我无法判断是什么错误导致安装停止并回滚。这些是最后的错误(包含几行重要的信息):

                     Info                  SP     SPExecuteFirstBootApply: Begin run. WinOld: C:\Windows.old
                     Info                  SP     pSPExecuteApply: Starting the engine online
2020-11-15 11:15:55, Error                 MIG    Ignoring replacement manifest with no settingsVersionRange or versionRange attribute in migration element: Microsoft-Windows-Container-Manager
2020-11-15 11:16:03, Error      [0x080831] MIG    CSIAgent: Invalid xml format: FormatException: Component with display name: Plugin/{C939EC0F-2F56-4CE8-AF56-2336596A5FA7} already loaded __cdecl Mig::CMXEMigrationXml::CMXEMigrationXml(class Mig::CPlatform *,class UnBCL::String *,class UnBCL::XmlDocument *,class UnBCL::String *,class UnBCL::String *)
2020-11-15 11:16:04, Error                        Mig::CUpgradeTransportPlatform::SetUserContext: Store platform failed to find the user with ID: USER00000005, SID: S-1-0-0[gle=0x000000cb]
2020-11-15 11:16:04, Error                 MIG    Mig::CKnowledgeManager::BeginProcessingContext: Source platform failed to set the user context USER00000005[gle=0x000000cb]
2020-11-15 11:16:04, Error                        MigApply caught exception: Win32Exception: Can't switch to requested user context: USER00000005.: A device attached to the system is not functioning. [0x0000001F] int __cdecl Mig::CKnowledgeManager::Apply(class Mig::CPlatform *,class Mig::CPlatform *,class Mig::CPlatform *,class Mig::CUserMappingList *,class UnBCL::Hashtable<class UnBCL::String *,class UnBCL::String *> *,class Mig::CAgentManager *,class Mig::CMigrationLogger *,int *,struct IMigExecuteProgress *)[gle=0x000000cb]
2020-11-15 11:16:04, Error                 SP     pSPExecuteApply: Apply operation failed. Error: 0x00000004[gle=0x000000cb]
                     Info                  SP     SPExecuteFirstBootApply: End run. Result: 0x00000004
2020-11-15 11:16:05, Error                 SP     Apply (first boot apply, online phase): Migration phase failed. Result: 4, no specific error[gle=0x00000002]
2020-11-15 11:16:05, Error                 SP     Operation failed: First boot apply. Error: 0x8007001F[gle=0x000000b7]
2020-11-15 11:16:05, Error                 SP     Operation execution failed: 13. hr = 0x8007001F
2020-11-15 11:16:05, Error                 SP     ExecuteOperations: Failed execution phase Post First Boot. Error: 0x8007001F
2020-11-15 11:16:05, Error                 SP     Operation execution failed.
2020-11-15 11:16:05, Error                 SP     CSetupPlatformPrivate::Execute: Failed to deserialize/execute post-FirstBoot operations. Error: 0x8007001F

升级失败是否由错误导致Store platform failed to find the user with ID: USER00000005, SID: S-1-0-0 (Nobody)?如果是的话,我必须等待微软的修复。

编辑: SetupDiag 在 中找到了第三次尝试的日志C:\$WINDOWS.~BT\Sources\Panther。它测试了很多东西,其中大多数都是“不匹配”,不幸的是它什么也没找到。以下是 的内容SetupDiagResults.log


Matching Profile found: FindRollbackFailure - 3A43C9B5-05B3-4F7C-A955-88F991BB5A48
SetupDiag version: 1.6.0.0
System Information:
    Machine Name = XXXXX
    Manufacturer = LENOVO
    Model = 20MAS0P900
    HostOSArchitecture = 1033
    FirmwareType = UEFI
    BiosReleaseDate = 20200620000000.000000+000
    BiosVendor = N2CET54W (1.37 )
    BiosVersion = N2CET54W (1.37 )
    HostOSVersion = 10.0.18363
    HostOSBuildString = 18362.1.amd64fre.19h1_release.190318-1202
    TargetOSBuildString = 10.0.19041.568 (vb_release_svc_prod1.200929-2208)
    HostOSLanguageId = 
    HostOSEdition = Enterprise
    RegisteredAV = Windows Defender
    FilterDrivers = FileInfo
    UpgradeStartTime = 15.11.2020 15:30:11
    UpgradeEndTime = 15.11.2020 16:13:43
    UpgradeElapsedTime = 00:43:32
    CV = 4zV5tAA0J0Oq5Zcl
    ReportId = 


Error: SetupDiag reports rollback failure found.
Last Phase = Post First Boot
Last Operation = First boot apply
Error = 0x8007001F-0x3000D
LogEntry: 2020-11-15 16:13:42, Error                 SP     Operation failed: First boot apply. Error: 0x8007001F[gle=0x000000b7]

Refer to "https://docs.microsoft.com/en-us/windows/desktop/Debug/system-error-codes" for error information.

Last Setup Phase:
Phase Name: Post First Boot
    Phase Started: 15.11.2020 16:13:31
    Phase Ended: 01.01.0001 0:00:00
    Phase Time Delta: 00:00:00
    Completed Successfully? False


Last Setup Operation:
Operation Name: First boot apply
    Operation Started: 15.11.2020 16:13:31
    Operation Ended: 01.01.0001 0:00:00
    Operation Time Delta: 0:00:00:00,0000000
    Completed Successfully? False

答案1

该问题是由 Windows 升级脚本中的一个错误引起的,该错误已存在多年,但仍然没有解决。它发生在用户配置文件不在系统磁盘上的计算机上。就我而言,我的系统磁盘是 C:,而用户配置文件在 D:。

要解决此问题,请打开 RegEdit 并导航到Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList。在这里,更改ProfilesDirectory为默认值C:\Users。就我而言,这足以使升级成功。升级成功后,请改ProfilesDirectory回以前的值。比较例如这里

非常感谢@Ramhound!我希望微软能尽快解决这个问题,因为它给很多人带来了麻烦(试着在网上搜索一下)。

相关内容