5

Согласно Документации проверки системных файлов (sfc) sfc будет следовать определенным процедурам, чтобы определить, поврежден ли системный файл.

  • Если sfc обнаруживает, что защищенный файл был перезаписан, он получает правильную версию файла из папки %systemroot%\system32\dllcache , а затем заменяет неправильный файл.
  • Если папка %systemroot%\system32\dllcache повреждена или недоступна, используйте sfc /scannow , sfc /scanonce или sfc /scanboot чтобы восстановить содержимое каталога Dllcache .

Это кажется противоречивым.

  1. Как sfc узнает, что dllcache поврежден, если он использует его для сравнения при поиске поврежденных системных файлов?
  2. Как sfc восстанавливает каталог dllcache если он использует его в качестве хранилища резервных копий?
  3. Как SFC проверяет коррупцию в целом? Я всегда предполагал, что он проверяет хеш-системные файлы в каталоге dllcache но эти два предыдущих утверждения, кажется, указывают на обратное.

1 ответ1

1

Sfc не исправляет dllcache, это исправляет другие dll-файлы с помощью dllcache. Если sfc.exe обнаружит проблему, он попытается заменить проблемные файлы из кэша DLL (% WinDir%\System32\Dllcache). Если файл отсутствует в кеше DLL или кэш DLL поврежден, пользователю будет предложено вставить установочный носитель Windows или указать сетевой путь установки. Средство проверки системных файлов определяет путь к источнику установки Windows из значений реестра SourcePath и ServicePackSourcePath. Он может продолжать запрашивать установочный носитель, даже если пользователь предоставит его, если эти значения установлены неправильно.

Источник Microsoft

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .