2024年3月3日 星期日

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

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

針對這次更新官方的說明,裡面明確的提到這次造成災難的主因:
KB5034441: 適用於 Windows 10 版本 21H2 和 22H2 的 Windows 修復環境更新

此更新需要修復磁碟分割區中有 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系統可以正常動作,更新也可以正常更新。




微軟後期處理

2024-03-30 更新微軟給出了解法,不過可能需要有一點底子才能知道怎麼做。

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


另一個解法是就不解決了直接使用微軟的工具隱藏掉更新,不過漏洞還是依然存在謹慎使用,或是相對應的選擇關閉RE系統避開這個洞。





沒有留言:

張貼留言