我的Windows 10现在的版本是1809, 需要更新到1909。第一次尝试, 我下载使用”易升”工具, 到了某个步骤的时候它提示我”无法使用安装程序在U盘上安装Windows”。经过搜索, 我发现参考资料[1]的方法有效, 将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control下的PortableOperatingSystem字段改为0即可(原来是1)。之后我又试了很多次, 每次都是到最后会弹出”安装失败”的提示并退出。这个时候, 我发现”设置”中”Windows更新”出现了更新的提示, 在这里更新, 更新流程看似成功完成了, 并出现重启的提示。然而, 点击重启后, 我发现系统没有任何变化。再次打开”Windows更新”页面, 提示错误代码0x80004005。
经过搜索, 我得知上述更新的错误日志在C:\$WINDOWS.~BT\Sources\Panther\setuperr.log, 查阅日志发现里面和0x80004005有关的错误信息如下:
(...) 2020-03-15 14:23:47, Error SP Error setting OS Switch Rollback checkpoint[gle=0x00000006] 2020-03-15 14:23:47, Error SP Operation failed: Update Boot Code. Error: 0x80004005[gle=0x000000b7] 2020-03-15 14:23:47, Error SP ExecuteOperations: Failed execution phase Finalize. Error: 0x80004005 2020-03-15 14:23:47, Error MOUPG MoSetupPlatform: Finalize reported failure! 2020-03-15 14:23:47, Error MOUPG MoSetupPlatform: Using action error code: [0x80004005] (...)
看起来是更新引导信息的时候失败了。经过十分努力的搜索, 我发现了参考资料[2], 似乎是类似的问题。总结其中给出的最终解决方法为:
- 设法进入Windows恢复模式。可以做一个恢复U盘, 或者利用Windows 10安装光盘/U盘。
- 在恢复模式中打开命令行。
- 使用如下图所示的命令, 使用diskpart挂载启动分区, 命令中的分区号6需要换为list vol命令获得的相应启动分区号。启动分区一般数百MB大, FAT32格式。假设挂载盘符为F。退出diskpart, 然后输入”F:”切换到该盘, 应当可以看见里面有EFI文件夹。
- 执行ren EFI\Microsoft\Boot\BCD BCD.old来移走原来的启动文件, 便于彻底重建。后面都成功之后, 可以删除BCD.old文件。
- 执行bootrec /rebuildbcd, 按提示操作(输入Y)来重建BCD文件。
- 关闭命令行, 重启系统, 再次尝试下载安装更新应该就可以成功了。
其中, 如果bootrec /rebuildbcd提示”系统找不到指定的文件”, 可以尝试以下操作:
- 执行ren EFI EFI.old来备份EFI目录。后面都成功之后, 可以用rd /s /q EFI.old命令来删除。
- 假设系统的盘符为C, 执行bcdboot C:\Windows /s F: /f UEFI /l zh-cn来重建EFI目录。
该方法对我有效, 特此记录。
经过搜索和思考, 我感觉之前失败的原因可能是我用傲梅(AOMEI)分区助手克隆了硬盘, 由于它在克隆前需要启动到WinPE环境, 为此需要修改启动信息。然而, 修改后的启动信息Windows更新不能识别或正确处理, 于是报上述错误。
参考资料:
[3] https://thinker-evans.blogspot.com/2020/02/windows-10-uefi-bootloaderwindows-10.html
[4] https://blog.berd.moe/archives/windows-create-recovery-partition/
另外, 发现了知乎上一篇神奇的文章https://zhuanlan.zhihu.com/p/85344048。
我也遇到了同样的问题,可否向您请教?
可以加我的QQ
已经找到您的QQ,发送了好友申请。谢谢您
可否私信发我下您的qq?非常感谢
你好
谢谢,你,我有思路了,因为我曾经用傲梅分区助手迁移了系统
谢谢您,已经更新成功,虽然经历了一些小波折,我的笔记本键盘是坏的,开机时进不去bios,外接键盘无用,好在网上找到了方法,从windows的高级恢复选项中进入了我的大白菜u盘pe,在更改完BCD文件后,bootrec命令显示不可用,只好尝试用大白菜自带的启动修复工具进行修复,然后进行更新,没想到真的有用,这个问题从19年困扰我两年之久,尝试了很多办法无效,后来干脆放弃直接关闭自动更新项,总之楼主的方法对于那些因动过系统分区而无法更新的人大有帮助