重要な Windows システム ファイルが見つからないか破損している場合、一部の Windows 機能が正しく動作しなくなるか、Windows が完全に応答しなくなる可能性があります。 この場合は、展開イメージのサービスと管理ツール (DISM) とシステム ファイル チェッカー ツール (SFC) を使用して、システム ファイルをスキャンし、破損しているファイルまたは見つからないファイルを復元できます。
手順 1: DISM を実行する
DISMは、破損したファイルを修復するために必要なファイルを提供します。 システム ファイル チェッカーを実行する前に DISM を実行する必要があります。 これを行うには、次の手順を実行します。
-
管理者としてコマンド プロンプトを開きます。
-
[検索] ボックスに「cmd」と入力します。
-
検索結果で、[ コマンド プロンプト] を右クリックし、[ 管理者として実行] を選択します。
-
確認または管理者パスワードの入力を求められたら、パスワードを入力するか、[ 許可] をクリックします。
-
-
[ コマンド プロンプト ] ウィンドウで、次のコマンドを入力し、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 イメージを修復する」を参照してください。
手順 2: システム ファイル チェッカーを実行する
[コマンド プロンプト] ウィンドウで、次のコマンドを入力し、Enter キーを押します。
sfc /scannow
警告: 検証が 100% 完了するまで、このコマンド プロンプト ウィンドウを閉じないでください。
sfc /scannowコマンドは、保護されたすべてのシステムファイルをスキャンし、破損したファイルをキャッシュされたコピーに置き換えます。 このプロセスが完了すると、スキャン結果が表示されます。 次のいずれかのメッセージが表示される場合があります。
スキャン結果メッセージ |
対応するアクション |
---|---|
Windows リソース保護は、整合性違反を検出しませんでした。 |
システム ファイルが見つからないか破損していません。 |
Windows リソース保護は要求された操作を実行できませんでした。 |
この問題を解決するには、システム ファイル チェッカー スキャンを セーフ モードで実行します。 %WinDir%\WinSxS\Temp の下に PendingDeletes フォルダーと PendingRenames フォルダーが存在することを確認します。 %WinDir% プレースホルダーは、C:\Windows などの Windows オペレーティング システム フォルダーを表します。 |
Windows Resource Protection で破損したファイルが見つかり、正常に修復されました。 |
操作が成功しました。 システム ファイル スキャンと復元に関する詳細な情報を表示するには、 システム ファイル チェッカー プロセスの詳細を表示する方法に関するページを参照してください。 |
Windows Resource Protection で破損したファイルが見つかりましたが、その一部を修正できませんでした。 |
破損したファイルを手動で修復するには、システム ファイル チェッカーの処理の詳細を表示して破損したファイルを確認し、破損したファイルを、正常であることが判明しているファイルのコピーに手動で置換します。 |
詳細情報
CBS に含まれる詳細を表示するには 。ログ ファイルは、次の手順に従って、ログ内の情報をデスクトップ上の表示可能なテキスト ファイルにコピーします。
-
前に説明したように、管理者特権のコマンド プロンプトを開きます。
-
[コマンド プロンプト] ウィンドウで、次のコマンドを 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, ストアに PublicKey ニュートラル、ファイルがありません
ログ ファイルを確認して、破損したシステム ファイルと修復できなかったファイルを確認した後、破損したファイルの場所を見つけて、破損したファイルを既知の適切なファイルのコピーに手動で置き換えます。
これを行うには、次の手順に従います。 次のコマンドでは、<Path_And_File_Name> プレースホルダーは、破損したファイルのパスとファイル名を表します。
注: コンピューターと同じバージョンの Windows を実行している別のコンピューターから、システム ファイルの既知の適切なコピーを取得できる場合があります。 コピーする予定のシステム ファイルが適切なコピーであることを確認するには、そのコンピューターでシステム ファイル チェッカー プロセスを実行できます。
手順 1: 破損したシステム ファイルの管理所有権を取得します。
管理者特権のコマンド プロンプトに次のコマンドを入力し、Enter キーを押します。
takeown /f <Path_And_File_Name>
例:
takeown /f C:\windows\system32\jscript.dll。
手順 2: 破損したシステム ファイルへのフル アクセス権を管理者に付与します。
次のコマンドを入力し、Enter キーを押します。
icacls <Path_And_File_Name> /grant administrators:F
例:
icacls C:\windows\system32\jscript.dll /grant administrators:F
手順 3: 破損したシステム ファイルを、既知の適切なファイルのコピーに置き換えます。
次のコマンドを入力し、Enter キーを押します。
コピー先 <Source_File> <コピー先>
上記のコマンドで、 <Source_File> プレースホルダーを、コンピューター上のファイルの既知の適切なコピーのパスとファイル名に置き換え、 <Destination> プレースホルダーを破損したファイルのパスとファイル名に置き換えます。
例:
E:\temp\jscript.dll C:\windows\system32\jscript.dll をコピーする
上記の手順が機能しない場合は、Windows の再インストールが必要になる場合があります。 詳細については、「 Windows の回復オプション」を参照してください。