创建: 2024-01-10 11:51
更新: 2024-01-10 13:42
https://scz.617.cn/windows/202401101151.txt
在Win10中安装2024.1安全补丁KB5034441时,报错:
2024-01 Security Update for Windows 10 Version 22H2 for x64-based Systems (KB5034441)
There were some problems installing updates, but we'll try again later. If you keep seeing this and want to search the web or contact support for information, this may help: (0x80070643)
Retry
Google搜索"Win10 0x80070643",有一堆胡扯淡的答复,一个也不要信。
一般Windows升级过程中出错,优先考虑沿线网络设备带来的干扰,可设置WinHTTP代理(不是WinINET代理)尝试解决:
netsh.exe winhttp set proxy <ip>:<port> "<local>"
netsh.exe winhttp show proxy
netsh.exe winhttp reset proxy
这必须是HTTP代理,不能是SOCKS5代理。再就是修改DNS,使得解析回来的目标服务器IP有变,情况可能会不同。
排除网络问题之后,可尝试Windows自带的一项功能:
control->疑难解答->使用"Windows更新"解决问题
有许多Windows升级故障靠此可解决。
此次0x80070643错与前述这些排错措施均无关,必须手工排障。
先看日志,eventvwr.msc中可看到此次补丁安装失败的日志,但未提供有效帮助。可去下列位置查看补丁安装情况:
设置->更新和安全->Windows更新->查看更新历史记录
在上述位置同样提示安装KB5034441失败,有个链接指向该补丁的介绍:
KB5034441: Windows Recovery Environment update for Windows 10, version 21H2 and 22H2: January 9, 2024
https://support.microsoft.com/en-us/topic/kb5034441-windows-recovery-environment-update-for-windows-10-version-21h2-and-22h2-january-9-2024-62c04204-aaa5-4fee-a02a-2fdea17075a8
其中有一段内容:
This update addresses a security vulnerability that could allow attackers to bypass BitLocker encryption by using Windows Recovery Environment (WinRE). Some computers might not have a recovery partition that is large enough to complete this update. Because of this, the update for WinRE might fail. Because of an issue in the error code handling routine, you might receive the following error message instead of the expected error message when there is insufficient disk space:
0x80070643 - ERROR_INSTALL_FAILURE
意思是,KB5034441用于修复某个位于WinRE中BitLocker相关的安全漏洞,当「恢复分区」空间太小时,可能导致KB5034441安装失败。由于另一个小问题,安装失败时并未提示「恢复分区磁盘空间不足」,只提示0x80070643错。你就说,坑不坑吧。
幸好,前述URL就此可能的失败给了解决方案:
KB5028997: Instructions to manually resize your partition to install the WinRE update
https://support.microsoft.com/en-us/topic/kb5028997-instructions-to-manually-resize-your-partition-to-install-the-winre-update-400faa27-9343-461c-ada9-24c8229763bf
非LTSB版Win10的「恢复分区」一般紧跟「系统分区」之后,在KB5034441出场前,大约559MB。解决方案是,收缩「系统分区」,扩容「恢复分区」,多出250MB即可。此操作居然不要求离线处理,可在线热扩容「恢复分区」。此操作属于高危操作,非专业人员不要自行处理,专业人员请认真阅读前述URL,谨慎执行每一步。
开管理员级cmd,在其中执行后续命令:
reagentc /info
reagentc /disable
diskpart
list disk
select disk 0
这一步不要照抄,要选「恢复分区」所在硬盘,可根据"list disk"显示的硬盘大小
排除干扰。
list part
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 System 100 MB 1024 KB
Partition 2 Reserved 16 MB 101 MB
Partition 3 Primary 127 GB 117 MB
Partition 4 Recovery 559 MB 127 GB
上述显示表明,3号分区是「系统分区」,即C盘所在分区,4号分区是「恢复分区」
select partition 3
这一步不要照抄,要选「系统分区」
shrink desired=250 minimum=250
这一步在收缩「系统分区」,收缩250MB,将来用于「恢复分区」
select partition 4
这一步不要照抄,要选「恢复分区」
delete partition override
list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
* Disk 0 Online 128 GB 810 MB *
上述显示表明硬盘分区表用的是"GUID Partition Table (GPT)",另一种是"Master Boot Record (MBR)"。现在常见GPT,少见MBR。
假设碰上GPT,执行:
create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes =0x8000000000000001
假设碰上MBR,执行:
create partition primary id=27
无论GPT、MBR,后续操作都一样。
format quick fs=ntfs label="Windows RE tools"
list vol
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 D DVD-ROM 0 B No Media
Volume 1 C NTFS Partition 127 GB Healthy Boot
Volume 2 FAT32 Partition 100 MB Healthy System
* Volume 4 Windows RE NTFS Partition 810 MB Healthy Hidden
这一步确认「恢复分区」已成功扩容至810MB。
exit
reagentc /enable
reagentc /info
一旦「恢复分区」扩容成功,再次安装KB5034441,不再提示0x80070643错。整个过程,无需重启OS,无需挂WinPE离线处理。
最后,再次提醒,高危操作,非专业人员不要自行处理。