5

According to System File Checker (sfc) Documentation sfc will follow certain procedures to determine whether a system file is corrupt.

  • If sfc discovers that a protected file has been overwritten, it retrieves the correct version of the file from the %systemroot%\system32\dllcache folder, and then replaces the incorrect file.
  • If the %systemroot%\system32\dllcache folder becomes corrupt or unusable, use sfc /scannow, sfc /scanonce, or sfc /scanboot to repair the contents of the Dllcache directory.

This seems contradictory.

  1. How does sfc know that dllcache is corrupted if it is using it as comparison for finding corrupted system files?
  2. How does sfc repair the dllcache directory if it is what it uses as its backup store?
  3. How does sfc check for corruption in general? I had always assumed it hash-checked the system files against the dllcache directory but these previous two statements seem to suggest otherwise.

2 Answers 2

1

Sfc does not fix the dllcache it fix other dll files from the help of dllcache. If sfc.exe finds a problem, it will attempt to replace the problematic files from the DLL Cache (%WinDir%\System32\Dllcache). If the file is not in the DLL Cache or the DLL Cache is corrupted, the user will be prompted to insert the Windows installation media or provide the network installation path. System File Checker determines the Windows installation source path from the registry values SourcePath and ServicePackSourcePath. It may keep prompting for the installation media even if the user supplies it if these values are not correctly set.

Source microsoft

0
  1. SFC uses a catalog file containing signatures for all protected files. The files in DLLCache are not used for direct comparison. They are checked against the signatures as well.

  2. SFC uses a pre-configured network path or asks for Windows installation media when the file cache is unavailable or does not match the signatures in the catalog.

  3. SFC uses a catalog file to compare with signatures in both locations.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .