System file check is a utility built into the Oprating System that will check for system file corruption The sfc /scannow command (System File Check) scans the integrity of all protected operating system files and replaces incorrect, corrupted, changed, or it cannot repair the damage DISM should be run to fix as many errors as possible.

System file check works on Vista and UP

Dism works on win 7 and UP

If you are running an insider build (ie 14915) and SFC fails ~20% it is a known problem with this build.


Details
If you have modified your system files (including Windows DLL files) running sfc /scannow will revert the system files back to the default state.


It is always a good idea to back up your data beforehand!

To run asystem file check (SFC)

  • Go to start > Type "CMD"
  • Right click and Run as Administrator
  • (called an elevated command prompt)
  • If you want to verify and repair the OS type "sfc /scannow"
    (note the space between sfc and "/")
  • If you just want to check (verify only) the OS type sfc /verifyonly (no changes will be made using verify only)
You may have to run this up to 3 times to fix all the problems when you have finished it will say one three things.

  • Windows did not find any integrity violations (a good thing)
  • Windows Resource Protection found corrupt files and repaired them (a good thing)
  • Windows Resource Protection found corrupt files but was unable to fix some (or all) of them (not a good thing) if you get this message run DISM as described below
If SFC was not able to repair some or all of the files there are a few options including a repair install from the OS dvd, and DISM (win 8 & UP)

If SFC did not find any violations it is still a good idea to run DISM Restorehealth

DISM
If you are on win 8 (and up) you should also run DISM whether SFC found errors or not!!

From an elevate command prompt
You can run Check, then Scan, but you should always run RESTORE HEALTH

To Check the health (You would use /CheckHealth to only check whether the image has been flagged as corrupted)

run Dism /Online /Cleanup-Image /CheckHealth

To Scan the health use /ScanHealth to scan the image for component store corroption. This option does not fix any corruption.

run Dism /Online /Cleanup-Image /ScanHealth

To RESTORE health (recommended)
Use DISM  /Online /Cleanup-Image /RestoreHealth to scan the image for component store corruption, perform repair operations automatically, and records that corruption to the log file. This generallu takes 15-30 minutes depending on the corruption and size of the partition.

You can run scanhealth & restore health at the same time like this

DISM.exe /Online /Cleanup-Image /Scanhealth && DISM.exe /Online /Cleanup-image /Restorehealth

Type DISM /Online /Cleanup-Image /RestoreHealth .
(please note the space after "dism", & "online" & "image")
if the repair is successful you may want to re-run SFC just to check.

After running DISM it is good idea to re-run "SFC /scannow" to make sure all the issues were fixed.

If you get the error message "cannot find source files" you need to have an ISO file mounted and need to specify where it is located with the below command

The ISO must be exactly the same version as the runnng OS. An ISO of 10586.0 will not repair a running system of 10586.35 because it has additional updates and files.

DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:X:\Sources\Insrall.wim:1 /LimitAccess Where "X" is the drive letter where the ISO is located. Simply chage the "X" to the correct driver letter