2014年9月17日水曜日

システムファイルチェッカー(sfc.exe)を使って、起動出来ないWindows PCを修復


パソコンの電源を入れ、ハードディスクにアクセスし始めたタイミングで「F8」キーを押します。
連打するぐらいの感じでいいです。

「詳細ブートオプション」が表示されるので、その中から「コンピューターの修復」を選択すると、
「システム回復オプション」が起動します。

そこから「コマンドプロンプト」を起動し、

C:\>sfc /scannow /offbootdir=d:\ /offwindir=d:\windows

システム回復オプションは今までのWindowsとは別のWindowsが起動しているので、

従来のWindowsはDドライブになっているので注意。

※ドライブレターの確認は、
1. >diskpart
2.  >list vol


3.  >exit


SFC.exe プログラムを使用して、Windows Vista のユーザー モード部分で発生したクラッシュのトラブルシューティングを行えます。このようなクラッシュは、オペレーティング システム ファイルの不足や破損に関連している場合があります。 

SFC.exe プログラムでは、以下の処理が実行されます。
  • 任意に構成できない Windows Vista システム ファイルに対して変更が加えられていないことを確認します。また、それらのファイルが、オペレーティング システムの定義どおりにコンピュータにインストールされていることを確認します。
  • 可能な場合は、任意に構成できない Windows Vista システム ファイルを修復します。

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

    注: 検証が 100% 完了するまでは、このコマンド プロンプト ウィンドウを閉じないでください。この処理が完了した後、スキャンの結果が表示されます。
  2. この処理が完了した後、次のいずれかのメッセージが表示されることがあります。
    • Windows リソース保護は、整合性違反を検出しませんでした。

      これは、不足または破損しているシステム ファイルがないことを意味します。
    • Windows リソース保護は要求された操作を実行できませんでした。

      この問題を解決するには、システム ファイル チェッカーのスキャンをセーフ モードで実行し、%WinDir%\WinSxS\Temp の下に PendingDeletes フォルダーと PendingRenames フォルダーが存在することを確認します。
    • Windows リソース保護により、破損したファイルが見つかり、それらは正常に修復されました。詳細は、CBS.Log%WinDir%\Logs\CBS\CBS.log に含まれています。

      システム ファイルのスキャンと回復に関する詳細情報を表示するには、「システム ファイル チェッカーの処理の詳細を表示する方法」を参照してください。
    • Windows リソース保護により、破損したファイルが見つかりましたが、それらの一部は修復できませんでした。詳細は、CBS.Log %WinDir%\Logs\CBS\CBS.log に含まれています。

      破損したファイルを手動で修復するには、システム ファイル チェッカーの処理の詳細を表示して破損したファイルを確認し、破損したファイルを、正常なコピーであることが判明しているファイルに手動で置換します。

SFC.exe プログラムによって生成されるログ ファイルを解析する方法

ログ ファイルを参照する方法

SFC.exe プログラムによって、各確認処理および修復処理の詳細が CBS.log ファイルに書き込まれます。CBS.log ファイルに書き込まれた SFC.exe プログラムのエントリには、すべて [SR] タグが付いています。CBS.log ファイルは、%windir%\Logs\CBS フォルダにあります。 

 : このログ ファイルへの書き込みは、Windows Modules Installer サービスでも行われます (Windows Modules Installer は、オプション機能、更新プログラム、および Service Pack のインストールを行うサービスです)。 

[SR] タグを検索することで SFC.exe プログラムのエントリを見つけることができます。このような検索を行って結果をテキスト ファイルにリダイレクトするには、以下の手順を実行します。
  1. [スタート] ボタン
    [スタート] ボタン
    をクリックし、[検索の開始] ボックスに cmd と入力します。次に、[プログラム] の下の [cmd] を右クリックし、[管理者として実行] をクリックします。

    ユーザー アカウント制御の許可
    管理者のパスワードを要求するダイアログ ボックスが表示された場合はパスワードを入力して [OK] をクリックし、確認を要求するダイアログ ボックスが表示された場合は [続行] をクリックします。
  2. 次のコマンドを入力し、Enter キーを押します。
    findstr /c:"[SR]" %windir%\logs\cbs\cbs.log >sfcdetails.txt
    Sfcdetails.txt ファイルには、コンピュータ上で SFC.exe プログラムを実行するたびにログ エントリが記録されます。
  3. デスクトップから Sfcdetails.txt ファイルを開きます。
  4. Sfcdetails.txt ファイルの形式は以下のとおりです。
    Date/Time 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

ログ ファイル エントリの解釈方法

SFC.exe プログラムでは、100 ファイル単位でファイルを確認します。そのため、多数のグループの SFC.exe プログラムのエントリが記録されます。各エントリの形式は次のとおりです。
date time entry_type details

次の表に、確認の完了後に CBS.log ファイルの SFC.exe プログラムのエントリに記録されていることがあるその他のメッセージを示します。
エントリ説明
Cannot repair member filefile detailsCannot repair member file [l:14{7}]"url.dll" of Microsoft-Windows-IE-WinsockAutodialStub, Version = 6.0.5752.0, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeNこのエントリは、ファイルの内容がオペレーティング システムの定義と一致しないことを示します。この場合、SFC.exe プログラムではこのファイルを修復できません。
Repaired file file details by copying from backupRepaired file \SystemRoot\WinSxS\Manifests\\[ml:24{12},l:18{9}]"netnb.inf" by copying from backupこのエントリは、ファイルに問題があることを示します。SFC.exe プログラムを使用して、システム ストアの非公開のバックアップにあるファイルをコピーすることにより、このファイルを修復できます。
Repairing corrupted file [ml:520{260},l:36{18}]"\??\C:\Windows\inf"\[l:18{9}]"netnb.inf" from storeRepairing corrupted file [ml:520{260},l:36{18}]"\??\C:\Windows\inf"\[l:18{9}]"netnb.inf" from storeこのエントリは、ファイルに問題があることを示します。SFC.exe プログラムでは、システム ストアにあるファイルをコピーすることにより、このファイルを修復できます。




0 件のコメント:

コメントを投稿