web-dev-qa-db-ja.com

sfcはdllcacheバックアップディレクトリをどのように修復しますか?

システムファイルチェッカー(sfc)ドキュメント によると、sfcは特定の手順に従って、システムファイルが破損しているかどうかを判断します。

  • Sfcは、保護されたファイルが上書きされたことを検出すると、%systemroot%\system32\dllcacheフォルダーから正しいバージョンのファイルを取得し、誤ったファイルを置き換えます。
  • %systemroot%\system32\dllcacheフォルダが破損または使用できなくなった場合は、sfc /scannowsfc /scanonce、またはsfc /scanbootを使用してDllcacheディレクトリの内容を修復します。

これは矛盾しているようです。

  1. Sfcは、破損したシステムファイルを見つけるための比較として使用している場合、dllcacheが破損していることをどのように認識しますか?
  2. Sfcがバックアップストアとして使用している場合、sfcはどのようにdllcacheディレクトリを修復しますか?
  3. Sfcは一般的にどのように破損をチェックしますか?私はいつも、システムファイルをdllcacheディレクトリに対してハッシュチェックすると思っていましたが、これらの前の2つのステートメントはそうではないことを示唆しているようです。
5
Mondrianaire

Sfcはdllcacheを修正しません。dllcacheの助けを借りて他のdllファイルを修正します。 sfc.exeが問題を検出すると、DLLキャッシュ(%WinDir%\ System32\Dllcache)から問題のあるファイルを置き換えようとします。ファイルがDLLキャッシュにない場合、またはDLLキャッシュが破損している場合、ユーザーはWindowsインストールメディアを挿入するか、ネットワークインストールパスを指定するように求められます。システムファイルチェッカーは、レジストリ値SourcePathおよびServicePackSourcePathからWindowsインストールソースパスを決定します。これらの値が正しく設定されていないと、ユーザーがインストールメディアを指定しても、インストールメディアの入力を求め続ける場合があります。

ソースマイクロソフト

1
Ankit Yadav TrK