重要な Windows システム ファイルが見つからないか破損している場合、オペレーティング システムが誤動作し始める可能性があります。 一般的な症状としては、Windows の機能が正常に動作しない、システム エラーが発生する、Windows が応答しなくなる、フリーズする、などがあります。
これらの問題が発生した場合は、組み込みの Windows 修復ツール (展開イメージのサービスと管理 (DISM) とシステム ファイル チェッカー (SFC) を使用して、破損したシステム ファイルをスキャンし、不足している Windows コンポーネントまたは破損した Windows コンポーネントを復元して、システムを安定した動作状態に戻すことができます。
手順 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 リソース保護は、破損したファイルを検出し、正常に修復しました。 | 操作が成功しました。 システム ファイル スキャンと復元に関する詳細な情報を表示するには、 システム ファイル チェッカー プロセスの詳細を表示する方法に関するページを参照してください。 |
| Windows リソース保護は、破損したファイルを検出しましたが、その一部を修正できませんでした。 | 破損したファイルを手動で修復するには、システム ファイル チェッカーの処理の詳細を表示して破損したファイルを確認し、破損したファイルを、正常であることが判明しているファイルのコピーに手動で置換します。 |
追加情報
システム ファイル チェッカーの処理の詳細を表示する方法
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, TypeName neutral, PublicKey neutral in the store, ファイルが見つかりません
破損したシステム ファイルを、正常であることが判明しているファイルのコピーに手動で置き換える方法
ログ ファイルを確認して、破損したシステム ファイルと修復できなかったファイルを確認した後、破損したファイルの場所を見つけて、破損したファイルを既知の適切なファイルのコピーに手動で置き換えます。
これを行うには、次の手順に従います。 次のコマンドでは、 <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 キーを押します。
Copy <Source_File> <Destination>
上記のコマンドで、 <Source_File>placeholder を、コンピューター上のファイルの既知の適切なコピーのパスとファイル名に置き換え、 <Destination> プレースホルダーを破損したファイルのパスとファイル名に置き換えます。
例:
copy E:\temp\jscript.dll C:\windows\system32\jscript.dll
上記の手順が動作しない場合は、Windows を再インストールする必要がある場合があります。 詳細については、「 Windows の回復オプション」を参照してください。