Windows 11 Version 24H2(x64)で 2025年9月の累積更新プログラム「KB5065426」を適用しようとすると、エラー 0x80070306(The handle is invalid)で途中停止する――そんな相談が急増しています。本稿では原因の考え方から最短で復旧する具体手順、ログの読み方、企業環境での注意点まで、再現性の高い解決策を現場目線で整理します。
症状と前提条件
- 対象: Windows 11 Version 24H2(x64)
- 適用対象更新: 2025-09 Cumulative Update KB5065426
- 発生事象: インストール中に 0x80070306(ハンドルが無効)で停止し、更新が反映されない/ロールバックされる
- 前提: サードパーティ製ウイルス対策ソフトは未導入
結論(先に要点)
0x80070306 は「ハンドルが無効」を示し、更新コンポーネントのキャッシュ破損・排他制御の行き違い・古いストレージ/ファームウェアによる I/O ロックが主因で起こります。多くの環境では下記の手順2〜4(トラブルシューティング → SFC/DISM → コンポーネント手動リセット)で解決します。改善しない場合は手順5(カタログから手動インストール)、それでも失敗する場合は手順7(インプレース修復)でほぼ確実に適用できます。
エラー 0x80070306 の意味と原因の見立て
0x80070306(ERROR_INVALID_HANDLE)は、更新処理の途中で参照したハンドル(ファイル・サービス・デバイスなど)の正当性が崩れたことを示します。実務で多いのは次のパターンです。
- SoftwareDistribution / catroot2 に残る破損キャッシュや中断トランザクション
- フィルタードライバ(古いストレージ/RAID、バックアップ、DLP など)が I/O をロック
- サービスの再起動タイミングずれ(BITS/WaaSMedicSvc/TrustedInstaller など)
- システムファイル不整合(WinSxS メタデータ、マニフェストの齟齬)
- ファームウェア・ストレージドライバの古さに起因する排他制御の不整合
最短で直すための手順(概要表)
| 手順 | 操作 | 目的 / 目安時間 | 成功の目印 |
|---|---|---|---|
| 1 | OS ビルド確認Win + R → winver または PowerShell で Get-ComputerInfo | Select OsName, OsBuildNumber | 既に対象ビルド以上なら再適用は不要。5分 | 更新済みなら本更新は不要 |
| 2 | Windows Update トラブルシューティング 設定 → システム → トラブルシューティング → その他のトラブルシューティング →「Windows Update」 | 自動修復(サービス・キャッシュ)。5〜10分 | 検出された問題の修正が「完了」 |
| 3 | SFC/DISM で整合性修復sfc /scannow → 完了後 DISM /Online /Cleanup-Image /RestoreHealth | 破損したシステム/更新コンポーネントの修復。20〜40分 | SFC が「整合性違反は見つかりませんでした」/DISM が「復元処理は正常に完了しました」 |
| 4 | 更新コンポーネントの手動リセット(後述スクリプト有) | キャッシュの再生成。10分 | SoftwareDistribution / catroot2 が再生成される |
| 5 | 手動インストール(.msu) Microsoft Update Catalog で KB5065426(x64/24H2)を取得 → ダブルクリック | WU 経由の不具合を回避。10〜30分 | 「更新プログラムが正常にインストールされました」 |
| 6 | セーフ ブート + ネットワークで更新 | 最小ドライバで衝突回避。15〜30分 | セーフモードで更新が進む |
| 7 | インプレース修復(ISO/インストール アシスタント、個人用ファイルとアプリを保持) | 最終手段。60〜120分 | 更新履歴に KB が登録 / OS 正常起動 |
ヒント(重要)
- サードパーティのセキュリティソフトが無くても、古い BIOS/UEFI やストレージドライバ(Intel RST / AMD RAID など)が原因で更新に失敗することがあります。PC/マザーボードメーカーの最新ファームウェア・ドライバへ更新を推奨します。
- 手順4で生成した
SoftwareDistribution.oldとcatroot2.oldは更新後に不要です。容量が気になる場合は手動削除して構いません。
各手順のやり方(詳解)
OS ビルドの確認
- Win + R →
winverと入力して Enter。 - または管理者 PowerShell で次を実行:
Get-ComputerInfo | Select OsName, OsVersion, OsBuildNumber - 本 KB が対象のバージョン/ビルド以上であれば、再適用は不要です。
Windows Update トラブルシューティングの実行
設定 → システム → トラブルシューティング → その他のトラブルシューティング →「Windows Update」を実行します。内部的にサービスの再起動やキャッシュ整合性の修復が行われ、軽微な破損はこれだけで解消します。
SFC / DISM による整合性修復
- 管理者の PowerShell または CMD を開き、次を順に実行します。
sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth - 完了後に PC を再起動します。
- 再度 Windows Update を実行して挙動を確認します。
Windows Update コンポーネントの手動リセット
キャッシュ破損が疑われる場合に有効です。管理者 PowerShell で実行してください。
# 管理者 PowerShell
Stop-Service wuauserv, bits, cryptsvc, msiserver -Force
Rename-Item "$env:windir\SoftwareDistribution" "SoftwareDistribution.old" -ErrorAction SilentlyContinue
Rename-Item "$env:windir\System32\catroot2" "catroot2.old" -ErrorAction SilentlyContinue
Get-BitsTransfer -AllUsers | Remove-BitsTransfer -Confirm:$false
Start-Service msiserver, cryptsvc, bits, wuauserv
# 念のため再起動
shutdown /r /t 0
この後に Windows Update を再実行し、KB5065426 のダウンロードとインストールを試します。
Microsoft Update Catalog から手動インストール
- Microsoft Update Catalog で KB5065426 を検索し、Windows 11 Version 24H2(x64)向けの
.msuを取得します。 - ダウンロードした
.msuをダブルクリックして適用、または以下を管理者 CMD で実行します。wusa "C:\Path\To\Windows11.0-KB5065426-x64.msu" /quiet /norestart - 適用後に再起動し、設定 → Windows Update → 更新の履歴から KB が登録されているか確認します。
補足: 近年の Windows では SSU(サービス スタック更新)は LCU に同梱されています。別途の SSU 適用は通常不要です。
セーフ ブート状態で更新
- 設定 → システム → 回復 →「今すぐ再起動」→ トラブルシューティング → 詳細オプション → スタートアップ設定 → 再起動 → 4)セーフモードを有効にする(+ ネットワーク)。
- セーフモードでサインイン後、Windows Update または
.msuを適用します。
サードパーティドライバや常駐サービスが最低限になるため、更新処理の排他衝突を避けられます。
インプレース修復(上書きアップグレード)
最終手段として有効です。個人用ファイルとアプリを保持したまま、Windows のコアファイルを再配置します。
- 公式のインストール アシスタントまたは ISO を用意します。
- Windows 上で
setup.exeを実行し、「個人用ファイルとアプリを引き継ぐ」を選択します。 - セットアップ完了後、Windows Update の履歴と OS ビルドを確認します。
原因切り分けを深める(実務ノウハウ)
ストレージ/ファームウェアの見直し
- デバイス マネージャー →「記憶域コントローラー」で Intel RST / AMD RAID / サードパーティ NVMe の古いドライバがないか確認。
- メーカーサイトの 最新 BIOS/UEFI と ストレージドライバへ更新。
- BitLocker を使用中なら更新前に「一時停止(サスペンド)」してから再試行(再起動後に自動で再開)。
サービス状態の健全性チェック
# 管理者 PowerShell
Get-Service wuauserv,bits,cryptsvc,TrustedInstaller,WaaSMedicSvc | Select Name,Status,StartType
Status が Running、StartType が Manual(または Automatic) になっているかを確認します。停止や無効化のままでは更新が進みません。
WSUS/ポリシーの影響(家庭機でも稀に残存)
中古機や以前ドメイン参加していた PC では、Windows Update のポリシーが残存していることがあります。以下のレジストリ値が構成されていないか確認してください(存在すれば「未構成」に戻す)。
# 参考パス(編集は自己責任)
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
ディスク空き容量・一時ファイル
- システムドライブに 20GB 以上の空きがあるか確認。足りない場合はストレージセンサーでクリーンアップ。
- 手順4で作成した
.oldフォルダは更新確認後に削除してよい。
ログで「なぜ止まったか」を見抜く
繰り返し失敗する場合はログ解析が早道です。以下を押さえれば現場で十分戦えます。
| ログ/場所 | 見るポイント | 典型的な所見 |
|---|---|---|
| イベント ビューアー Applications and Services Logs → Microsoft → Windows → WindowsUpdateClient → Operational | 該当時刻のエラー/警告。KB 番号、状態コード。 | 0x80070306 とともに「ダウンロード済み・インストール中断」などの遷移が出る。 |
C:\Windows\Logs\CBS\CBS.log | 「Failed」、「corrupt」、「Cannot open package」など。 | マニフェスト不整合、排他ロック、アクセス拒否。 |
C:\Windows\Logs\DISM\dism.log | RestoreHealth の結果やエラーコード。 | コンポーネントストア修復の成否が分かる。 |
C:\Windows\SoftwareDistribution\ReportingEvents.log | 更新の開始/中断/ロールバックの追跡。 | 特定フェーズでの恒常的な失敗が把握できる。 |
Get-WindowsUpdateLog(PowerShell) | ETL を統合して Desktop\WindowsUpdate.log を生成。 | 詳細なクライアント動作のタイムラインを取得。 |
# PowerShell: Windows Update クライアントログを生成
Get-WindowsUpdateLog -LogPath "$env:USERPROFILE\Desktop\WindowsUpdate.log"
手動インストール時のつまずきと対処
- 適用対象外メッセージ:アーキテクチャ(x64)やバージョン(24H2)を誤っていないか再確認します。
- 途中で固まる:BitLocker 一時停止、クリーンブート(セーフモード)、ストレージドライバ更新を試します。
- 何度もロールバック:SFC/DISM で整合性が直らない場合、インプレース修復へ。
ロールバック・起動ループからの復旧
- 「更新を元に戻しています」で繰り返す場合は、WinRE(自動修復)からシステムの復元を先に試行。
- 復旧後、手順3(SFC/DISM)→ 手順4(コンポーネントリセット)→ 手順5(手動インストール)の順で再アプローチ。
企業・管理環境(WSUS / Intune / 構成プロファイル)の注意点
- リング設定(先進運用リング)や期限設定、保留中の再起動ポリシーがブロックになっていないか。
- 配布コンテンツ(DP/キャッシュ)が破損している場合、クライアントキャッシュのクリアや再配布が必要。
- 共同で導入している EDR/バックアップのフィルタードライバがある場合はメンテナンスウィンドウ中に一時停止。
再発防止の小ワザ
- ストレージの健全性:
chkdsk /scan、メーカー提供の NVMe/S.M.A.R.T. ユーティリティで定期チェック。 - 空き容量の確保:ストレージ センサー(自動クリーンアップ)を有効化しておく。
- ドライバ更新:ストレージ/チップセット/BIOS を四半期に一度は点検。
- 更新の分離:大型の機能更新とドライバ更新は同時に走らせない(再起動サイクルが衝突しやすい)。
コピペで使えるコマンド集
整合性修復
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
更新コンポーネント リセット(PowerShell)
Stop-Service wuauserv, bits, cryptsvc, msiserver -Force
Rename-Item "$env:windir\SoftwareDistribution" "SoftwareDistribution.old" -ErrorAction SilentlyContinue
Rename-Item "$env:windir\System32\catroot2" "catroot2.old" -ErrorAction SilentlyContinue
Get-BitsTransfer -AllUsers | Remove-BitsTransfer -Confirm:$false
Start-Service msiserver, cryptsvc, bits, wuauserv
インストールの有無を確認
wmic qfe | find "KB5065426"
# または
Get-HotFix -Id KB5065426
# または(パッケージレベル)
dism /Online /Get-Packages | findstr 5065426
よくある質問(FAQ)
Q. 手順 2〜4 で直りません。次は何をすべき?
カタログからの .msu 手動適用(手順5)を優先。失敗する場合はセーフモードで適用し、それでもダメならインプレース修復が近道です。
Q. インプレース修復でデータは消える?
個人用ファイルとアプリを保持を選べば消えません。念のためバックアップは推奨します。
Q. 「ハンドルが無効」の直接原因は?
更新処理が参照するファイル/サービス/デバイスのハンドルが無効化された状態です。典型的にはキャッシュ破損、フィルタードライバの介在、サービス再起動の競合が引き金です。
Q. セキュリティソフトは入れていませんが影響は?
影響は小さいですが、古いストレージ/RAID ドライバや BIOSがボトルネックになる例は多いです。先に更新を。
まとめ
エラー 0x80070306 は「ハンドルが無効」を意味し、原因の大半は更新キャッシュの破損や排他制御の行き違いです。実務では トラブルシューティング → SFC/DISM → コンポーネントリセットの三点セットで解決するケースが最も多く、難航した場合も .msu 手動適用かインプレース修復で収束します。加えてBIOS/ストレージドライバの更新を行えば再発確率を大きく減らせます。更新が完了したら SoftwareDistribution.old と catroot2.old を削除し、ディスクを整えておきましょう。

コメント