Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

Windows 10のアップデートエラー0x800f0845を解決する6つの対処法

一部のWindows 10ユーザーの間では、保留中のWindowsアップデートをインストールしようとするたびに0x800f0845というエラーコードが表示され、失敗してしまうという報告が相次いでいます。多くの場合、この問題により新しいアップデートが一切インストールできなくなるため、深刻な支障をきたしています。

この問題に遭遇した場合は、まずWindows Updateトラブルシューティングツールを実行し、OS自身で問題を自動修復できるかどうかを確認しましょう。自動修復で解決しない場合は、アップデート処理に関わるWU(Windows Update)コンポーネントをすべてリセットする方法を試します。手動でのリセットと専用エージェントを使った方法の両方をご紹介します。

また、0x800f0845エラーの原因がシステムファイルの破損である場合は、Windowsに標準搭載されている2つのユーティリティ(DISMとSFC)で破損ファイルを検出・修復できます。それでも解決しない場合は、修復インストールやクリーンインストールを検討する必要があります。

ただし、OSの再インストールは避けたいという方には、Microsoft Updateカタログから問題のアップデートを手動で直接インストールすることで、壊れたWUコンポーネントを回避できる可能性があります。

方法1:Windows Updateトラブルシューティングツールを実行する

他の対処法を試す前に、まずはパソコン自身が問題を自動修復できるかどうかを確認しましょう。幸い、Windows 10を含む最近のWindowsバージョンには、Windows Updateに関連する一般的な不具合をスキャンし、既知のパターンが検出された場合に推奨される修復を自動適用する機能が備わっています。

すべての問題を解決できるわけではありませんが、0x800f0845エラーのトラブルシューティングとしては最初に試す価値のあるステップです。

以下の手順に従って、トラブルシューティングツールを実行してください。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開きます。「ms-settings:troubleshoot」と入力し、Enterキーを押すと、設定アプリのトラブルシューティング画面が開きます。
  2. トラブルシューティング画面内で右側の項目から「Windows Update」を選択し、「トラブルシューティングツールの実行」をクリックします。
  3. トラブルシューティングツールが起動すると、一般的な不整合のスキャンが自動的に始まります。スキャン完了後、修復案が提示された場合は「この修正を適用する」をクリックします。
  4. 提案される修復内容によっては、追加の操作手順が表示される場合がありますので、画面の指示に従ってください。
  5. 修復が正常に完了したら、パソコンを再起動し、以前0x800f0845エラーで失敗していたアップデートの再インストールを試みます。

方法2:Windows Updateコンポーネントをリセットする

このエラーのもう一つのよくある原因は、Windows Updateのサブコンポーネントの1つ以上が不安定な状態(有効でも無効でもない中途半端な状態)になっていることです。このケースに該当する場合は、アップデート処理に関わるWUコンポーネントをすべてリセットすることで問題を解決できる可能性があります。

リセットは自動化スクリプトを使う方法と、管理者権限のコマンドプロンプトから手動で行う方法があります。どちらの方法でも対応できるよう、2つのガイドを用意しました。

Update Agentを使ってWUをリセットする方法

  1. お使いのブラウザで「Reset Windows Update Agent Tool」の配布ページを開き、ResetWUEng.zipに関連付けられたDownloadボタンをクリックしてダウンロードします。
  2. ダウンロードが完了したら、7-ZipやWinZipなどのツールでアーカイブを展開します。
  3. 展開したフォルダ内のResetWUEng.exeをダブルクリックし、ユーザーアカウント制御(UAC)の画面が表示されたら「はい」をクリックします。
  4. 最後の確認画面で「Yes」を選択し、処理が完了するのを待ちます。完了後、パソコンを再起動してください。
  5. 再起動後、以前0x800f0845エラーで失敗していたアップデートを再度インストールし、問題が解決したかどうかを確認します。
  6. 同じ問題が引き続き発生する場合は、次の方法3へ進んでください。

管理者権限のコマンドプロンプトでWUをリセットする方法

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開き、「cmd」と入力してCtrl + Shift + Enterを押すと、管理者権限のコマンドプロンプトが起動します。UAC(ユーザーアカウント制御)が表示されたら「はい」をクリックして管理者権限を付与します。
  2. 管理者権限のコマンドプロンプトが開いたら、以下のコマンドを1つずつ入力し、それぞれの後にEnterキーを押して、Windows Update関連のサービスをすべて停止させます。
    net stop wuauserv
    net stop cryptSvc
    net stop bits
    net stop msiserver

    注意:これらのコマンドにより、Windows Updateサービス、MSIインストーラー、暗号化サービス(Cryptographic Services)、BITSサービスが停止されます。

  3. 関連するサービスがすべて停止したら、続いて以下の2つのコマンドを順番に入力し、それぞれの後にEnterキーを押します。
    ren C:\Windows\SoftwareDistribution SoftwareDistribution.old 
    ren C:\Windows\System32\catroot2 Catroot2.old

    注意:この操作により、SoftwareDistributionフォルダとCatroot2フォルダがクリアされ、別名に変更されます。これらのフォルダはWUコンポーネントがOSの一時的な更新ファイルを保存するために使用している場所です。通常の方法では削除できないため、名前を変更することでOSに新しいフォルダを作成させています。

  4. 2つのフォルダの名前変更が完了したら、手順2で停止したサービスを再有効化するために、以下のコマンドを1つずつ入力し、それぞれの後にEnterキーを押します。
    net start wuauserv
    net start cryptSvc
    net start bits
    net start msiserver
  5. すべてのサービスが再起動したら、以前失敗していたWindowsアップデートの再インストールを試み、0x800f0845エラーなしで完了するかどうかを確認します。

同じ問題がまだ発生する場合は、次の対処法に進んでください。

方法3:DISMおよびSFCスキャンを実行する

影響を受けたユーザーからの報告によると、この問題(特定のWindowsアップデートが0x800f0845エラーコードで失敗する現象)は、システムファイルの破損によってWU(Windows Update)コンポーネントが正常に動作しなくなることが原因であるケースが多いようです。

一見深刻な問題に思えますが、朗報があります。Windows 10には、システムファイルの破損のほとんどを自動的に修復できる標準ユーティリティ(DISMとSFC)が搭載されています。

SFC(システムファイルチェッカー)は完全にローカルで動作するツールで、ローカルに保存されたアーカイブを利用して、破損したファイルを正常なコピーと置き換えることで修復を行います。

DISM(展開イメージのサービスと管理)は、WUのサブコンポーネントを使用して、置き換えが必要な破損ファイルの正常なコピーをダウンロードします。SFCより強力ですが、破損がDISM自体が依存するサブコンポーネントに及んでいる場合は効果が低下する可能性があります。

2つのツールは仕組みが異なるため、0x800f0845エラーの原因となっている破損箇所を確実に修復するために、SFCとDISMの両方を続けて実行することをおすすめします。

まずSFCスキャンを実行し、処理が完了するまで辛抱強く待ちます。

注意:処理の完了前に中断すると、HDD/SSDに論理エラーが発生し、さらなる問題につながる恐れがあります。

スキャンが完了したら、パソコンを再起動し、起動が完了したことを確認してからDISMスキャンを開始します。

注意:DISMは正常に完了するために安定したインターネット接続が必要です。この手順を開始する前に、安定したネットワークに接続していることを確認してください。

2回目のスキャンが終了したら、パソコンを再起動し、次回の起動時に問題が解決しているかどうかを確認します。

方法4:Microsoft Updateカタログから手動でアップデートする

上記のどの方法でも0x800f0845エラーの根本原因を特定・修復できなかった場合は、ローカルのWindows Updateコンポーネントに頼らず、問題のアップデートを手動でインストールすることで回避できます。

その際に活用したいのがMicrosoft Updateカタログです。実際にこの方法でOSビルドを最新バージョンに更新できたという報告が複数あります。

重要:この方法は0x800f0845エラーの根本原因を修復するものではない点にご留意ください。あくまで保留中のアップデートをインストールするための回避策です。

この方法を採用する場合は、以下の手順に従ってMicrosoft Updateカタログ経由でアップデートを手動インストールしてください。

  1. お使いのブラウザでMicrosoft Updateカタログの公式サイト(catalog.update.microsoft.com)にアクセスします。
  2. サイト内の検索機能を使って、0x800f0845エラーでインストールに失敗しているアップデートを検索します。
  3. 検索結果が表示されたら、OSアーキテクチャとWindowsのバージョンを確認し、お使いの環境に適合するバージョンを見つけます。

    注意:OSのアーキテクチャが分からない場合は、エクスプローラーで「PC」を右クリックし、コンテキストメニューから「プロパティ」を選択します。表示された情報の中の「システムの種類」を確認すれば、OSのビット数が分かります。

  4. インストールが必要な正しいアップデートを特定したら、ダウンロードボタンをクリックしてダウンロードが完了するのを待ちます。
  5. ダウンロードが完了したら、保存先のフォルダを開き、.infファイルを右クリックして「インストール」を選択します。
  6. 画面の指示に従ってインストールを完了させます。インストールに失敗していた他のアップデートがある場合は、手順2〜5を繰り返します。
  7. 保留中のアップデートがすべて正常にインストールできたら、パソコンを再起動し、Windows Updateの画面から保留中のアップデートが消えていることを確認します。

方法5:修復インストール/クリーンインストールを実行する

ここまで紹介した対処法のどれでも問題を解決できなかった場合、システムは従来の方法では修復できない種類のシステムファイル破損に陥っている可能性が高いです。その場合は、修復インストール(上書きインプレース修復)またはクリーンインストールによって、Windowsの全コンポーネントをリセットするしかありません。

すべてのWindowsコンポーネントをリセットしたい場合は、修復インストール(インプレース修復)がおすすめです。この操作はOSコンポーネントのみに影響するため、個人データ、ゲーム、アプリケーション、さらには一部のユーザー設定もそのまま保持されます。

注意:修復インストール(インプレース修復)を実行するには、通常インストールメディアが必要です。起動シーケンス中に強制的にマシンを3回中断させて回復メニューを表示させる方法もありますが、ややリスクが伴います。

一方、迅速かつ手間なく作業を終えたいのであれば、クリーンインストールを選択するのが確実です。ただし、事前にデータをバックアップしていない場合、OSドライブ上の個人データやユーザー設定は失われる点に十分注意してください。

  1. Windows 10アップデートエラー0xc1900200の原因と解決方法を徹底解説

    エラーコード 0xc1900200 は、「Windows Update アシスタント」を使用して古いバージョンのWindowsからWindows 10へアップグレードしようとした際に表示されることがあります。特に、Windows 7やWindows 8.1からWindows 10へのアップグレード時に発生するケースが多く見られます。いずれの場合も、インストーラーは必要要件をすべて満たしていると判定するにもかかわらず、何らかの理由でアップグレード処理が最終的に失敗し、このエラーコードが表示されます。 Windows Update エラー 0xc1900200 の主な原因 このエラーを引き起こす可

  2. Windows Updateエラー0x8000FFFFを修正する方法は?

    0x8000FFFF エラーは、最近のWindowsシステムで非常に人気のあるエラーコードです。これは通常、保留中のWindowsUpdateがWindowsUpdate経由でインストールに失敗した後に発生します。このエラーは、Windows10とWindows11の両方で発生することが確認されています。 この問題を調査し、さまざまなユーザーレポートを分析した結果、最終的にこのエラーコードを引き起こす可能性のある複数のもっともらしいシナリオが実際に存在することがわかりました。知っておくべき犯人のリストは次のとおりです。 一般的なWUグリッチ –最初にトラブルシューティングする必要がある