【解決済み】「Windows Resource Protection で破損ファイルを検出しましたが、その一部を修復できませんでした」エラーの直し方
SFC(システム ファイル チェッカー)のスキャン自体は比較的簡単に実行できますが、スキャン完了時に「Windows Resource Protection で破損ファイルを検出しましたが、その一部を修復できませんでした」というエラーメッセージが表示されると、どう対処すればよいか分からず戸惑う方が少なくありません。システム ファイル チェッカーで問題が解決できず、次の一手に迷っている Windows ユーザーは多く存在します。
システム ファイル チェッカー(SFC)とは?
システム ファイル チェッカー(System File Checker)は、Windows のシステム ファイルの破損を検出・修復できる、Microsoft 製の信頼性の高いユーティリティです。このツールは Windows 98 の時代から搭載されており、最新の Windows バージョンにも引き続き組み込まれています。
Windows Vista、Windows 7、Windows 10 では、SFC は Windows リソース保護(WRP:Windows Resource Protection)と統合されて動作します。これにより、レジストリ キー、フォルダー、重要なシステム ファイルに対して強化された保護が提供されます。
「破損ファイルを検出しましたが、修復できませんでした」エラーの主な原因
このエラーについては、多数のユーザーレポートと、実際に問題を解決するために行われた修復手順を調査しました。その結果、以下のようなシナリオが SFC エラーの原因として頻繁に確認されることが分かりました。
- 誤検知(False Positive) – SFC スキャンが誤検知を報告する理由はいくつも考えられます。よくある例としては、NVIDIA の opendll.dll ファイルが挙げられます。ファイルに実際は問題がない場合でも、SFC がこれをフラグ付けすることがあります。この場合、DISM スキャンを実行することで、フラグ付けされたファイルが本当に破損しているかどうかを判断できます。
- サードパーティ製ソフトウェアの干渉 – インストール済みのアプリケーションが SFC スキャンに干渉している可能性もあります。同様のケースを経験したユーザーの多くは、クリーンブート状態でスキャンを実行するとエラーなく完了したと報告しています。
- 通常の方法では修復できないシステム ファイルの破損 – 破損の程度によっては、標準の Windows ユーティリティ(SFC および DISM)では復旧できないケースもあります。この場合、OS ファイルのインストールまたは再インストールが唯一の解決策となります。
この記事では、SFC で修復・置換できなかった破損ファイルを解決するための、実績のある複数の修復方法をご紹介します。以下に、同じ状況に直面した他のユーザーが破損したシステム ファイルを排除するために使用した一連の方法をまとめました。
効率よくトラブルシューティングを進めるために、以下の方法は記載されている順番に従って試すことをおすすめします。いずれかの手順で、お使いの環境における問題を解決できるはずです。
方法1:DISM コマンドで破損ファイルを修復する
SFC で問題が解決できない場合の次のステップとして、DISM(展開イメージのサービスと管理)ユーティリティを使用して Windows イメージを修復するのが一般的です。DISM は Windows Vista から搭載されており、システム ファイルの破損を検出・解決するうえで、SFC よりも優れたツールとされています。
SFC スキャンがローカルに保存されたコピー(それ自体も破損している可能性があります)で破損ファイルを置き換えるのに対し、DISM は Windows Update のコンポーネントを利用して修復を行います。そのため、DISM スキャンを実行する前に、安定したインターネット接続があることを必ず確認してください。
DISM には複数のスキャン パラメーターがありますが、ここではシンプルに RestoreHealth オプションを使用します。このコマンドは、Windows イメージ内の破損を自動的にスキャンし、必要な修復を自動的に実行します。手順は以下の通りです。
- Windowsキー + R を押して「ファイル名を指定して実行」ダイアログを開きます。「cmd」と入力し、Ctrl + Shift + Enter を押して管理者権限のコマンド プロンプトを起動します。UAC(ユーザー アカウント制御)の画面が表示されたら、「はい」をクリックして管理者権限を付与します。
- 管理者権限のコマンド プロンプトで、以下のコマンドを入力して Enter キーを押し、RestoreHealth オプション付きの DISM スキャンを開始します。
DISM /Online /Cleanup-Image /RestoreHealth
- 処理が完了するまで待ちます。PC の構成によっては、1時間以上かかることもあります。
注意: 処理が完了する前にウィンドウを閉じないでください。DISM スキャンは進捗が30%前後で止まることがありますが、これは正常な動作であり、数分後には進行が再開されます。 - 処理が完了し、破損が修復されたことを示すメッセージが表示されたら、PC を再起動します。次回の起動時に SFC スキャンを再度実行し、問題が解決したかどうかを確認します。
SFC スキャン実行時にもまだ「Windows Resource Protection で破損ファイルを検出しましたが、その一部を修復できませんでした」エラーが発生する場合は、次の方法に進んでください。
方法2:サードパーティ製ウイルス対策ソフトの残留ファイルを削除する(該当する場合)
一部のユーザーの報告によると、この SFC エラーは誤検知によって発生することもあります。最も一般的なのは、アンインストールが不完全だったウイルス対策/セキュリティ ソフトの残留ファイルが原因となるケースです。特に、Avast や McAfee がこの問題の原因として指摘されることが多いようです。
ただし、手動で削除されたウイルス対策ソフトの残骸を取り除くのは簡単ではありません。多くのウイルス対策ソリューションには専用のアンインストーラーが用意されていますが、自分のバージョンに対応するものを見つけるのは必ずしも容易ではありません。
幸い、サードパーティ製ウイルス対策ソフトの種類に関わらず、セキュリティ プログラムを完全にアンインストールするための詳細なガイド記事があります。そちらの記事を参考に、残留ファイルを特定してシステムから完全に削除してください。
残留ファイルを削除したら、PC を再起動し、次回の起動時に SFC スキャンを再度実行します。それでもスキャン終了時に同じエラーが表示される場合は、次の方法に進んでください。
方法3:クリーンブート状態で SFC/DISM スキャンを実行する
上記の2つの方法で SFC エラーが解消しない場合、原因は次のいずれかである可能性が高いです。サードパーティ製アプリケーションの干渉によるものか、あるいは SFC と DISM では対応できない深刻なシステム ファイルの破損が発生しているかのどちらかです。
この方法では、干渉しているサードパーティ製アプリケーションがシステム ファイル チェッカーの動作を妨げているシナリオに対処します。クリーンブートを実行することでサードパーティ製ソフトウェアの干渉を排除し、その状態で上記の2つのユーティリティを再度実行します。
注意: 時間がなく、クリーンブート状態で上記の手順を繰り返す余裕がない場合は、直接方法4に進んでも構いません。ただし、次の方法はやや影響が大きく、選択した操作によっては最低でも一部のユーザー設定が失われる可能性がある点にご留意ください。
クリーンブートとは、最小限のドライバーとスタートアップ プログラムのみでコンピューターを起動することです。これにより、バックグラウンド プログラム、ドライバー、サービス、またはサードパーティ製プログラムが SFC スキャンに干渉しているかどうかを特定できます。
クリーンブートを実行して、サードパーティ製アプリケーションが原因かどうかを確認する手順は以下の通りです。
- Windowsキー + R を押して「ファイル名を指定して実行」ダイアログを開きます。「msconfig」と入力して Enter キーを押すと、システム構成画面が開きます。UAC(ユーザー アカウント制御)の画面が表示されたら、「はい」を選択して管理者権限を付与します。
- システム構成ウィンドウで「全般」タブを開き、「スタートアップのオプションを選択する」を選択します。その下にある「スタートアップの項目を読み込む」のチェックボックスをオフにします。
- 次に「サービス」タブに移動し、「すべての Microsoft サービスを隠す」にチェックを入れます。その後、「すべて無効」ボタンをクリックして、サードパーティ製サービスが次回の起動時に実行されないようにします。
- 「適用」をクリックして現在のブート構成を保存します。再起動を求められたら指示に従ってください。求められない場合は、手動で PC を再起動します。
- PC がクリーンブート状態で再起動したら、Windowsキー + R を押して「ファイル名を指定して実行」ダイアログをもう一度開きます。「cmd」と入力し、Ctrl + Shift + Enter を押して管理者権限のコマンド プロンプトを起動します。
- 管理者権限のコマンド プロンプトで、以下のコマンドを入力して Enter キーを押し、DISM スキャンを再度実行します。
DISM.exe /Online /Cleanup-image /Restorehealth
注意: このコマンドは、破損データの修復に必要なファイルを Windows Update から取得します。そのため、安定したインターネット接続が必要です。
- 処理が完了しても、管理者権限のコマンド プロンプトは閉じないでください。続けて、以下のコマンドを入力して Enter キーを押し、SFC スキャンを実行してエラーが解消されたかどうかを確認します。
sfc /scannow
SFC および DISM の2つのスキャンがサードパーティ製アプリケーションのサービスによって妨げられていた場合、この手順により「Windows Resource Protection で破損ファイルを検出しましたが、その一部を修復できませんでした」エラーは発生しなくなります。
しかし、それでもエラーが発生する場合は、従来の方法では修復できない種類のシステム ファイル破損が発生していることは明らかです。その場合は、最後の方法に進み、Windows コンポーネント全体を置き換えて問題を解決しましょう。
方法4:修復インストールを実行する
ここまでの手順を試しても問題が解決しない場合、次の2つの手順のどちらかでほぼ確実に問題を解決できます。
- クリーン インストール – この手順では、Windows がインストールされているドライブ上のすべての内容が上書きされます。OS 関連のデータだけでなく、個人ファイルや設定(写真、画像、音楽、アプリケーション、ユーザー設定など)もすべて失われます。
- 修復インストール – これは既存の OS インストール環境の上に、同じビルドを再インストールする方式です。個人ファイル、ユーザー設定、インストール済みアプリケーションをすべて保持できるため、クリーン インストールよりもはるかに安全で影響の少ない方法です。
どちらの方法を選ぶ場合でも、それぞれ詳細な手順ガイドを用意しています。個人ファイルを保持し、影響を最小限に抑えたい場合は、修復インストールの手順記事を参照してください。一方、まっさらな状態からやり直したい場合は、クリーン インストールの手順記事を参照してください。
-
Windows 10/11で破損したレジストリを修復する方法【初心者向け完全ガイド】
Windowsのレジストリは、パソコンの各種ファイルや設定に関する情報を一元的に保存する、階層構造のデータベースです。OSやアプリケーションの動作に欠かせない、非常に重要な役割を担っています。 しかし、このレジストリは時に破損することがあります。破損の原因はさまざまで、システムファイルの不具合から悪意のあるマルウェアによる攻撃まで多岐にわたります。幸いなことに、レジストリのトラブルから抜け出すための確実な方法がいくつか存在します。ここでは、それらをひとつずつご紹介していきます。 Windows PCで破損したレジストリを修復する方法 これから紹介する対処法を試す前に、まずは自分が直面して
-
Windows 10で破損したシステムファイルを修復する方法|SFC・DISM・システムの復元を徹底解説
PCの不調の原因は、システムファイルの欠落や破損である可能性があります。この問題により、パソコンが頻繁にフリーズしたりクラッシュを繰り返したり、ブルースクリーン(BSoD)やその他のエラーメッセージが表示されることがあります。しかし、心配はいりません。強力なツールを活用すれば、ご自身でも簡単にこの問題を解決できます。本記事では、Windows 10で破損したファイルをチェックし、システムファイルを修復する方法を詳しくご紹介します。 Windows 10で破損したシステムファイルを修復する方法 方法1:システム ファイル チェッカー(SFC)を使用する SFC(System File Check