Windows 11やWindows 10を長期間利用していると、OSの動作が重くなったり、特定のアプリケーションが突然終了したりといったトラブルに遭遇することがあります。
これらの不具合の原因の一つとして、OSを構成する重要な「システムファイル」の破損や欠落が考えられます。
システムファイルが正しく機能していない状態では、設定の変更が反映されなかったり、最悪の場合はブルースクリーンが発生してPCが起動しなくなったりする恐れがあります。
このような状況を解決するために、Windowsには標準で「SFC(System File Checker)」という強力な修復ツールが備わっています。
この記事では、コマンドプロンプトを使用してシステムファイルをスキャンし、破損箇所を自動的に修復する手順について詳しく解説します。
システムファイルチェッカー(SFC)の役割と重要性
Windowsのシステムファイルは、OSが安定して動作するために不可欠なプログラム群です。
しかし、予期せぬシャットダウンやディスクの読み込みエラー、あるいは一部のソフトウェアのインストールによって、これらのファイルが書き換えられたり破損したりすることがあります。
SFCコマンドで何ができるのか?
SFC(System File Checker)は、Windowsのシステムファイルが正しい状態であるかどうかを検証するツールです。
このコマンドを実行すると、システム内のすべての保護されたファイルをスキャンし、現在のバージョンとマイクロソフトが提供する正しいバージョンを照合します。
もし不一致や破損が見つかった場合、あらかじめ用意されているキャッシュコピーから正しいファイルを復元し、システムを正常な状態へ戻そうと試みます。
ユーザーが手動でどのファイルが壊れているかを探す必要はなく、コマンド一つで自動的に診断と修復が行われるのが最大の特徴です。
実行が必要なタイミングと予兆
以下のような症状が発生している場合は、システムファイルの破損を疑い、SFCコマンドを実行することをおすすめします。
- Windowsの起動や動作が異常に遅くなったと感じる場合。
- スタートメニューやタスクバーが正しく反応しない場合。
- 特定のシステムエラーメッセージが頻繁に表示される場合。
- Windows Updateがエラーで失敗し続ける場合。
- PCが突然フリーズしたり、再起動を繰り返したりする場合。
これらの問題は、ハードウェアの故障ではなく、ソフトウェア的なファイルの不整合によって引き起こされている可能性が高いと言えます。
SFCコマンドを実行するための準備
SFCコマンドはシステムの深部にアクセスするため、実行には特別な権限が必要です。
通常の権限でコマンドプロンプトを起動しても、修復作業を行うことはできません。
コマンドプロンプトを「管理者」として実行する
まず、Windowsの検索バー(スタートボタンの横)をクリックします。
検索ボックスに「cmd」または「コマンドプロンプト」と入力してください。
検索結果に表示された「コマンドプロンプト」を右クリックし、「管理者として実行」を選択します。
ユーザーアカウント制御(UAC)の確認画面が表示された場合は、「はい」をクリックして進みます。
画面に「管理者: コマンドプロンプト」と表示されていれば、準備は完了です。
SFCコマンドの基本的な使い方とオプション
SFCコマンドにはいくつかのオプションがありますが、最も一般的で効果的なのは「scannow」オプションです。
システム全体の修復:sfc /scannow
システム全体をスキャンし、見つかった問題を即座に修復するには、以下のコマンドを入力してEnterキーを押します。
sfc /scannow
このコマンドを実行すると、システムスキャンが開始されます。
システム スキャンを開始しています。これにはしばらく時間がかかります。
システム スキャンの検証フェーズを開始しています。
検証 100% が完了しました。
スキャンにはPCのスペックやストレージの状態により、10分から数十分程度の時間がかかることがあります。
スキャン中は他の作業を行うことも可能ですが、システムへの負荷を抑えるため、極力PC操作を控えるのが理想的です。
特にスキャンの進行状況が途中で止まっているように見えても、内部では処理が継続されているため、ウィンドウを閉じずに待機してください。
検証のみを行う:sfc /verifyonly
ファイルの修復は行わず、破損があるかどうかだけを確認したい場合は、以下のコマンドを使用します。
sfc /verifyonly
このコマンドは、現状を把握したいだけで、勝手にファイルを書き換えられたくない場合に適しています。
特定のファイルを修復する:sfc /scanfile
もし、特定のファイルが破損していることがわかっている場合は、そのファイルだけを指定してスキャンすることが可能です。
sfc /scanfile=C:\windows\system32\example.dll
これにより、システム全体をスキャンする時間を短縮できますが、通常は /scannow で全体をチェックするのが確実です。
スキャン結果の読み方と対処法
スキャンが終了すると、コマンドプロンプトに結果が表示されます。
表示されるメッセージによって、その後の対応が異なります。
| 表示されるメッセージ | 意味と推奨されるアクション |
|---|---|
| Windows リソース保護は、整合性違反を検出しませんでした。 | システムファイルに問題は見つかりませんでした。OSの不具合は別の要因が考えられます。 |
| Windows リソース保護により、破損したファイルが見つかりましたが、それらは正常に修復されました。 | 破損が見つかりましたが、自動修復に成功しました。PCを再起動して動作を確認してください。 |
| Windows リソース保護により、破損したファイルが見つかりましたが、それらの一部を修正できませんでした。 | 修復に失敗しました。後述するDISMコマンドの実行が必要です。 |
| Windows リソース保護は要求された操作を実行できませんでした。 | セーフモードで再試行するか、ディスクエラーをチェックする必要があります。 |
整合性違反を検出しませんでした
この結果が出た場合、少なくとも主要なシステムファイルに破損はありません。
もしPCの不調が続いているのであれば、ドライバの不具合、インストールされているアプリの競合、あるいはハードウェア(SSD/HDDやメモリ)の物理的なトラブルを疑う必要があります。
破損したファイルが見つかり、正常に修復されました
このメッセージが表示されたら、最も理想的な解決です。
システムが正しい状態に戻ったため、一度Windowsを再起動して、発生していた問題が解消されているか確認してください。
破損したファイルが見つかったが、一部を修正できませんでした
SFCコマンドが修復に使用する「参照用ファイル」自体が破損している場合、SFC単体では修復できません。
この場合、インターネット経由でWindows Updateのサーバーから正しいファイルをダウンロードして修復を行う「DISMコマンド」を併用する必要があります。
SFCで修復できない場合の高度な対処法:DISMコマンド
SFCが「修復できませんでした」と報告した場合、システムイメージそのものが損傷している可能性があります。
DISM(Deployment Image Servicing and Management)は、Windowsのイメージを管理・修復するためのより強力なツールです。
DISMコマンドとは?
DISMは、Windows Updateを利用して、ローカルにある破損したシステムイメージをクリーンな状態に書き換えることができます。
SFCとDISMは補完関係にあり、DISMでイメージを正常化してからSFCを実行することで、ほとんどのシステムエラーを解消できます。
DISMの実行手順
管理者権限のコマンドプロンプトで、以下の3つのステップを順に実行するのが最も確実です。
1. 現在の状態をチェックする(時間はかかりません)。
Dism /Online /Cleanup-Image /CheckHealth
2. 修復が必要かどうか詳細にスキャンする(数分かかります)。
Dism /Online /Cleanup-Image /ScanHealth
3. 実際に修復を実行する(最も重要です)。
Dism /Online /Cleanup-Image /RestoreHealth
「RestoreHealth」の実行にはインターネット接続環境が必要です。
実行中、進行状況が20%や40%で長時間止まることがありますが、そのまま完了を待ってください。
「復元操作は正常に完了しました」と表示されたら、再度 sfc /scannow を実行してください。
DISMで土台を直した後にSFCを行うことで、先ほど修復できなかったファイルが正常に直るようになります。
修復ログ(CBS.log)の確認方法
具体的にどのファイルが壊れていたのか詳しく知りたい場合は、Windowsが生成するログファイルを確認します。
ログファイルは C:\Windows\Logs\CBS\CBS.log に保存されていますが、非常に巨大なテキストファイルであるため、そのまま開くと内容の特定が困難です。
必要な情報だけを抽出するために、コマンドプロンプトで以下のコマンドを実行し、デスクトップに情報を出力させてみましょう。
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfclog.txt"
これにより、デスクトップに「sfclog.txt」というファイルが作成されます。
このファイルを開くと、SFCがチェックしたファイルの一覧と、修復の成否が記録されています。
セーフモードでのSFC実行
通常のWindows起動状態では、特定のファイルがバックグラウンドで常に使用されているため、SFCによる書き換えが拒否されることがあります。
もし /scannow が途中でエラーになる場合は、Windowsを「セーフモード」で起動してから再度試してみてください。
セーフモードは、最小限のドライバとサービスのみで動作するため、ファイル競合が発生しにくく、修復の成功率が高まります。
設定アプリの「システム」>「回復」>「PCの起動をカスタマイズする」から再起動し、トラブルシューティングメニューからセーフモード(コマンドプロンプト)を選択してください。
まとめ
Windowsのシステムファイル破損は、PCのパフォーマンス低下や予期せぬエラーの大きな原因となります。
コマンドプロンプトから実行できる「sfc /scannow」は、非常にシンプルでありながら、OSの根幹を修復できる優れたツールです。
PCの調子が悪いと感じたときは、まずこのコマンドを実行する習慣をつけると良いでしょう。
万が一SFCで解決できない場合でも、DISMコマンドを併用することで、より確実にシステムを正常な状態へ復元することが可能です。
定期的なメンテナンスの一環として、これらのコマンドを覚えておくことで、Windowsトラブルへの対応力が格段に向上します。
最後に、修復作業を行う前には、重要なデータのバックアップを取っておくことも忘れないようにしてください。
