システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復する

適用対象: Windows 8.1Windows 8.1 EnterpriseWindows 8.1 Pro 詳細

システム ファイル チェッカーは Windows のユーティリティの 1 つで、これにより Windows システム ファイルの破損をスキャンして、破損しているファイルを復元できます。 この資料では、システム ファイル チェッカー ツール (SFC.exe) を実行してシステム ファイルをスキャンし、欠落または破損しているシステム ファイルを修復する方法について説明します。 Windows リソース保護 (WRP) ファイルが存在しない場合や、破損している場合には、Windows が正常に動作しないことがあります。 たとえば、Windows の一部の機能が正しく動作しなかったり、Windows がクラッシュしたりすることがあります。

システム ファイル チェッカー ツール (SFC.exe) を実行する


これを行うには、次の手順を実行します。
  1. 管理者としてコマンド プロンプトを開きます。 これを行うには、お使いのオペレーティング システムに応じて次の手順を実行します。
    Windows 8.1 または Windows 8

     

    画面の右端から中央にスワイプし、[検索] をタップします。 または、マウスを使用している場合は、画面の右下隅をポイントして、[検索] をクリックします。 [検索] ボックスに「コマンド プロンプト」と入力し、[コマンド プロンプト] を右クリックし、[管理者として実行] をクリックします。 管理者のパスワードを要求するダイアログ ボックスが表示された場合はパスワードを入力して [OK] をクリックし、確認を要求するダイアログ ボックスが表示された場合は [許可] をクリックします。
    Command prompt - Run as administrator (Windows 8 or 8.1)
     
  2. Windows 10、Windows 8.1、または Windows 8 を実行している場合は、システム ファイル チェッカーを実行する前に、まず受信トレイの展開イメージのサービスと管理 (DISM) ツールを実行します  (Windows 7 または Windows Vista を実行している場合は、手順 3 にスキップしてください)。

次のコマンドを入力し、Enter キーを押します。  コマンドの処理には数分間かかることがあります。

DISM.exe /Online /Cleanup-image /Restorehealth

重要: このコマンドを実行すると、DISM は Windows Update を使用して破損の修復に必要なファイルを提供します。 ただし、Windows Update クライアントが既に破損している場合は、修復ソースとして実行中の Windows インストールを使用するか、ファイルのソースとしてネットワーク共有またはリムーバブル メディア (Windows DVD など) の Windows のサイドバイサイド フォルダーを使用します。 これを行うには、次のコマンドを実行します。

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess

注: C:\RepairSource\Windows の部分は、実際の修復ソースの場所に変更してください。 DISM ツールを使用して Windows を修復する方法については、「Windows イメージを修復する」を参照してください。

  1. コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。

sfc /scannow

Sfc/scannow の管理者権限を持つコマンド プロンプト
 

 

sfc /scannow コマンドにより、保護されているすべてのシステム ファイルがスキャンされ、破損したファイルが、%WinDir%\System32\dllcache の圧縮フォルダーにあるキャッシュ コピーに置き換えられます。
%WinDir% の部分は、実際の Windows オペレーティング システムのフォルダーに変更してください (例 :C:\Windows)。

: 確認が 100% 完了するまで、このコマンド プロンプト ウィンドウを閉じないでください。 スキャンの結果は、このプロセスが終了した後に表示されます。

  1. この処理が完了した後、次のいずれかのメッセージが表示されることがあります。

詳細情報


システム ファイル チェッカーの処理の詳細を表示する方法

CBS.Log ファイルに含まれる詳細を表示するには、Findstr コマンドを使用して Sfcdetails.txt ファイルに情報をコピーし、Sfcdetails.txt の詳細を表示する方法があります。 これを行うには、次の手順を実行します。
  1. 上記の手順 1. に記載されている手順で、管理者特権を持つコマンド プロンプトを開きます。
  2. コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。
    findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt" 
    : この sfcdetails.txt ファイルには、コンピューターでシステム ファイル チェッカー ツールを実行するたびに詳細情報が記録されます。 これには、システム ファイル チェッカー ツールで修復されなかったファイルに関する情報が含まれています。 日付と時刻をチェックして、前回システム ファイル チェッカー ツールを実行したときに見つかった問題を確認します。
  3. デスクトップから Sfcdetails.txt ファイルを開きます。
  4. Sfcdetails.txt ファイルの形式は以下のとおりです。
    日付/時刻 SFC 詳細
    修復できなかったファイルに関するエントリが含まれているログ ファイルの例を以下に示します。
    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 


破損したシステム ファイルを、正常であることが判明しているファイルのコピーに手動で置き換える方法

どのシステム ファイルが破損していて、Sfcdetails.txt ファイルの詳細情報では修復できないことを確認した後、破損したファイルの場所を確認し、破損したファイルを、正常であることが判明しているファイルのコピーに手動で置き換えます。 これを行うには、次の手順を実行します。

: 破損したファイルのあるコンピューターと同じバージョンの Windows を実行している別のコンピューターから、正常であることが判明しているシステム ファイルのコピーを取得することも可能です。 そのコンピューターでシステム ファイル チェッカー プロセスを実行して、コピーするシステム ファイルが正常なコピーであることを確認することをお勧めします。

  1. 破損したシステム ファイルの管理所有権を取得します。 これを行うには、管理者特権を持つコマンド プロンプトで、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
    takeown /f Path_And_File_Name
    : Path_And_File_Name の部分は、破損したファイルのパスとファイル名に変更してください。 たとえば、「takeown /f C:\windows\system32\jscript.dll」と入力します。 
    権利の管理者のコマンド プロンプトのコマンドは成功しました
     
  2. 管理者に破損したシステム ファイルへのフル アクセスを付与します。 これを行うには、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
    icacls Path_And_File_Name /GRANT ADMINISTRATORS:F
    : Path_And_File_Name の部分は、破損したファイルのパスとファイル名に変更してください。 たとえば、「icacls C:\windows\system32\jscript.dll /grant administrators:F」と入力します。
    管理者権限でコマンド プロンプト
     
  3. 破損したシステム ファイルを、正常であることが判明しているファイルのコピーに手動で置き換えます。 これを行うには、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
    Copy Source_File Destination
    : Source_File の部分は、破損したファイルのあるコンピューター上の、正常であることが判明しているファイルのコピーのパスとファイル名に変更し、Destination の部分は、破損したファイルのパスとファイル名に変更します。 たとえば、「copy E:\temp\jscript.dll C:\windows\system32\jscript.dll」と入力します。