Windows Update を実行した際に「KB5055617」のインストールが 100 % まで進んだ直後、エラー 0x80070306(ハンドルが無効)で失敗する――。
この症状は更新コンポーネントやコンポーネント ストアの破損、配信チャネル間の互換性ずれなど複数の要因が絡み合って発生します。「SFC / DISM も試したが変わらない」「クリーンインストール以外の道を探したい」という管理者・パワーユーザーに向け、根本原因の切り分けから段階的な回避策までを詳細に解説します。
エラー 0x80070306 とは何か
Windows 更新処理では、操作ごとに戻り値(HRESULT)が生成されます。0x80070306 は Win32 エラー 0x306 と同義で、英語表記では「The handle is invalid.」――すなわちプロセスが期待しているハンドル(ファイルやレジストリ、サービスなど)が閉じられている、あるいは壊れている状態を示します。
更新プログラムの展開時には %windir%\WinSxS 以下へ大量のマニフェストとバイナリを展開し、その後 TrustedInstaller サービスがコンポーネント ストアを参照しながら差分コピーを行います。この途中で参照ハンドルが失われると復旧不能なため、結果としてロールバック(Install error, reverting changes…)が発生し、ユーザーに 0x80070306 が報告されます。
主な原因を深掘りする
1. 更新キャッシュの破損
%windir%\SoftwareDistribution や %windir%\System32\catroot2 はダウンロード済みパッケージや署名カタログを保持する領域です。
停電・強制再起動・ディスクエラーなどにより一部ファイルだけが壊れると、更新エンジンは残存ファイルを正として処理するため、結果として不整合が蓄積します。「ログには “Failed to resolve package payload” が大量に出るが、DISM は正常」というケースはほぼこのパターンです。
2. コンポーネント ストア(WinSxS)の破損
システムファイルは複数バージョンの DLL をサイドバイサイド形式で保持しており、ハードリンクやマニフェストで依存関係を解決しています。
TrustedInstaller サービスがアクセスした瞬間にハンドル エラーが発生する 場合、ストア自体に異常が起きている可能性が高く、DISM での修復やインプレース アップグレードが必須となります。
3. Insider Preview–専用パッケージとの競合
Dev/Canary チャネルでは、製品版に存在しないテスト用機能 ID(Feature ID)が有効化されています。その状態でリリース プレビューや公開ビルド向けの累積更新が重なると、前提条件が満たせず 0x80070306 で脱落することがあります。
4. 同時期に公開された別パッチとの依存ずれ
同月に複数のオンデマンド パッケージ(.NET 用、プレビュー C リリースなど)が出ている場合、内部バージョン番号(LCU Base Build)がずれて整合性チェックに失敗することがあります。
アップデート履歴で「KB5055523 → 成功」「KB5055617 → 失敗」のように混在していれば、高確率で依存関係の齟齬です。
推奨される解決手順
| 優先度 | 手順 | 詳細 / 補足 |
|---|---|---|
| ★★★ | Windows Update コンポーネントのリセット | 管理者権限 CMD で次を実行します: net stop wuauserv net stop cryptsvc net stop bits net stop msiserver ren %windir%\SoftwareDistribution SoftwareDistribution.old ren %windir%\System32\catroot2 catroot2.old net start wuauserv net start cryptsvc net start bits net start msiserver その後 PC を再起動し、Windows Update をやり直します。特に SSD で TRIM 無効・容量逼迫状態だと再構築に時間がかかるため、空き容量を 20 GB 以上確保してから行うと安全です。 |
| ★★☆ | SFC / DISM でシステム ファイルを修復 | ① sfc /scannow で整合性をチェック。エラーが残る場合は ② の DISM を実行。 DISM /Online /Cleanup-Image /RestoreHealth 「ソースが見つかりません」と表示された場合、同じビルド番号の ISO ファイルをマウントし、 DISM /Online /Cleanup-Image /RestoreHealth /Source:X:\sources\install.wim /LimitAccess X: はマウント ドライブ レターに置き換えます。ポイント:Retail 版 ISO(メディア作成ツール)と Insider ISO ではベース ビルドが異なることがあるので、現在の winver 表示を必ず確認してから取得してください。 |
| ★★☆ | インプレース アップグレード修復 | 同じビルド、または一段新しい公開ビルドの ISO を右クリック > マウント > setup.exe を実行し、「個人用ファイルとアプリを引き継ぐ」を選択。ユーザー データとアプリ設定を保持したまま OS コアを上書きするため、壊れた WinSxS を丸ごと再生成できます。 注意:デバイス暗号化(BitLocker)が有効な端末では、回復キーのバックアップを必ず行ってください。アップグレード中に BIOS 設定が変更されると再度キー入力を求められることがあります。 |
| ★★☆ | Microsoft Update Catalog 版を手動適用 | Insider 端末の場合は一時的にチャネルを Release Preview へ切り替えるか、公開ビルドへロールバックしたうえで、Microsoft Update Catalog で「KB5055617」(もしくは後続の累積更新)を検索し、*.msu パッケージを手動でインストールします。 先に同月の Servicing Stack Update (SSU) を適用しておくと失敗率が下がったとの報告もあります。 |
| ★☆☆ | 配信待ち(次回累積更新まで保留) | 月例パッチ火曜日(B リリース)の前後でパッケージ差し替えが入るケースがあります。業務影響が軽微であれば、次の累積更新を待つのも現実的な選択肢です。 |
実践的トラブルシューティング Q&A
Q1 : Windows Update log の確認方法は?
PowerShell(管理者)でGet-WindowsUpdateLogを実行すると、デスクトップに WindowsUpdate.log が生成されます。エラー検知直前に ERRORINSTALLFAILURE と 0x80070306 が出ている箇所を基準に、前後の Package: KB5055617 行を追うと原因切り分けがしやすくなります。
Q2 : CBS.log と DISM.log はどこを見る?
%windir%\Logs\CBS\CBS.log はコンポーネント ストアの処理を詳細に記録します。0x80070306 が絡む場合、直前に Error - The handle is invalid が頻発しているはずです。
一方 %windir%\Logs\DISM\dism.log は DISM の動作ログなので、/RestoreHealth 実行後に Revert Pending Actions が大量に処理されたかどうかを確認すると修復有無が把握できます。
Q3 : SSD/HDD の物理セクタ不良が原因になる?
はい。特に 4K Advanced Format 非対応の古いイメージをクローンした場合、物理セクタ境界ずれが WinSxS 内部で表面化しやすくなります。CrystalDiskInfo などで SMART 異常がある場合は、ドライブ交換+クリーン インストールを推奨します。
Q4 : Endpoint Manager/WSUS 環境下での注意点は?
社内 WSUS が古い SSU を配布していると、クライアント側で新旧 SSU が競合します。
– WSUS で Products and Classifications の『Windows 11, version 23H2 and later – Servicing Drivers』を有効にしているか
– 同期済み Updates 画面に Latest Cumulative Update と Servicing Stack Update のペアが揃っているか
を確認し、不足していれば手動承認してください。
Insider チャネル運用時のベストプラクティス
- Dev/Canary はあくまで開発者・検証向け。業務端末には Release Preview を推奨。
- チャネルを切り替える際は、設定 > Windows Update > Windows Insider Program から「クリーン インストールを伴わないロールバック」が可能な期間(10 日間)を把握しておく。
- 機能向上プログラム(A/B テスト)で有効化された機能 ID をリセットしたい場合、
vivetool /disable <ID>コマンドが有効。
それでも直らないときは――最終手段の検討
上記手順をすべて試してもインストールが進まない場合、システムファイルの破損が極度に進行している可能性があります。
その際は
- フル バックアップ(ユーザーデータ + アプリ設定 + システム イメージ)を作成
- 別メディアで Windows 11 最新 ISO を作成
- クリーン インストール(パーティションの削除→再作成)
- バックアップからのユーザーデータ復元
を行うのが最も確実です。
なお、Microsoft アカウントでサインインしている場合は、Edge/Office の設定や OneDrive の既定フォルダーがクラウドへ同期されているため、復旧が格段に簡単になります。
まとめ
- 0x80070306 はハンドル不整合=更新関連ファイルの破損が主因。まずは「Windows Update コンポーネントのリセット」と「DISM /RestoreHealth」でストアを健全化する。
- 改善しない場合は「インプレース アップグレード修復」が最短ルート。ユーザーデータを保持したまま OS コアを再構築できる。
- Insider チャネル参加中はバージョンずれが起きやすい。Update Catalog から手動適用するか、チャネルを抜けて公開ビルドに合わせると成功率が上がる。
- 月例更新を待つ選択肢もあるが、業務端末で長期間セキュリティ パッチが止まるリスクと天秤に掛けて判断する。
エラー 0x80070306 に悩まされたら、まずはコンポーネント リセット → DISM 修復。
それでもダメならインプレース アップグレード――この順番が鉄則です。

コメント