2016.10.03:「ファイルの修復ができない場合」の項目をWindows 10/8.1にも対応。
2014.03.01: 一部コマンドに表記ミスがあったのを訂正。URL移転したリンクの修正。
2010.12.18: 初出
- Windows Updateに失敗したっぽい。
- PCがウィルスに感染したっぽい。
- 新しいソフトをインストールしたら調子が悪くなった。
これらPC不調の原因が「Windowsのシステムファイルの一部が破損または書き換えられた」ものであった場合、コマンドプロンプトから『sfc /scannow』と入力すればシステムが修復され、意外と簡単に元に戻る可能性があります。(ウイルス感染が原因だった場合、別途ウイルス駆除も必要です。)
実行手順
以下手順解説はWindows7を利用しています。XP等でも手順に大きな違いはありません。
Windows 10/8.1などでも、このコマンドは有効です。
▲クリックで拡大: コマンドプロンプトを起動させます。
(10/8.1/7/Vistaでは管理者権限で実行する必要あり)
(管理者権限のWindows PowerShell を利用してもOKです)
▲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」を実行してみる。 - 大抵の場合、ここまでの対処で修復できる。
- 「操作は正常に完了しました」とメッセージが出ればOK。
- 「DISM /Online /Cleanup-image /Restorehealth」もエラーが出る場合
- Windows10/8.1の調子が悪い時に行う本格的なPCメンテナンス
↑このページの内容を実行してみる。
- Windows10/8.1の調子が悪い時に行う本格的なPCメンテナンス
- まず「DISM /Online /Cleanup-image /Restorehealth」を実行してみる。
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不調とは関係なかった。