MENU

Win10/Win11 システムファイルの修復「システムファイルチェッカー」

今回は、Windows 10/11 に標準搭載されている「システムファイルチェッカー(SFC)」を使って、システムファイルを修復する方法を説明します。

システムファイルが破損すると起こる問題

システムファイルが破損すると、以下のような問題が発生する可能性があります。

  • Windows の動作が遅くなる
  • アプリケーションが開けなくなる
  • システムエラーが発生する
  • ブルースクリーンが表示される
  • Windows が起動できなくなる
  • Windows Update の実行時にエラーが出る

システムファイルが破損する原因

システムファイルが破損する原因は様々ですが、主な原因としては以下のようなものが挙げられます。

  • ウイルス感染
  • アプリケーションの不具合
  • システム自体の不具合
  • Windows Update による不具合
  • ハードディスクの不良セクタ
目次

システムファイルチェッカー(SFC)とは

「システムファイルチェッカー(SFC)」は、すべての保護されたシステムファイルの整合性をスキャンし、間違ったバージョンを正しい Microsoft バージョンに置き換えてくれます。

システムの不具合や設定ツールなどが開けなくなった場合、システムファイルの修復を行うことで解決できる場合があります。

sfc コマンド一覧
sfc コマンド一覧

※システムが原因不明で異常に遅くなった場合に「システムファイルチェッカー」を実行すると解決できる場合があります。

システムファイルチェッカーを実行する前に Windows イメージの修復(DISM)を推奨

Windows のシステム不具合を修復する際、Microsoft はまず DISMコマンド を実行し、その後にシステムファイルチェッカー(SFC)を実行することを推奨しています。

なぜなら、SFC は、修復作業を行う際に、DISM が管理する「Windowsイメージ」という、いわば「修復用の予備パーツ倉庫」を参照するからです。

もし、その倉庫にある予備パーツ自体が破損していたら、SFC は正常な修復を行うことができません。

そのため、

  1. まず DISM コマンドで、倉庫にある予備パーツが完璧な状態であることを確認・修復し、
  2. その上で、SFC を使って、PC 本体のシステムファイルを修理する。

この順番で実行することが、システムの不具合を最も確実、かつ根本的に解決するための、正しい手順なのです。

1.スタートボタンを右クリックし、「ターミナル(管理者)」を開きます。

2.「ユーザーアカウント制御」が表示されたら「はい」をクリックします。

ユーザーアカウント制御
ユーザーアカウント制御

3.次のコマンドを入力して Enter を押します。

DISM.exe /Online /Cleanup-image /Restorehealth

【完全解説】DISMコマンドとは?起動しないWindows 11を修復する全手順

4.イメージの修復が開始しますので、修復が終わるまで待ちましょう。(少々時間がかかります)

Windows PowerShell
Windows PowerShell

「復元操作は正常に完了しました。」と表示されたら、Windows PowerShell を終了し、「システムファイルチェッカー」を実行してください。

Windows PowerShell
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 「ソース ファイルが見つかりませんでした。」と表示されることがあります。

Windows PowerShell
Windows PowerShell

その場合は、WinSxS フォルダーのクリーンアップを実行してみましょう。

「WinSxS」フォルダーについて

1.次のコマンドを入力して Enter を押します。

dism /online /cleanup-image /startcomponentcleanup
Windows PowerShell
Windows PowerShell

2.「操作は正常に完了しました。」と表示されたらクリーンアップ完了です。

Windows PowerShell
Windows PowerShell

3.再度 Windows イメージの修復を実行してみましょう。

「システムファイルチェッカー(SFC)」の実行方法

システムファイルの修復を実行する際の注意事項

システムファイルの修復を実行する前に、お使いのセキュリティソフトでシステムフォルダー(Cドライブにある Windows フォルダー)のウイルスチェックを行うことをおすすめします。

※ウイルスに感染した状態で「システムファイルチェッカー」を実行すると、システムに異常が出る可能性があります。

「システムファイルチェッカー」は、

  • コマンドプロンプト(推奨)
  • タスクマネージャー
  • ファイル名を指定して実行

のいずれかから実行することができます。

1.「コマンドプロンプト」で「システムファイルチェッカー」を実行する(推奨)

1.コマンドプロンプトを管理者として実行し、次のコマンドを入力して Enter を押します。

コマンドプロンプトの開き方を見る

1.Windowsキー + R を押して「ファイル名を指定して実行」を開きます。

2.「cmd」と入力します。

ファイル名を指定して実行
ファイル名を指定して実行

3.Shiftキー + Ctrlキーを押しながら Enter を押してください。

キーボード
キーボード

管理者権限が不要な場合は Enter のみで構いません。

4.「ユーザーアカウント制御」が表示されたら「はい」をクリックします。

ユーザーアカウント制御
ユーザーアカウント制御
sfc /scannow

2.システムのスキャンが始まりますので、しばらくお待ちください。

コマンドプロンプト
コマンドプロンプト

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

コマンドプロンプト
コマンドプロンプト

※上の画像では破損したファイルが見つかったため、「破損したファイルが見つかりましたが、それらは正常に修復されました。」と表示されています。

4.これでシステムファイルは修復されましたので、PC を再起動しましょう。(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.Windowsキー + R を押して「ファイル名を指定して実行」を開きます。

2.「cmd」と入力します。

ファイル名を指定して実行
ファイル名を指定して実行

3.Shiftキー + Ctrlキーを押しながら Enter を押してください。

キーボード
キーボード

管理者権限が不要な場合は Enter のみで構いません。

4.「ユーザーアカウント制御」が表示されたら「はい」をクリックします。

ユーザーアカウント制御
ユーザーアカウント制御

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
この記事が「役立った!」と思ったら、ぜひSNSでシェアをお願いします。
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次