Windows10-21H1 で、WindowsUpdateや、21H2へのWindowsUpgradeが失敗してしまう件。復旧メモ。

 

●事象

OSバージョン windows10 21H1
2021/11 21H1 累積更新プログラム KB5007186 まで適用済み。

 状況1)KB5008212の適用が常に失敗となり、ロールバックをしてしまう。
 状況2)21H2へのアップグレードの実行時、事前チェックでエラーになってしまう。

エラーコード: 0x800f0922

●ログ調査

SetupDiag.exeを利用してエラー原因を確認

Error: SetupDiag reports abrupt down-level failure.
Last Operation: Finalize
Error: 0x80070003 - 0x40008
LogEntry: 2021-12-23 00:26:25, Error                 CONX   CHostIsUEFICompliantChecker failed. [Failed to check whether host has UEFI disk layout.] HRESULT = 0x80070003

●原因

diskmgmt.mmc で、ディスクの管理を確認したところ、Cドライブより手前にあったはずの、EFIシステムパーティションが、ベーシックデータパーティションとして認識されていた。

 前回のWindowsUpdate後、容量不足だったSSDを容量の大きなSSDへ交換していた。 その際、ディスクのイメージバックアップ・リストアで行ったが、こちらで何らかの問題が出たものと見られる。(イメージバックアップソフトウェア: arcserve UDP 8.1 Free Edition)

●状況確認

・ ディスクはGPT
・ MSR(予約パーティション)は存在
・ EFIシステムパーティションが、ベーシックデータパーティションとなっている
・ EFIパーティションをマウントしようとしても、コマンドがエラーになる。(ファイルが見つかりません)
・ EFIシステムパーティションにドライブレターを当てて、空き容量があることを確認。ファイルシステムはAT32で問題なし。ブートローダもそれらしきものが配備済。

●対応

・ BCDBOOTコマンドで、EFIシステムパーティションを作成してみる。

 bcdboot C:\windows /s S: 

 → OS再起動は成功。ディスクの管理からは、ベーシックデータパーティションのまま

・ EFIシステムパーティションと認識していないので、パーティションIDの変更を行う。

  diskpart
  list disk
  select disk #
  list partition
  select partition #
  set id=c12a7328-f81f-11d2-ba4b-00a0c93ec93b

・ コマンド実行後、ディスクの管理を確認すると、EFIシステムパーティションと認識した。

・ OS再起動後、WindowsUpdateを行うと、正常終了。21H2へのアップグレードも成功。

 WindowsUpdate,WindowsUpgrade、いずれも、EFIシステムパーティションのIDが存在しないと、更新に失敗するようです。


参考)

EFIパーティションの空きがない場合の対処

https://support.microsoft.com/en-us/topic/-we-couldn-t-update-system-reserved-partition-error-installing-windows-10-46865f3f-37bb-4c51-c69f-07271b6672ac

パーティションIDのセット
https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/set-id