今回は、Windows 10/11 に標準搭載されている「システムファイルチェッカー」を使って、システムファイルを修復する方法を説明します。
システムファイルが破損すると起こる問題
システムファイルが破損すると、以下のような問題が発生する可能性があります。
- Windows の動作が遅くなる
- アプリケーションが開けなくなる
- システムエラーが発生する
- ブルースクリーンが表示される
システムファイルが破損する原因
システムファイルが破損する原因は様々ですが、主な原因としては以下のようなものが挙げられます。
- ウイルス感染
- アプリケーションの不具合
- システム自体の不具合
- Windows Update による不具合
- ハードディスクの不良セクタ
システムファイルチェッカーとは
「システムファイルチェッカー」は、すべての保護されたシステムファイルの整合性をスキャンし、間違ったバージョンを正しい Microsoft バージョンに置き換えてくれます。
システムの不具合や設定ツールなどが開けなくなった場合、システムファイルの修復を行うことで解決できる場合があります。
※システムが原因不明で異常に遅くなった場合に「システムファイルチェッカー」を実行すると解決できる場合があります。
「システムファイルチェッカー」を使う前に Windows イメージの修復を推奨
Microsoft は、「システムファイルチェッカー」を使う前に Windows イメージの修復をすることを推奨しています。
Windows イメージの修復は、Windows のシステムイメージ全体を対象に、破損したファイルを検出して修復します。
1.スタートボタンを右クリックし、「ターミナル(管理者)」を開きます。
2.「ユーザーアカウント制御」が表示されたら「はい」をクリックします。
3.次のコマンドを入力して Enter を押します。
DISM.exe /Online /Cleanup-image /Restorehealth
4.イメージの修復が開始しますので、修復が終わるまで待ちましょう。(少々時間がかかります)
「復元操作は正常に完了しました。」と表示されたら、Windows PowerShell を終了し、「システムファイルチェッカー」を実行してください。
Windows イメージの修復の際に 62.3% で停止することがあります。環境により止まる時間は違いますが、止まった場合は、最低 1時間ほど待ってみましょう。
※止まる時間は、WinSxS フォルダーの大きさも関係しているようです。
このときに「Windows Modules Installer Worker」というプロセスが動いています。このプロセスは、Windows Updateに関連する様々な作業を行うシステムプロセスです。
タスクマネージャーの「プロセス」タブを確認し、「Windows Modules Installer Worker」が実行されているのであれば、修復作業は行われていますので、途中で Windows PowerShell を終了することはおすすめしません。
また、しばらくすると Windows Update サービスや System というプロセスのハードディスクの使用率が高くなる場合があります。
これは、修復作業が進んでいるということです。
エラー: 0x800f081f 「ソース ファイルが見つかりませんでした。」と表示された場合
Windows イメージの修復を実行して処理が 100% になるが、エラー: 0x800f081f 「ソース ファイルが見つかりませんでした。」と表示されることがあります。
その場合は、WinSxS フォルダーのクリーンアップを実行してみましょう。
1.次のコマンドを入力して Enter を押します。
dism /online /cleanup-image /startcomponentcleanup
2.「操作は正常に完了しました。」と表示されたらクリーンアップ完了です。
3.再度 Windows イメージの修復を実行してみましょう。
「システムファイルチェッカー」を使って、システムファイルを修復する方法
システムファイルの修復を実行する際の注意事項
システムファイルの修復を実行する前に、お使いのセキュリティソフトでシステムフォルダー(Cドライブにある Windows フォルダー)のウイルスチェックを行うことをおすすめします。
※ウイルスに感染した状態で「システムファイルチェッカー」を実行すると、システムに異常が出る可能性があります。
「システムファイルチェッカー」は、
- コマンドプロンプト(推奨)
- タスクマネージャー
- ファイル名を指定して実行
のいずれかから実行することができます。
1.「コマンドプロンプト」で「システムファイルチェッカー」を実行する(推奨)
1.コマンドプロンプトを管理者として実行し、次のコマンドを入力して Enter を押します。
sfc /scannow
2.システムのスキャンが始まりますので、しばらくお待ちください。

3.スキャンが終わると、次のように表示されます。

※上の画像では破損したファイルが見つかったため、「破損したファイルが見つかりましたが、それらは正常に修復されました。」と表示されています。
4.これでシステムファイルは修復されましたので、PC を再起動しましょう。
2.「タスクマネージャー」から「システムファイルチェッカー」を実行する
Windows 10 の場合
1.タスクマネージャーを開き、上のメニューの「ファイル」をクリックします。

2.「新しいタスクの実行」をクリックします。

3.「このタスクに管理者特権を付与して作成します。」にチェックを入れ、次のコマンドを入力して Enter を押すとシステムのスキャンが始まります。
sfc /scannow

※システムのスキャン完了後、コマンドプロンプトは自動で閉じます。
Windows 11 の場合
1.タスクマネージャーを開き、プロセスタブを選択して「新しいタスクを実行する」をクリックします。

2.「このタスクに管理者特権を付与して作成します。」にチェックを入れ、次のコマンドを入力して Enter を押すとシステムのスキャンが始まります。
sfc /scannow

※システムのスキャン完了後、コマンドプロンプトは自動で閉じます。
3.「ファイル名を指定して実行」から「システムファイルチェッカー」を実行する
1.Windowsキー + R を押して「ファイル名を指定して実行」を開き、次のコマンドを入力します。
sfc /scannow
2.キーボードの Ctrl + Shift を押しながら Enter を押します。
3.「ユーザーアカウント制御」が表示されますので、「はい」をクリックするとシステムのスキャンが始まります。

※システムのスキャン完了後、コマンドプロンプトは自動で閉じます。
「システムファイルチェッカー」のスキャン結果のメッセージの意味
スキャン結果のメッセージ | 意味 |
---|---|
Windows リソース保護は、整合性違反を検出しませんでした。 | システムファイルが見つからなかった、または破損していない。 |
Windows リソース保護は要求された操作を実行できませんでした。 | このメッセージが表示された場合は、セーフモードで PC を起動し、「システムファイルチェッカー」を実行してください。 ※実行する前に、%WinDir%\WinSxS\Temp の下に PendingDeletes フォルダーと PendingRenames フォルダーが存在することを確認してください。 %WinDir% とは、OS のインストールされているドライブ下にある「Windows」フォルダー(通常は C:\Windows)を意味します。 |
Windows Resource Protection で破損したファイルが見つかり、正常に修復されました。 | メッセージの通り、破損したファイルが見つかり、正常に修復されました。 |
Windows Resource Protection で破損したファイルが見つかりましたが、その一部を修正できませんでした。 | メッセージの通り、破損したファイルが見つかりましたが、その一部を修正できませんでした。 何らかの理由により、破損したファイルを置き換えることができない場合があります。 その場合は、手動で置き換えるという高度な方法がありますが、Windows が起動できなくなったり、正常に動作しなくなるというリスクを伴うため、おすすめしません。 |
「システムファイルチェッカー」の処理の詳細を表示する方法
「システムファイルチェッカー」の処理の詳細を表示するには、コマンドプロンプトを管理者として開き、次のどちらかのコマンドを入力して Enter を押します。
1.コマンドプロンプトの画面に表示する
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log
このコマンドを実行すると、処理の詳細をコマンドプロンプトの画面に直接表示します。
2.デスクトップにテキストファイルとして保存する
このコマンドを実行すると、処理の詳細をテキストファイル(sfcdetails.txt)に変更してデスクトップに保存します。
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"
保存されたファイルを開いて内容を確認してください。
※修復できなかったファイルがあった場合は次のように表示されます。
2007-01-12 12:10:42, Info CSI 00000008 [SR] Cannot repair member file [l:34{17}]”Accessibility.dll” of Accessibility, Version = 6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral, VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type neutral, TypeName neutral, PublicKey neutral in the store, file is missing
Microsoft
コメント