更新履歴 [ 全て表示戻す ]
2016.10.03:「ファイルの修復ができない場合」の項目をWindows 10/8.1にも対応。

2014.03.01: 一部コマンドに表記ミスがあったのを訂正。URL移転したリンクの修正。
2010.12.18: 初出


  1. Windows Updateに失敗したっぽい。
  2. PCがウィルスに感染したっぽい。
  3. 新しいソフトをインストールしたら調子が悪くなった。

これらPC不調の原因が「Windowsのシステムファイルの一部が破損または書き換えられた」ものであった場合、コマンドプロンプトから『sfc /scannow』と入力すればシステムが修復され、意外と簡単に元に戻る可能性があります。(ウイルス感染が原因だった場合、別途ウイルス駆除も必要です。)

実行手順

以下手順解説はWindows7を利用しています。XP等でも手順に大きな違いはありません。
Windows 10/8.1などでも、このコマンドは有効です。

コマンドプロンプト
▲クリックで拡大: コマンドプロンプトを起動させます。
(10/8.1/7/Vistaでは管理者権限で実行する必要あり)
(管理者権限のWindows PowerShell を利用してもOKです)

sfc /scannow
sfc /scannowと入力

 

スキャン中・・・
▲クリックで拡大: システムファイルの整合性チェックが開始されました。

  ・この時不整合が発見されると、自動的に修復されます。
  ・修復の際にインストールディスクが必要になる場合もあります。
  ・Windows Updateの巻き戻しはありません。復元ポイントの実行とは違います。
  ・チェックには通常1時間程度かかります
   (SSDの場合は10~20分程度)

 

チェック終了
▲クリックで拡大: 正常に終了するとこのようなメッセージが出ます。
 (画面はWindows7のもの。)
XPなど古いOSでは何もメッセージが出ない場合もあります。
ログファイルは%windir%\Logs\CBS等に格納されています。
Windows Vista/7/8.1/10の場合セーフモードで起動してコマンドプロンプトから
C:\Windows\Logs\CBS\CBS.log
と入力するとログの確認が出来ます。
他OSの場合は後述のOS別リンク先を参考に確認して下さい。

これでsfcによるシステムファイルの修復が完了しました。Windows不調の原因がシステムファイルの破損・不整合だった場合、これで調子は戻るはずです。

スポンサー リンク

sfc /scannowでファイルの修復ができない場合

sfc /scannow を実行しても、「Windowsリソース保護は要求された操作を実行できませんでした。」 などというメッセージが出て修復が出来なかった場合、以下の対処方法を試してみます。

  • エラーメッセージと原因および対策
    • エラーメッセージ
      Windows リソース保護により、破損したファイルが見つかりましたが、それらの一部は修復できませんでした
      • システムドライブ(Cドライブ)のMTFに異常が発生しているケースがほとんど。
      • この場合は「chkdsk c: /f」でなおる。
      • Windows8以降は「DISM /Online /Cleanup-image /Restorehealth」が効果的。
    • エラーメッセージ
      Windowsリソース保護は要求された操作を実行できませんでした。
      • 一部のシステムファイルをWindowsシステムが利用中の場合がある。
      • この場合はPC再起動すれば修復可能になる
        (念のためセーフモードで起動する)
  • Windows 7
    • セーフモードで起動して、もう一度「sfc /scannow」を実行してみる。
    • まだ改善しない場合は、エラーが出なくなるまで「chkdsk c: /f」を繰り返してみる。
    • バッドセクタ修復されない、またはバッドセクタが検出された場合は「chkdsk c: /r」を実行してみる。(ディスクへの負担が大きく、最悪の場合ストレージが壊れる危険性もあるので覚悟が必要)
    • 「chkdsk c: /f」でエラーが出なくなった後、再び「sfc /scannow」を実行してみる。
    • chkdskでエラーが見つからず、「sfc /scannow」でもエラーが修正されない場合は、Microsoftの このページ下段の内容(手動のファイルの置き換え)を実行してみる。
  • Windows 10/8.1
    • まず「DISM /Online /Cleanup-image /Restorehealth」を実行してみる。
      • 「操作は正常に完了しました」とメッセージが出ればOK。
        再度「sfc /scannow」を実行してみる。
      • 大抵の場合、ここまでの対処で修復できる。
    • 「DISM /Online /Cleanup-image /Restorehealth」もエラーが出る場合

sfcのオプション

オプション無しで「sfc」のみ入力すると、sfcの各種オプションの説明が表示されます。
sfcのオプション
▲クリックで拡大: こんな感じ

  • sfc /scannow 
    すぐに実行される。保護されている全てのシステムファイルをスキャン。不整合などがあった場合は正しいファイルに置き換える。
  • sfc /scanonce
    次回PC起動時に1回だけ実行。あとは上記scannowと同じ。
  • sfc /scanboot
    PCを起動する度にsfcを実行。あとは上記scannowと同じ。
  • sfc /revert
    スキャン設定を元に戻す。上記scanonce、scanonceなどを中止。
  • sfc /purgecache 
    ファイルキャッシュを削除してからscannowと同じスキャンを実行。

sfcコマンドとWFP

  • WFP (Windowsファイル保護機能 Windows File Protection)
    プログラムによって重要な Windows システム ファイルが置き換えられないように保護する機能。詳細 → Windowsファイル保護機能について(Microsoft)
  • sfc (システム ファイルチェッカー ツール)
    不足しているシステムファイルや破損しているシステム ファイルをスキャンして、それらを修復するツール。詳細 → XP/2003のSFC Vista/7のSFC1 Vista/7のSFC2 (Microsoft)

Windows2000以降にはWFPというシステムを保護する機能が搭載されており、通常はシステムファイルに変更があっても自動的に修復されます。
Windows Updateの失敗やウィルス侵入など、なんらかの理由でシステムファイルに不整合が起きた場合でも、 sfc.exe を実行させる事により自動的に修復する事が可能です。

あとがき

今回の自分のPC不調とは関係なかった。