Согласно Документации проверки системных файлов (sfc) sfc будет следовать определенным процедурам, чтобы определить, поврежден ли системный файл.
- Если sfc обнаруживает, что защищенный файл был перезаписан, он получает правильную версию файла из папки
%systemroot%\system32\dllcache
, а затем заменяет неправильный файл. - Если папка
%systemroot%\system32\dllcache
повреждена или недоступна, используйтеsfc /scannow
,sfc /scanonce
илиsfc /scanboot
чтобы восстановить содержимое каталогаDllcache
.
Это кажется противоречивым.
- Как sfc узнает, что
dllcache
поврежден, если он использует его для сравнения при поиске поврежденных системных файлов? - Как sfc восстанавливает каталог
dllcache
если он использует его в качестве хранилища резервных копий? - Как SFC проверяет коррупцию в целом? Я всегда предполагал, что он проверяет хеш-системные файлы в каталоге
dllcache
но эти два предыдущих утверждения, кажется, указывают на обратное.