2024年3月3日 星期日

【已解決】安全性更新 KB5034441 無法安裝 0x80070643 錯誤

【已解決】安全性更新 KB5034441 無法安裝 0x80070643 錯誤

2024-03-30 更新微軟給出了解法

KB5034957:在已部署的裝置上更新 WinRE 磁碟分區,以解決 CVE-2024-20666 中的安全性弱點 - Microsoft 支援服務




針對這次更新官方的說明:KB5034441: 適用於 Windows 10 版本 21H2 和 22H2 的 Windows 修復環境更新: 2024 年 1 月 9 日 - Microsoft 支援服務

裡面明確的提到這次造成災難的主因

此更新需要修復磁碟分割區中有 250 MB 的可用空間才可成功安裝。 如果修復磁碟分割區沒有足夠的可用空間,此更新將會失敗。

(另一個解法是就不解決了直接使用微軟的工具隱藏掉更新)


回到正題,正常來說RE分區太小會自動生成新的變成兩個,但這次似乎並沒有自動生成而是直接跳錯了。

這次的問題不外乎就幾個三情況

  1. 不明原因RE分區被關掉 (單純重啟即可)
  2. 手癢把RE分區砍了 (要找其他電腦補檔案)
  3. 本次更新 KB5034441 包含900M的RE映像檔,RE分區容量不足導致的
    (有能力的話用分區軟體直接調大RE分區也可)

以下代碼請用管理員打開 PowerShell 後貼上執行 (命令提示字元不行)


執行過程可以參考這部影片




步驟1 重新啟用RE分區

先看一下啥狀況 (若已經是啟用狀態直接跳步驟3)

reagentc /info

如果是關閉狀態重啟看看 (某些情況卡BUG可能需要兩次)

reagentc /enable

出現 REAGENTC.EXE: 找不到 Windows RE 映像。 的話繼續步驟2補檔案
成功啟用或是本來就是啟用狀態的話,直接跳到步驟3就行了



步驟2 修復RE映像檔

無法重啟且這個路徑底下沒有 winre.wim 映像檔

C:\windows\system32\recovery

(這檔案可能是隱藏的記得打開檢視隱藏檔)

如果沒有檔案,參考這裡文末提供的檔案,放到上述的位置即可
https://charlottehong.blogspot.com/2018/02/windows-re.html



步驟3 重新生成修復分區

先把原本的刪除乾淨,參考的是這篇文章的工具

執行這段代碼,會自動刪除當前使用中的修復分區,並合併到前方分區

irm bit.ly/EditRecovery|iex; Remove-RecoveryPartition -Current -Merage -ForceEnable




然後接下來需要重新生成RE分區,參考這篇文章的工具

執行這段代碼,從C曹壓縮1G出來生成修復分區並重新啟用RE系統

irm bit.ly/EditRecovery|iex; New-RecoveryPartition -Size 1280MB -ReEnableRecovery


生成1G的修復分區之後就可以正常更新了。




錯誤應對

如果是舊系統一路升級上來的,似乎有一定概率會遇到一個問題是,C曹無法被壓縮



具體的原因是因為系統檔案正好被寫在C曹的結尾處,以至於磁碟管理內建的功能無法壓縮磁碟,這個只能用第三方的軟體處理,而且還必須要有第二個系統才能處理

遇到的話比較推薦的做法是刪除修復分區後(也就是執行第二個指令後看到上圖的錯誤時),直接啟用RE系統就好


啟用RE系統

reagentc /enable; reagentc /info


這時候由於沒有修復分區,系統會直接用C槽來頂替,RE系統的映像檔會展開到C槽底下。結果而言RE系統可以正常動作,更新也可以正常更新。




參考

  1. 【已解決】(請看留言B12) 0x80070643 安全性更新KB5034441無法安裝 @電腦應用綜合討論 哈啦板 - 巴哈姆特 (gamer.com.tw)
  2. KB5034441: 適用於 Windows 10 版本 21H2 和 22H2 的 Windows 修復環境更新: 2024 年 1 月 9 日 - Microsoft 支援服務
  3. KB5028997: 手動調整磁碟分割區大小以安裝 WinRE 更新的指示 - Microsoft 支援服務
  4. Windows 10 解除安裝更新與隱藏更新 - Microsoft 社群