Windows Update エラー0x80070002の直し方|KB5065779(Windows 11 Insider ビルド 26120.5790)がインストールできない時の完全ガイド

Windows 11 Insider Preview の累積更新プログラム(KB5065779/ビルド 26120.5790)がエラー 0x80070002 で失敗する――既定の対処(SFC、DISM、キャッシュ削除、復元ポイント、WU トラブルシューティング)を総ざらいしても通らないとき、アプリや個人データを保ったまま確実に復旧するための実践ガイドです。検証済みの手順を順序立てて解説します。

目次

症状と背景:0x80070002 は何を意味するか

エラー 0x80070002(ERROR_FILE_NOT_FOUND) は、更新の適用過程で必要なファイルが見つからない/参照できない場合に発生します。Insider Preview の累積更新(LCU)は、ビルドごとの差分やスタック更新(SSU)、ドライバー/ファームウェアとの整合性に敏感で、次の要因が重なると発生しやすくなります。

  • ダウンロード済み差分の破損(SoftwareDistribution、catroot2 などのキャッシュ不整合)
  • 常駐ソフト(特にサードパーティ製 AV/EDR、ファイアウォール、VPN)によるロック
  • ストレージの断片化や不良セクタ、予約パーティションの容量不足
  • ドライバーや UEFI/BIOS の古さによる互換性不整合
  • Windows Update コンポーネント(サービス/COM DLL)の登録不整合
  • WSUS/グループポリシーによる配信・延期設定の干渉

本稿は「アプリと個人データを失わずに」直すことを最優先に、失敗しやすい分岐を避けつつ成功率の高い順で手順を並べ替えています。

結論(最短ルート):この順番で実行

  1. 前提確認(チャネル/空き容量/AV/ドライバー/最近のハード変更)。干渉要因を除去。
  2. クリーンブートで最小構成にして Windows Update を再試行。
  3. Microsoft Update カタログのスタンドアロンで KB5065779(x64/ARM64)を手動適用。
  4. Windows Update コンポーネントの再登録+キャッシュ再生成。
  5. インプレース アップグレード(上書きインストール修復)で OS コンポーネントを無損失で再構成。
  6. 補足:UEFI/BIOS を最新化、設定 > システム > 回復 > 「Windows Update を使用して問題を解決」を実行、ストレージ健全性再点検、AV の一時無効化またはアンインストール。

質問の前提と整合:今回のケース

対象は Windows 11 Insider Preview、KB5065779(ビルド 26120.5790)。質問者は SFC/DISM/更新キャッシュ削除/CHKDSK/復元ポイント/WU トラブルシューティングを実施済み。それでも解決せず、最終的に BIOS 更新と「Windows Update を使用して問題を解決」で解決した、という実例に基づいています。以下は再現性を高めた汎用手順です。

一目でわかる原因別の当たり所

症状・手掛かり想定原因確認方法優先する対策
0x80070002、ダウンロード→インストールの境目で失敗キャッシュ破損/DLL 登録不整合WindowsUpdate.log/CBS.log で Missing file エントリクリーンブート→手動適用→再登録
再起動後の構成段階でロールバックドライバー/ブートローダ連係不整合setupact.log/setuperr.log最新ドライバー/BIOS 更新→手動適用
適用に進まない/進捗 0%〜20% で停止常駐ソフトのフィルタリングセーフモードやクリーンブートで改善するかAV/EDR を一時停止・アンインストール
毎回同じサイズで再ダウンロードSoftwareDistribution の破損フォルダー容量が異常に大きい/ログに CRCキャッシュの再生成+再登録
Insider でないビルドから更新不可チャネル不整合/延期ポリシー設定 > Windows Update > Windows Insider Programチャネル整合/ポリシー解除

前提確認:失敗するフラグを先に折る

  • Insider チャネル:Dev/Beta/Release Preview のいずれかに正しく参加しているか確認。
  • システムドライブ空き容量:20GB 以上を目安(LCU 展開+バックアップ領域)。
  • サードパーティ製 AV/EDR/VPN:リアルタイム保護を一時停止、可能ならアンインストール。
  • ドライバー/ファームウェア:チップセット、ストレージ、グラフィックス、Bluetooth/Wi-Fi、UEFI/BIOSを最新化。
  • 保留中の再起動:累積更新や .NET 更新が保留なら先に完了させる。
  • 外付けデバイス:不要な USB ストレージ、ドングルを外す(ブート順干渉回避)。

クリーンブートでの再試行

常駐フィルタ(ドライバー・サービス)を外し、更新プロセスを素通しさせます。

  1. Win+R → msconfig →「サービス」タブ →「Microsoft のサービスをすべて隠す」→「すべて無効」。
  2. 「スタートアップ」タブ →「タスクマネージャーを開く」→有効項目をすべて無効化。
  3. 再起動後、Windows Update から KB5065779 を再試行。

改善があれば競合が原因。今後は常駐を段階的に戻して衝突元を特定します。

更新プログラムの手動適用(スタンドアロン)

Windows Update 経由で失敗しても、スタンドアロン適用で通ることがよくあります。手法は MSU をダブルクリックする方法と、CAB を DISM で投入する方法の二通りです。

準備

  • Microsoft Update カタログで「KB5065779」を検索。
  • 自機の CPU アーキテクチャ(x64/ARM64)に合うパッケージを取得。
  • ダウンロード先は C:\Temp\KB5065779 など短いパスを推奨。

MSU の場合(最も簡単)

WUSA.exe "C:\Temp\KB5065779\windows11.0-kb5065779-x64.msu" /quiet /norestart

静かに適用するために /quiet /norestart を付与。完了後、手動で再起動します。

CAB の場合(DISM)

dism /online /add-package /packagepath:"C:\Temp\KB5065779\windows11.0-kb5065779-x64.cab"

DISM が 0x80070002 を返す場合は、C:\Windows\Logs\DISM\dism.log を後述の手順で確認します。

署名検証(任意)

powershell -Command "Get-AuthenticodeSignature 'C:\Temp\KB5065779\*.msu' | Format-List Status,SignerCertificate"

Windows Update コンポーネントの再登録とキャッシュ再生成

WU 関連 DLL の登録やサービス依存の再構成を行い、破損したコンポーネントを復旧します。管理者の コマンド プロンプトで以下を順に実行します。

net stop wuauserv
net stop bits
net stop cryptsvc
net stop appidsvc
net stop msiserver

ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old

regsvr32 /s wuaueng.dll
regsvr32 /s wuapi.dll
regsvr32 /s wups.dll
regsvr32 /s wups2.dll
regsvr32 /s wucltux.dll
regsvr32 /s wuwebv.dll

sc config trustedinstaller start=auto
net start trustedinstaller

net start wuauserv
net start bits
net start cryptsvc
net start appidsvc
net start msiserver </code></pre>

<p><em>補足</em>:一部の DLL は最新 OS では再登録不要で、警告が出ても無視して問題ない場合があります。<code>SoftwareDistribution</code> と <code>catroot2</code> をリネームすることでクリーンなキャッシュを再構築します。</p>

<h2>インプレース アップグレード(上書きインストール修復)</h2>
<p>もっとも確実で、<strong>アプリと個人データを保持したまま</strong> OS コンポーネントを再展開します。Insider でも現行ビルド相当の ISO から実行可能です。</p>
<ol>
  <li><strong>最新の Windows 11 ISO</strong> を用意(Insider チャネルに整合したものが望ましい)。</li>
  <li>ISO を右クリックして<strong>マウント</strong> → ドライブ直下の <code>setup.exe</code> を実行。</li>
  <li>「<strong>個人用ファイルとアプリを引き継ぐ</strong>」を選択し、画面の指示に従う。</li>
  <li>完了後、Windows Update で KB5065779 の適用を確認。</li>
</ol>
<p>この方法は <strong>データ消失のリスクが極小</strong>で、破損したコンポーネントやサービス登録の不整合、パーミッションの歪みを一挙に矯正します。実行前に大切なデータのバックアップだけは習慣として推奨します。</p>

<h2>補足対策:成功率をさらに上げるポイント</h2>
<ul>
  <li><strong>UEFI/BIOS を最新化</strong>:マイクロコードや NVMe/PCIe 関連の互換性改善でロールバックを防止。<strong>今回の実例では BIOS 更新が決め手</strong>になりました。</li>
  <li><strong>設定 &gt; システム &gt; 回復 &gt; 「Windows Update を使用して問題を解決」</strong>:更新関連の破損を自動修復する新しいオプション。前述手順と併用で成功率向上。</li>
  <li><strong>ストレージ健全性</strong>:<code>chkdsk /scan</code> 後も SMART 異常が疑わしい場合はベンダーツールで総合検査。システム予約領域(EFI/回復)の空き不足も見直し。</li>
  <li><strong>セキュリティ製品</strong>:一時的にアンインストール(再起動含む)。ドライバー残滓は後述ログで検知。</li>
  <li><strong>外付け周辺機器</strong>:適用中は最小構成(ディスプレイ/キーボード/マウスのみ)。</li>
</ul>

<h2>ログで根本原因を突き止める(必要に応じて)</h2>
<p>再現性のある失敗や企業環境での横展開には、ログ確認が近道です。</p>
<h3>WindowsUpdate.log の生成</h3>
<pre><code>PowerShell
Get-WindowsUpdateLog -LogPath $env:USERPROFILE\Desktop\WindowsUpdate.log
</code></pre>
<p>生成したログで <code>0x80070002</code>、<code>Missing file</code>、<code>path not found</code> などの文字列を検索します。</p>
<h3>その他の重要ログ</h3>
<ul>
  <li><code>C:\Windows\Logs\CBS\CBS.log</code>(コンポーネント ストア)</li>
  <li><code>C:\Windows\Logs\DISM\dism.log</code>(DISM 適用の詳細)</li>
  <li><code>C:\$WINDOWS.~BT\Sources\Panther\setupact.log</code>/<code>setuperr.log</code>(セットアップ全般)</li>
  <li>イベント ビューアー:<strong>アプリケーションとサービス ログ</strong> → <strong>Microsoft</strong> → <strong>Windows</strong> → <strong>WindowsUpdateClient</strong> → <strong>Operational</strong></li>
</ul>
<h3>PowerShell での絞り込み例</h3>
<pre><code>PowerShell
$paths = @(
  "$env:USERPROFILE\Desktop\WindowsUpdate.log",
  "C:\Windows\Logs\CBS\CBS.log",
  "C:\Windows\Logs\DISM\dism.log"
)
Select-String -Path $paths -Pattern "0x80070002|Missing|not found|failed" -SimpleMatch | 
  Sort-Object Path, LineNumber | 
  Format-Table -AutoSize
</code></pre>
<p>特定のファイル名(例:<code>.mum</code> や <code>.cat</code>)が挙がれば、キャッシュ再生成・再登録・手動適用の優先度が上がります。</p>

<h2>企業・管理環境(WSUS/Intune/グルポ)での確認</h2>
<ul>
  <li><strong>延期設定</strong>:Windows Update for Business の延期が Insider 施策と衝突していないか。</li>
  <li><strong>WSUS バインド</strong>:WSUS 配下の承認状態。該当 KB が未承認だとクライアント側で 0x80070002 の副作用が出ることがあります。</li>
  <li><strong>レジストリの確認</strong>(読み取りのみ推奨):
    <ul>
      <li><code>HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate</code></li>
      <li><code>HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU</code></li>
    </ul>
    ここに値がある場合、ポリシー適用を受けています。設定変更は GPO/MDM 側で実施します。
  </li>
  <li><strong>ドライバ配信ポリシー</strong>:OEM ドライバーのバージョン固定が LCU の巻き戻しを招く場合は、順序を入れ替える(先にドライバ、次に LCU)。</li>
</ul>

<h2>よくある落とし穴(回避テク)</h2>
<ul>
  <li><strong>セーフモードで Windows Update は基本不可</strong>:手動適用(MSU/CAB)は可能ですが、依存サービス不足で失敗しやすい。クリーンブートを選ぶ方が安全。</li>
  <li><strong>ストレージ暗号化</strong>:BitLocker 有効時は <strong>回復キー</strong>を手元に。インプレースで暗号化が解除されることは通常ありませんが、トラブル時にキーが必要。</li>
  <li><strong>ストレージ空き不足</strong>:一時的に <code>hiberfil.sys</code> を削減(<code>powercfg /h off</code>)、<code>%temp%</code> の掃除も有効。</li>
  <li><strong>時間とタイムゾーン</strong>:信頼チェーン検証で時刻ズレは失敗要因。NTP 同期を確認。</li>
  <li><strong>パスが長すぎる</strong>:CAB/MSU のパスは短く(例:<code>C:\Temp</code>)。</li>
</ul>

<h2>ケーススタディ:BIOS 更新+「Windows Update を使用して問題を解決」で解決</h2>
<p>ある Insider 環境では、SFC/DISM/キャッシュ再生成でも 0x80070002 が解消しませんでした。<strong>マザーボード BIOS を最新化</strong>し、さらに <strong>設定 &gt; システム &gt; 回復 &gt; 「Windows Update を使用して問題を解決」</strong>を実行したところ、Windows Update コンポーネントの再構築が行われ、<strong>再起動後に KB5065779 の適用が正常完了</strong>。ハードウェア層の互換改善と OS 側の自己修復を組み合わせるのが、Insider 固有の相性問題には特に有効でした。</p>

<h2>「これでもダメ」のときの分岐</h2>
<ul>
  <li><strong>ドライバーのロールバック</strong>:直近で当たった GPU/ストレージ/Bluetooth ドライバーを 1 つ前へ戻す。</li>
  <li><strong>新規ローカル管理者プロファイルで試行</strong>:ユーザープロファイル破損の切り分け。</li>
  <li><strong>DISM のイメージ修復(ソース指定)</strong>:
    <pre><code>dism /online /cleanup-image /restorehealth /source:wim:D:\sources\install.wim:1 /limitaccess
ここで D: はマウントした ISO のドライブ。失敗ログが 0x800f081f などに変わる場合、ソース不足が主因です。

クリーンインストールは最終手段:アプリが消えるため、本稿の目的(無損失)は満たしません。どうしてもダメなときのラストオプション。

管理者向け:半自動スクリプト(自己責任)

複数台での一括対応や再現検証に便利な断片です。管理者の PowerShell(管理者)で実行します。

PowerShell
# 1) 基本サービス停止とキャッシュ再生成
Stop-Service wuauserv,bits,cryptsvc,msiserver -Force -ErrorAction SilentlyContinue
Rename-Item "$env:SystemRoot\SoftwareDistribution" "SoftwareDistribution.old" -ErrorAction SilentlyContinue
Rename-Item "$env:SystemRoot\System32\catroot2" "catroot2.old" -ErrorAction SilentlyContinue

# 2) DLL 再登録(存在するもののみ)

$wuDlls = "wuaueng.dll","wuapi.dll","wups.dll","wups2.dll","wucltux.dll","wuwebv.dll"
foreach($d in $wuDlls){ Start-Process -FilePath "regsvr32.exe" -ArgumentList "/s $d" -Wait -NoNewWindow }

# 3) サービス起動

Set-Service TrustedInstaller -StartupType Automatic
Start-Service TrustedInstaller,wuauserv,bits,cryptsvc,msiserver

# 4) ログのキーワード抽出

$logs = @("$env:USERPROFILE\Desktop\WindowsUpdate.log","C:\Windows\Logs\CBS\CBS.log","C:\Windows\Logs\DISM\dism.log")
if(Test-Path $logs[0] -eq $false){ Get-WindowsUpdateLog -LogPath $logs[0] }
Select-String -Path $logs -Pattern "0x80070002|Missing|not found|rollback" | Sort-Object Path,LineNumber | Out-Host </code></pre>

<h2>チェックリスト(保存版)</h2>
<table>
  <thead>
    <tr>
      <th>チェック</th>
      <th>やり方</th>
      <th>合格の目安</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Insider チャネル整合</td>
      <td>設定 &gt; Windows Update &gt; Windows Insider Program</td>
      <td>想定チャネル(Dev/Beta/Release Preview)に参加</td>
    </tr>
    <tr>
      <td>空き容量</td>
      <td>エクスプローラー/Storage Sense</td>
      <td>システムドライブに 20GB 以上</td>
    </tr>
    <tr>
      <td>クリーンブート</td>
      <td><code>msconfig</code>/タスクマネージャー</td>
      <td>非 Microsoft サービスとスタートアップを一時停止</td>
    </tr>
    <tr>
      <td>手動適用</td>
      <td>WUSA/DISM で MSU/CAB を適用</td>
      <td>再起動後、<em>winver</em> と更新履歴で確認</td>
    </tr>
    <tr>
      <td>WU 再登録</td>
      <td>サービス停止→キャッシュ再生成→DLL 再登録</td>
      <td>ダウンロードや初期化のループが消える</td>
    </tr>
    <tr>
      <td>インプレース修復</td>
      <td>ISO マウント→<code>setup.exe</code>→「保持」選択</td>
      <td>アプリと個人データを保持して復旧</td>
    </tr>
    <tr>
      <td>BIOS/UEFI</td>
      <td>ベンダーツール/サポートアプリ</td>
      <td>最新化でブート段階のロールバックを抑止</td>
    </tr>
    <tr>
      <td>回復オプション</td>
      <td>設定 &gt; システム &gt; 回復 &gt; WU で修復</td>
      <td>WU コンポーネントが自動再構築</td>
    </tr>
  </tbody>
</table>

<h2>トラブルが収まったら:再発防止の小技</h2>
<ul>
  <li><strong>ドライバーはまとめて更新しない</strong>:チップセット→ストレージ→グラフィックスの順で段階更新し、異常時の切り戻し点を明確に。</li>
  <li><strong>定期的に DISM/SFC を点検</strong>:
    <pre><code>dism /online /cleanup-image /scanhealth
sfc /scannow

バックアップの標準化:ファイル履歴やイメージバックアップで週次の保険を。
Insider 用の検証ポリシー:本番デバイスと分離、復元メディアの常備、更新は余裕のある時間帯に。

まとめ

エラー 0x80070002 は「ファイルが見つからない」という表面的なメッセージの裏で、キャッシュ破損や DLL 登録不整合、ドライバー/ファームウェアの相性など複数の要素が絡みがちです。クリーンブート → 手動適用 → 再登録 → インプレース修復という順序で打つと、アプリや個人データを守りつつ高確率で突破できます。Insider ならではの要注意点として、BIOS/UEFI の最新化と回復オプションの活用を忘れずに。最後はログで事実を押さえ、再発防止につなげてください。


付録:今回紹介した主要コマンド一覧(コピペ用)

:: クリーンな管理者コマンド プロンプトで順に実行
:: 1) WU 停止+キャッシュ再生成
net stop wuauserv
net stop bits
net stop cryptsvc
net stop appidsvc
net stop msiserver
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old

:: 2) DLL 再登録
regsvr32 /s wuaueng.dll
regsvr32 /s wuapi.dll
regsvr32 /s wups.dll
regsvr32 /s wups2.dll
regsvr32 /s wucltux.dll
regsvr32 /s wuwebv.dll

:: 3) サービス再開
sc config trustedinstaller start=auto
net start trustedinstaller
net start wuauserv
net start bits
net start cryptsvc
net start appidsvc
net start msiserver

:: 4) 手動適用(例:MSU)
WUSA.exe "C:\Temp\KB5065779\windows11.0-kb5065779-x64.msu" /quiet /norestart

:: 5) 手動適用(例:CAB)
dism /online /add-package /packagepath:"C:\Temp\KB5065779\windows11.0-kb5065779-x64.cab"

:: 6) ログ生成
powershell -Command "Get-WindowsUpdateLog -LogPath $env:USERPROFILE\Desktop\WindowsUpdate.log" 

以上で、KB5065779(ビルド 26120.5790)の 0x80070002 によるインストール失敗へ、データ無損失での実践的な解決ガイドは完了です。必要な場面に応じて、上から順に、またはログ診断の結果に沿って適用してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次