KB5049981が失敗する2大原因を完全解説─EFIパーティションGUID不一致と0x80070002の対策

Windows 10 の累積更新プログラム KB5049981 がインストールの終盤でロールバックし、数時間を浪費してしまう――そんな悩みを抱える管理者が後を絶ちません。本記事では、最も多く報告されている EFI システム パーティション(ESP)の GUID 不一致 と、進捗 98 % 付近で停止して 0x80070002 を返すケースを中心に、失敗のメカニズムから具体的な復旧手順、再発防止のためのベストプラクティスまでを徹底解説します。

目次

目次

  1. 代表的な失敗症状
  2. 原因① EFI GUID 不一致
  3. 原因② 0x80070002 とレジストリ破損
  4. 共通ベストプラクティス
  5. よくある質問 (FAQ)
  6. 付録 : トラブルシューティング補助リスト

1. 代表的な失敗症状

KB5049981 で発生する典型的な不具合はおおむね以下の 2 系統に大別できます。

分類エラー コード/挙動主因の傾向
EFI パーティション系再起動後 3 %→12 %→31 % でロールバック/Preview ブート画面が 2 回点滅ESP のパーティション GUID もしくは属性フラグが不正
コンポーネント ストア/レジストリ系98 % 付近でロールバック、
SetupDiag に 0x80070002、CBS.log に EndOfLife エラー
AppxAllUserStore レジストリ破損、
winsxs マニフェスト欠損など

両方の不具合を同時に抱える PC も少なくなく、原因を特定せずに標準的な sfc /scannowDISM /RestoreHealth のみを繰り返しても解決しない場合が大半です。以下では、それぞれを切り分ける方法と再発防止のポイントを詳述します。

2. 原因① EFI システム パーティションの GUID 不一致

2‑1. 発生までの典型的シナリオ

  • NVMe SSD 交換 時にディスク クローンが途中で失敗。
  • 旧ディスク側の ESP を生かしたまま新ディスクへ Windows を クリーン インストール
  • 後から Disk Management やサードパーティ製ツールで 自作 ESP を追加。

Windows セットアップは自動で 最初に見つかった ESP にブート ファイルを配置します。GUID が正しく登録されていない ESP を検出した場合、アップデート処理の後半で実行される bfsvc.exe(Boot Files Service)が 「正しい ESP が存在しない」 と判定し、即座にロールバックを開始します。

2‑2. DiskPart を用いた GUID 修正手順

  1. 管理者として cmd.exe を起動し、diskpart と入力。
  2. list disk で対象ディスク番号を確認。
  3. select disk 0 (例)
  4. list partition で ESP(100 MB~260 MB 前後、FAT32)を特定。
  5. select part 1 (例)
  6. 以下を実行し、正規 GUID と属性フラグを付与: set id=c12a7328-f81f-11d2-ba4b-00a0c93ec93b gpt attributes=0x8000000000000000
  7. exit で DiskPart を終了し、必ず再起動

ポイント: GUID はハイフンを含め 36 文字。
タイプミス防止のため、テキスト エディタに貼り付けてからコピーすると安全です。

2‑3. 修正後の確認コマンド

mountvol | find /i "EFI"
bcdedit /enum firmware

ESP のボリューム ラベルとパスが正しく表示され、BCD の device 項目が同じパスを指していれば準備完了です。この状態で Windows Update を再実行 すると、KB5049981 が正常にインストールされるはずです。

3. 原因② 0x80070002 とレジストリ破損

3‑1. 98 % ロールバック時のログ解析

以下のファイルを開き、タイムスタンプを頼りに “エラー” キーワードを検索します。

  • %windir%\Logs\CBS\CBS.log
  • %windir%\Logs\MoSetup\BlueBox.log
  • %systemdrive%\$Windows.~BT\Sources\Panther\setupact.log

多くの事例では “AppxAllUserStore\EndOfLife” の列挙失敗 (ERRORFILENOT_FOUND) が連続し、その直後に 0x80070002 が発生しています。

3‑2. レジストリ クリーンアップ手順

  1. サードパーティ ツール (例: RegBak) で 全レジストリをバックアップ
  2. regedit.exe を起動し、
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\EndOfLife を開く。
  3. 右ペインに SID ごとのサブキーが残っていればすべて削除
  4. 同階層の AppxAllUserStore 配下にも壊れた SID サブキーがあれば削除。

3‑3. ストア アプリの再登録

管理者 PowerShell で次を実行し、システム標準アプリの登録情報を再生成します。

Get-AppxPackage -AllUsers | ForEach-Object {
    Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml"
}

再登録中は大量の赤文字エラーが出ますが、大半は既定アプリの重複登録を示す警告なので無視してかまいません。

3‑4. winsxs マニフェスト圧縮の確認

コンポーネント ストア圧縮ツールやサードパーティ最適化ソフトを使用した環境では、更新プログラムが展開時にマニフェストを見失うケースがあります。以下で NTFS 圧縮属性を確認し、必要なら /U スイッチで展開してください。

compact /s %windir%\winsxs\manifests\*.manifest

3‑5. ProcMon ブートトレースで詳細解析 (上級者向け)

Sysinternals Process Monitor v3.96 以降には Enable Boot Logging 機能があり、更新プログラム適用中のファイル/レジストリ アクセスをカーネル レベルで捕捉できます。CBS.log のタイムスタンプと付き合わせることで、どのキーが消失しているか をピンポイントで特定できます。

4. 共通ベストプラクティス

手順目的/効果備考
sfc /scannowシステム ファイルのハッシュ検証破損が深刻なら 2 回以上実行
DISM /Online /Cleanup-Image /RestoreHealthwinsxs 内部をカタログ参照で修復/Source: で ISO 指定すると成功率向上
インプレース アップグレードOS コア再展開 & 既存アプリ保持Media Creation Tool 版 ISO 推奨
完全バックアップイメージ復元で 即座に元に戻せる更新前に必須。BIOS 外付け SSD でも可
ログ解析 (CBS / ProcMon)失敗点の証拠を保全成功後もナレッジとして活用

これらは「取れるときに取っておく」ではなく、失敗が起こる前に常に実施することで、結果的にメンテナンス コストとダウンタイムを最小化できます。

5. よくある質問 (FAQ)

Q1. Citrix Session Recording Agent が無いのに失敗するのはなぜ?

KB5049981 では 確かに Citrix 関連 DLL の競合が公表されていますが、それは「数ある失敗要因の一つ」に過ぎません。本記事で扱う EFI GUID 不一致やレジストリ破損のほうが発生頻度は高く、むしろ原因切り分けを Citrix の有無だけで完結しない 点に注意してください。

Q2. gpt attributes=0x8000000000000000 の意味は?

GPT 予約ビットのうち、bit63 (0x8000000000000000) は “required partition” を示します。セットしておくとファームウェアやツールが誤って ESP を削除しにくくなるため、Microsoft も推奨しています。

Q3. EFI パーティションを再作成したほうが早い?

DiskPart の create partition efi コマンドを使えば自動で正しい GUID が付与されますが、BOOTMGR や BCD を手動でコピーする手間が増します。「修正で済むなら修正、再作成が早いと判断したら再作成」という現場判断がベストです。

Q4. WIM ブートの VHD で運用している場合は?

KB5049981 は VHD または VHDX 上のネイティブ ブートを公式にサポートしていますが、親ディスクの ESP が物理ディスクとズレていないか 必ず確認してください。GUID 不一致は物理・仮想を問わず発生します。

6. 付録 : トラブルシューティング補助リスト

6‑1. エラー コード逆引き早見表

エラー コード十進主な原因優先チェック項目
0x800700022ファイル/レジストリ欠損AppxAllUserStore、winsxs
0x800f0922-608ESP 関連 / .NET 失敗EFI GUID、回復パーティション容量
0x80242016-2145099770WU 内部タイムアウト再起動ループ、サービス状態

6‑2. 更新前後に取るべきチェックリスト (PDF ダウンロード用テンプレート)

  • システム イメージ バックアップ (〇/×)
  • BitLocker 一時停止 (〇/×)
  • ESP GUID 確認 (mountvol)
  • CBS.log 自動保存スクリプト
  • BIOS アップデート有無
  • サードパーティ AV リアルタイム保護停止

上記をローカルの SOP (標準作業手順書) に組み込み、社内展開すれば “KBxxxxxxx が適用できない” 系トラブルの 7 割は書類ベースで未然に防げます。


KB5049981 はセキュリティ関連の修正が複数含まれる重要アップデートです。ESP の正規 GUID とレジストリの健全性 さえ確保すれば、特殊なスクリプトや再インストールに頼らずとも、ほとんどの環境でインストールに成功します。本記事の手順をチェックリスト化し、次回以降の Patch Tuesday に備えましょう。

コメント

コメントする

目次