2024年最新:「sfc /scannow」で修復できないときの9つの対処法
パソコンの調子が悪いと感じた時に、SFCコマンドを実行すると破損したWindows 11/10/8/7のシステムファイルを自動修復することができます。特別な設定は不要なので、決して使い方は難しくありません。しかし、状況によっては「sfc /scannow」を実行しても、「Windowsリソース保護は要求された操作を実行できませんでした。」 などのメッセージが出て、修復ができなかったことがあります。この記事では、「sfc /scannow」で修復できないときの原因および9つの対処方法をご紹介します。
❓「sfc /scannow」とは? | Windowsに組み込まれている、破損したシステムファイルを修復するツール |
⭕実行方法 | コマンドプロンプトを管理者として実行、sfc /scannowと入力、Enter キーを押す |
❗エラーメッセージ | ►Windowsリソース保護は要求された操作を実行できませんでした。 ►Windows リソース保護により、破損したファイルが見つかりましたが、それらの一部は修復できませんでした。 ...... |
🧡修復できない場合の対処法 | ✎CHKDSKコマンドを実行 ✎DISMコマンドを実行 ✎ICACLSコマンドを実行 ✎セーフモードでsfc /scannowを実行 ✎「Windows Modules Installer」を「自動」に設定 ✎レジストリエディターで「RebootPending」キーを削除 ✎AOMEI Partition Assistantでパーティションをチェック ...... |
「sfc /scannow」とは?
Windows 11/10/8/7を使用していると、何らかの原因でシステムファイルが上書きされたり、破損したりして、動作が不安定になることがあります。こういうときに、「sfc /scannow」コマンドを実行して、システムで保護されているすべてのファイルをスキャンして、誤って上書きされたり、破損したりしたシステムファイルを適切なバージョンに置き換えて修復することができます。
「sfc」とは?
システムファイルチェッカー(SFC.exe)とは、Windowsに標準搭載されているツールです。システムファイル(Windowsを動作させるためのファイル)の整合性をチェックしたり、Windowsのシステムファイルに破損などの異常がないか確認して、修復することができます。管理者モードで起動したコマンドプロンプトやPowerShellで「sfc」と入力することで実行することができます。
チェックの結果は「システムフォルダー¥Logs¥CBS¥CBS.log」に保存されます。検証の実行日時や検証結果、修復に成功したかどうかなどが記録されています。Windows 2000で導入された機能で、以降のWindowsの各バージョンで標準で利用可能となっています。
- システムファイルチェッカーを実行するには、次の点に注意してください。
- パソコンの動作が不安定な場合は、事前にデータのバックアップを行ってください。
- システムファイルチェッカーの実行には、時間がかかります。時間に余裕を持って実行してください。
- コマンドプロンプトを起動する際は、管理者として実行する必要があります。管理者アカウントでサインインしていても、コマンドプロンプトを通常起動した場合は、この操作を実行できません。
- 修復されるのは、Windowsを構成するファイルです。誤って削除してしまったデータや、何らかの原因で消去してしまったデータを復旧する目的でシステムファイルチェッカーを実行しても、失われたデータは復旧されません。
- Windowsが起動できなくなったり、ハードディスク/SSD内の情報に不整合が生じたりするトラブルが起こる可能性があります。実行時、Windowsのインストール用メディアや、インストールファイルの場所の指定が必要になることがあります。
「/scannow」とは?
SFCコマンドの主なオプションとして「/scannow」は、今すぐスキャンと修復を実行することを意味します。「sfc /scannow」を実行すると、保護されているすべてのシステムファイルを今すぐスキャンし、不整合などがあった場合は正しいファイルに置き換えます。
- 補足:システムファイルチェッカーでは、「sfc /scannow」のほかにも、以下のような構文があります。
- 「sfc /scanonce」:次回PC起動時に1回だけsfcを実行します(あとは「sfc /scannow」と同じ)。
- 「sfc /scanboot」:PCを起動する度にsfcを実行します(あとは「sfc /scannow」と同じ)。
- 「sfc /purgecache」:ファイルキャッシュを削除してから「/scannow」と同じスキャンを実行します。
- 「sfc /revert」:スキャン設定を元に戻します(「/scannow」「/scanonce」などを中止)。
- 「sfc /enable」:Windowsファイル保護(WFP)を有効にして、プログラムがWindowsシステムファイルを変更するのを防ぎます。
- 「sfc /verifyonly」:スキャンのみを行い、修復操作は実行されません。
- 「sfc /scanfile=(ファイルの場所)」:特定のファイルのみをスキャンし、破損している場合はファイルを修復します。
- 「sfc /verifyfile=(ファイルの場所)」:特定のファイルのみをスキャンしますが、破損している場合でも修復操作は実行されません。
- 「sfc /offbootdir=(オフライン起動ディレクトリの場所)」:オフライン修復の場合は、オフライン起動ディレクトリの場所を指定します。
- 「sfc /offwindir=(オフラインWindowsディレクトリの場所)」:オフライン修復の場合は、オフラインWindowsディレクトリの場所を指定します。
- ......
- 目的に応じて任意の構文を入力して実行します。
「sfc /scannow」を実行する手順
- Windows Updateに失敗したっぽい
- PCがウィルスに感染したっぽい
- 新しいソフトをインストールしたら調子が悪くなった
これらPC不調の原因が「Windowsのシステムファイルの一部が破損または書き換えられた」ものであった場合、コマンドプロンプトから『sfc /scannow』と入力すればシステムが修復され、意外と簡単に元に戻る可能性があります(※ウイルス感染が原因だった場合、別途ウイルス駆除も必要です)。
Windowsが起動できる場合
Windows 10で「sfc /scannow」を実行するには、以下の操作手順を行ってください。
手順 1. タスクバーの検索ボックスに「cmd」と入力し、検索結果に表示される「コマンドプロンプト」を右クリックし、「管理者として実行」をクリックします。
手順 2. 「管理者:コマンドプロンプト」が表示されたら、「sfc /scannow」を入力し、「Enter」キーを押します。
- ヒント:
- 「sfc」と「/」の間には半角スペースを入力します。
- コマンドプロンプトは、半角英数字で入力します。大文字小文字は区別されません。
- 「SFCユーティリティを使うには、管理者でコンソールセッションを実行していなければなりません。」と表示された場合は、管理者権限で実行できていません。コマンドプロンプトを管理者権限で実行してください。
手順 3. 「システムスキャンを開始しています。…」と表示されたら、システムファイルの整合性チェックが開始されます。スキャン完了までそのまましばらく待ちます。
- ヒント:
- この時、不整合が発見されると、自動的に修復されます。
- チェックには通常1時間程度かかります(SSDの場合は10~20分程度)。
- Windows Updateの巻き戻しはありません。復元ポイントの実行とは違います。
「検証100%が完了しました。」と表示されたら、スキャンが完了です。正常に終了すると「Windowsリソース保護は、整合性違反を検出しませんでした。」というメッセージが出ます。不足または破損しているシステムファイルがないことを意味します。
※「Windowsリソース保護により、破損したファイルが見つかりましたが、それらは正常に修復されました。」と表示されたら、破損したファイルが正常に修復されたことを意味します。
- ヒント:
- XPなど古いOSでは何もメッセージが出ない場合もあります。ログファイルは「%windir%\Logs\CBS」などに格納されています。
- Windows Vista/7/8.1/10の場合、セーフモードで起動して、コマンドプロンプトから「C:\Windows\Logs\CBS\CBS.log」と入力すると、ログの確認ができます。
Windowsが起動できない場合
インストールメディア(USBまたはDVD)やシステム修復ディスクなどで起動している場合には、「/offbootdir」で起動フォルダーを、「/offwindir」でシステムフォルダーを、「/offlogdir」でログファイルのパスを指定することで、ストレージに格納されたWindowsシステムを対象にスキャンと修復を試みることができます。
手順 1. BIOSでUSBメモリまたはDVDから起動するように変更し、インストールメディアから起動します。
手順 2. 最初に言語やキーボードなどを選ぶ初期設定の画面が表示されたら、そのままにして「次へ」をクリックします。
手順 3. 「コンピュータを修復する」をクリックします。
手順 4. 「オプションの選択」画面が表示されたら、「トラブルシューティング」クリックします。「詳細オプション」画面が表示されたら、「コマンドプロンプト」をクリックします。
手順 5. 「sfc /scannow /offbootdir=c:\ /offwindir=c:\windows」と入力し、Enterを押します。
これで「sfc /scannow」によるシステムファイルの修復が完了しました。Windows不調の原因がシステムファイルの破損・不整合だった場合、これで調子は戻るはずです。
「sfc /scannow」で修復ができないときのメッセージ
しかし、「sfc /scannow」を実行しても、以下のようなエラーメッセージが出て、修復ができなかったこともあります。
①「Windowsリソース保護は要求された操作を実行できませんでした。」
🧿原因:一部のシステムファイルをWindowsシステムが利用中の場合があります。
🎯対処法:このメッセージが表示された場合は、PCを再起動すれば修復が可能になります(念のため、セーフモードで起動してから、再度スキャンを実行します)。
②「Windowsリソース保護により、破損したファイルが見つかりましたが、それらの一部は修復できませんでした。」
🧿原因:システムドライブ(Cドライブ)のMFTに異常が発生しているケースがほとんどです。
🎯対処法:このメッセージが表示された場合は、「chkdsk c: /f」で直るかもしれません(例えば、Windows 7)。Windows 8以降は「DISM /Online /Cleanup-image /Restorehealth」が効果的です。
③「保留中のシステムの修復があり、完了するには再起動が必要です。」
👉解決済み:保留中のシステムの修復があり、完了するには再起動が必要です
④「Windowsリソース保護は、修復サービスを開始できませんでした。」
「sfc /scannow」で修復ができないときの対処法
「sfc /scannow」を実行しても、「Windowsリソース保護は要求された操作を実行できませんでした」 などというメッセージが出て修復が出来なかった場合、以下の対処方法を試してみます。
対処法❶:セーフモードで「sfc /scannow」を実行
特定のシステムファイルが利用中のため、修復コマンド「sfc /scannow」が利用できなくなった可能性があります。この場合はセーフモードで起動し直してから、SFCコマンドを再入力することで簡単に解決できます。※Windows 10なら、msconfigからセーフモードに入ることができます。
手順 1. Windowsキー+Rキーを同時に押し、「ファイル名を指定して実行」ダイアログボックスが表示されたら、「名前」の部分に「msconfig」と入力し、「OK」をクリックします。
手順 2. 「システム構成」画面が表示されたら、タブの「ブート」を選択し、「ブートオプション」の「セーフブート」にチェックを入れ、「OK」をクリックします。
手順 3. 以下のようなメッセージが表示されたら、「再起動」をクリックし、パソコンを再起動します。
起動が完了したら、コマンドプロンプトまたはWindows PowerShellを管理者権限で開き、もう一度「sfc /scannow」を実行してみます。
対処法❷:CHKDSKコマンドを実行(Windows 7)
まだ改善しない場合は、エラーが出なくなるまで「chkdsk c: /f」を繰り返してみます。
手順 1. Windowsキー+Rキーを同時に押し、「ファイル名を指定して実行」ダイアログボックスが表示されたら、「名前」の部分に「cmd」と入力し、「OK」をクリックします。
手順 2. コマンドプロンプトで「chkdsk c: /f」と入力し、「Enter」キーを押します。
༼ つ ◕_◕ ༽つ【補足】不良セクタ(バッドセクタ)が修復されない、または不良セクタが検出された場合は、「chkdsk c: /r」を実行してみます。
「chkdsk c: /f」でエラーが出なくなった後、再び「sfc /scannow」を実行してみます。CHKDSKコマンドでエラーが見つからず、「sfc /scannow」でもエラーが修正されない場合は、次の対処方法を試してみます。
対処法❸:DISMコマンドを実行(Windows 10/8.1)
「sfc /scannow」でシステムファイルを修復できないといったトラブルでは、多くの場合ハードディスクのインデックスファイル異常が原因です。このようなトラブルではDISMコマンドを実行することで簡単に解決できることが多いです。次の手順でDISMコマンドを実行してみてください。
- 豆知識:
- DISM.exeとはWindowsのシステムイメージのエラーを確認して、修復してくれるコマンドラインツールです。
- Windows 10の修復が必要なとき、アップデートに失敗したとき、Windowsのイメージファイルを作成するときにDISMを実行すべきです。
- Windows 10のDISMは「C:\Windows\System32」(デフォルトでは隠しフォルダー)にあり、コマンドプロンプトやWindows PowerShellの管理者権限で実行できます。
手順 1. Windowsキー+Rキーを同時に押し、「ファイル名を指定して実行」ダイアログボックスが表示されたら、「名前」の部分に「cmd」と入力し、「OK」をクリックします。
手順 2. コマンドプロンプトで「DISM /Online /Cleanup-image /Restorehealth」と入力し、「Enter」キーを押します。
システムファイルの修復が行われます。完了までしばらく待ちます。DISMコマンドの処理が終わったらSFCコマンドを再度入力し、問題が解決したか確認します。
もし「DISMは、/Onlineオプションを使用したWindows PEサービスをサポートしていません。」といったメッセージが表示されたら、次の対処方法を試してみます。
༼ つ ◕_◕ ༽つ【補足】「保留中のシステムの修復があり、完了するには再起動が必要です。」のようなメッセージが出た場合、「dism.exe /Online /cleanup-image /revertpendingactions」を実行して、c:\windows\winsxs\pending.xmlファイルを削除することで解決できるかもしれません。
- /Onlineは実行中のWindowsに対して行うという指定
- /cleanup-imageは指定したWindowsのイメージに対してきれいにするという指定
- /revertpendingactionsで保留中の何かしらをもとに戻すという指定
対処法❹:ICACLSコマンドを実行
WinSxSフォルダーのアクセス権がおかしいことが原因である場合、icacls.exeを使用してACL(アクセス制御リスト)を表示、修正・変更、バックアップ、復元することができます。
- ファイルやフォルダーに対するアクセス権は、ACL(アクセス制御リスト)で柔軟に制御できます。
- 「WinSxS」フォルダーの場所は「c:\windows\winsxs」となっています。この中には、Windows Updateのサービスパックやセキュリティパッチなど、複数のファイルが保存されていて、過去の更新ファイルでもあります。
- c:\windows\winsxs\のフォルダーはWindowsにとっての重要フォルダーなので管理者権限のコマンドプロンプトでも削除はできません。
手順 1. Windowsキー+Rキーを同時に押し、「ファイル名を指定して実行」ダイアログボックスが表示されたら、「名前」の部分に「cmd」と入力し、「OK」をクリックします。
手順 2. コマンドプロンプトで「ICACLS C:\Windows\winsxs」と入力し、「Enter」キーを押します。
👉icaclsコマンドを使ってファイルアクセス権限を設定する方法
コンピューターを再起動し、「sfc /scannow」再度実行し、問題が解決されたかどうか確認します。
対処法❺:Windows Modules Installerを有効化
Windows Modules Installer(サービス名:TrustedInstaller)はSFCコマンドを実行するために必要なシステムサービスです。通常はデフォルトで有効になっていますが、何らかの要因でこのサービスが無効になっている(正常に稼働していない)可能性が考えられます。次の手順で確認し、また必要に応じて設定を手動で変更してください。
方法①:サービス管理ツール(services.msc)で設定
手順 1. Windowsキー+Rキーを同時に押し、「ファイル名を指定して実行」ダイアログボックスが表示されたら、「名前」の部分に「services.msc」と入力し、「OK」をクリックします。
手順 2. 「サービス」一覧画面が表示されたら、サービスリストの中から「Windows Modules Installer」の項目を探して、右クリックします。
手順 3. 右クリックメニューが表示されたら、「プロパティ」を選択します。
手順 4. 「Windows Modules Installerのプロパティ」画面が表示されたら、「全般」タブ内の「スタートアップの種類」項目を確認し、設定が「自動」になっていることを確認します。「無効」など、別の設定が指定されている場合は「自動」に変更して「適用」⇒「OK」ボタンを押して設定を変更します。
- 各起動設定の内容は以下の通り:
- 自動(延滞開始)・・・・・他の自動起動サービスが全て起動されてから起動されます。
- 自動・・・・・Windows起動時に自動で起動されます。
- 手動・・・・・自動では起動されませんが、手動あるいは他のサービスなどから起動することが可能です。
- 無効・・・・・自動起動されません。手動でも起動できません。
- 自動(トリガー)・・・・・Windows 起動時に自動起動されますが、役目が終了したら自動的に停止します。
- 手動(トリガー)・・・・・他のサービスなどから起動されますが、役目が終了したら自動的に停止します。
方法②:コマンドプロンプト(cmd.exe)で設定
手順 1. Windowsキー+Rキーを同時に押し、「ファイル名を指定して実行」ダイアログボックスが表示されたら、「名前」の部分に「cmd」と入力し、「OK」をクリックします。
手順 2. コマンドプロンプトで「sc config trustedinstaller start= auto」⇒「net start trustedinstaller」コマンドと入力し、「Enter」キーを押します。
Windows Modules Installerを有効にした後、パソコンを再起動してから、もう一度SFCコマンドを実行し、問題が解決したか確認します。
対処法❻:RebootPendingキーを削除
ファイルエクスプローラーを開き、c:\windows\winsxs\のフォルダーからpending.xmlファイルを探します。見つかったら、その名前を変更するか、ファイルを削除してください。削除後、PCを再起動し、システムファイルチェッカーツールを実行して、エラーが解決されるかどうかを確認します。
pending.xmlファイルを削除しても解決しない場合は、RebootPendingキーを削除して、保留中の再起動情報を削除し、システムがシステムファイルチェッカーツールを実行できるようにすることができます。
手順 1. Windowsキー+Rキーを同時に押し、「ファイル名を指定して実行」ダイアログボックスが表示されたら、「名前」の部分に「regedit」と入力し、「OK」をクリックします。
手順 2. レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RebootPendingのパスをたどります。
手順 3. 「RebootPending」キーを右クリックし、表示されるメニューから「削除」を選択します。
その後、パソコンを再起動してから、もう一度SFCコマンドを実行し、問題が解決したか確認します。
対処法❼:AOMEI Partition Assistantでパーティションをチェック(簡単)
「sfc /scannow」で破損したWindows 11/10/8/7のシステムファイルを修復できない場合は、優れたパーティション管理フリーソフト「AOMEI Partition Assistant」の「パーティションをチェック」機能を試してみることができます。
AOMEI Partition Assistantを使用すれば、パーティションのサイズを変更、パーティションを移動、「ディスクの管理」の「ボリュームの拡張」機能がグレーで表示される問題を解決、未割り当て領域をDドライブなどへ追加することができます。さらに、「ディスククローン」「重複ファイルファインダー」「データ復元」など、より強力な機能を使用することができます。
手順 1. AOMEI Partition Assistantをダウンロードし、インストールし、起動します。
手順 2. チェックするパーティションを右クリックし、「詳細処理」の「パーティションをチェック」を選択します。
手順 3. エラーをチェックする方式を選択し、「はい」をクリックします。ここでは「chkdsk.exeを実行してパーティションのエラーをチェックし、修正します」を選択しましょう。
༼ つ ◕_◕ ༽つ【補足】ディスクの不良セクタをチェックしたい場合は、チェックするディスクを選択し、ツールバーの「テスト」⇒「不良セクタをチェック」をクリックします。
対処法❽:ハードウェアに異常がないか確認
メモリなどのハードウェア故障の可能性も考えられます。試用期間の長いパソコンなど、心当たりがあるようであればパソコンの修理サポートの利用やパーツ交換などもご検討ください。
対処法❾:システムを復元
上記の方法で解決しない場合はWindowsシステムそのものを初期化してしまうのが最も確実な方法になります。パソコンを完全に初期化しなくても、復元ポイントが作成されている場合はそれを利用して問題が発生する以前の状態にシステムを戻すことができます。
Windows 10でシステムの復元を使用してパソコンを以前の状態に戻すには、以下の操作手順を行ってください。
手順 1. タスクバーの検索ボックスに「システムの復元」と入力し、検索結果に表示される「復元ポイントの作成」をクリックします。
手順 2. 「システムのプロパティ」が表示されたら、「システムの保護」タブをクリックし、「システムの復元」欄から「システムの復元」をクリックします。
手順 3. 「システムの復元」が表示されたら、 「次へ」をクリックします。
手順 4. 日付と説明などにより、復元したい項目(復元したい日時の復元ポイント)を選択して、「次へ」をクリックします。
手順 5. 「復元ポイントの確認」画面が表示されるので、問題がなければ「完了」をクリックします。
手順 6. 「いったんシステムの復元を開始したら・・」というメッセージ画面が表示されます。そこで、「はい」を選択すると、システム復元の処理実行が始まります。
システムの復元が利用できない場合や、復元しても問題が解決しない場合は初期化するかWindowsのクリーンインストールを行います。
まとめ
「sfc /scannow」(システムファイルチェッカー)はとても便利なツールです。Windows 11/10/8/7の調子が悪くなった場合、sfcコマンドを実行するだけで解決できることは少なくなりません。今回は、「sfc /scannow」で不足または破損しているシステムファイルを修復できない時のエラーメッセージ、原因や9つの対処法などについて紹介しました。
その中でAOMEI Partition Assistantを利用して、パーティションをチェックすることをお勧めします。パソコン初心者でも、「sfc /scannow」コマンドを実行せず(「Windowsリソース保護は要求された操作を実行できませんでした」「Windowsリソース保護により、破損したファイルが見つかりましたが、それらの一部は修復できませんでした」「保留中のシステムの修復があり、完了するには再起動が必要です」「Windowsリソース保護は、修復サービスを開始できませんでした」などのエラーメッセージが出ず)、不足・破損しているシステムファイルを簡単かつ高速に修復することができます。