Windows 機能が動作しない場合や、Windows クラッシュが発生した場合は、システム ファイル チェッカーを使用して Windows をスキャンし、ファイルを復元します。
一見すると以下の手順は複雑に見えるかもしれませんが、 ステップ バイ ステップで順番に進んでください。軌道に戻ることができるようにします。
システム ファイル チェッカー ツール (SFC.exe) を実行する
これを行うには、次の手順を実行します。
-
管理者としてコマンド プロンプトを開きます。 これを行うには、お使いのオペレーティング システムに応じて次の手順を実行します。
-
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 イメージを修復する」を参照してください。
-
コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。
sfc /scannow
sfc /scannow コマンドにより、保護されているすべてのシステム ファイルがスキャンされ、破損したファイルが、%WinDir%\System32\dllcache の圧縮フォルダーにあるキャッシュ コピーに置き換えられます。
%WinDir% の部分は、実際の Windows オペレーティング システムのフォルダーに変更してください (例 :C:\Windows)。
注: 確認が 100% 完了するまで、このコマンド プロンプト ウィンドウを閉じないでください。 スキャンの結果は、このプロセスが終了した後に表示されます。
-
この処理が完了した後、次のいずれかのメッセージが表示されることがあります。
-
Windows リソース保護は、整合性違反を検出しませんでした。
これは、不足または破損しているシステム ファイルがないことを意味します。 -
Windows リソース保護は要求された操作を実行できませんでした。
この問題を解決するには、システム ファイル チェッカーのスキャンをセーフ モードで実行し、%WinDir%\WinSxS\Temp の下に PendingDeletes フォルダーと PendingRenames フォルダーが存在することを確認します。 -
Windows リソース保護は、破損したファイルを検出し、正常に修復しました。 詳細は CBS.Log (%WinDir%\Logs\CBS\CBS.log) にあります。
システム ファイルのスキャンと復元に関する詳細情報を表示するには、「システム ファイル チェッカーの処理の詳細を表示する方法」を参照してください。 -
Windows リソース保護は、破損したファイルを検出しましたが、その一部を修正できませんでした。 詳細は CBS.Log (%WinDir%\Logs\CBS\CBS.log) にあります。
破損したファイルを手動で修復するには、システム ファイル チェッカーの処理の詳細を表示して破損したファイルを確認し、破損したファイルを、正常であることが判明しているファイルのコピーに手動で置換します。
-
画面の右端から中央にスワイプし、[検索] をタップします。 または、マウスを使用している場合は、画面の右下隅をポイントして、[検索] をクリックします。 [検索] ボックスに「コマンド プロンプト」と入力し、[コマンド プロンプト] を右クリックし、[管理者として実行] をクリックします。 管理者のパスワードを要求するダイアログ ボックスが表示された場合はパスワードを入力して [OK] をクリックし、確認を要求するダイアログ ボックスが表示された場合は [許可] をクリックします。
これを行うには、[スタート] をクリックし、[検索] ボックスに「コマンド プロンプト」または「cmd」と入力して、[コマンド プロンプト] を右クリックし、[管理者として実行] をクリックします。 管理者のパスワードを要求するダイアログ ボックスが表示された場合はパスワードを入力して [OK] をクリックし、確認を要求するダイアログ ボックスが表示された場合は [許可] をクリックします。
詳細情報
システム ファイル チェッカーの処理の詳細を表示する方法
CBS.Log ファイルに含まれる詳細を表示するには、Findstr コマンドを使用して Sfcdetails.txt ファイルに情報をコピーし、Sfcdetails.txt の詳細を表示する方法があります。 これを行うには、次の手順を実行します。
-
上記の手順 1. に記載されている手順で、管理者特権を持つコマンド プロンプトを開きます。
-
コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"
注: この sfcdetails.txt ファイルには、コンピューターでシステム ファイル チェッカー ツールを実行するたびに詳細情報が記録されます。 これには、システム ファイル チェッカー ツールで修復されなかったファイルに関する情報が含まれています。 日付と時刻をチェックして、前回システム ファイル チェッカー ツールを実行したときに見つかった問題を確認します。
-
デスクトップから Sfcdetails.txt ファイルを開きます。
-
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 を実行している別のコンピューターから、正常であることが判明しているシステム ファイルのコピーを取得することも可能です。 そのコンピューターでシステム ファイル チェッカー プロセスを実行して、コピーするシステム ファイルが正常なコピーであることを確認することをお勧めします。
-
破損したシステム ファイルの管理所有権を取得します。 これを行うには、管理者特権を持つコマンド プロンプトで、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
takeown /f Path_And_File_Name 注: Path_And_File_Name の部分は、破損したファイルのパスとファイル名に変更してください。 例えば、「takeown /f C:\windows\system32\jscript.dll」と入力します。
-
管理者に破損したシステム ファイルへのフル アクセスを付与します。 これを行うには、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
icacls Path_And_File_Name /GRANT ADMINISTRATORS:F 注: Path_And_File_Name の部分は、破損したファイルのパスとファイル名に変更してください。 たとえば、「icacls C:\windows\system32\jscript.dll /grant administrators:F」と入力します。
-
破損したシステム ファイルを、正常であることが判明しているファイルのコピーに手動で置き換えます。 これを行うには、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
Copy Source_File Destination 注: Source_File の部分は、破損したファイルのあるコンピューター上の、正常であることが判明しているファイルのコピーのパスとファイル名に変更し、Destination の部分は、破損したファイルのパスとファイル名に変更します。 たとえば、「copy E:\temp\jscript.dll C:\windows\system32\jscript.dll」と入力します。
上記の手順が動作しない場合は、Windows を再インストールする必要がある場合があります。 詳細については、「Windows 10 の復元オプション」を参照してください 。