Geeks in Phoenix

Geek Blog


Check Windows 10 system files with System File Checker

Updated July 20, 2020

I was thinking the other day about what program I use the most in doing computer repair. The one program I use the most on Windows computers would have to be System File Checker (SFC). SFC checks for system files that may have gotten corrupt or replaced with incorrect versions. Here's how to check Windows 10 system files with System File Checker.

Check Windows 10 system files with System File Checker

SFC has been included in every version of Windows since Windows XP. You can also build it into the Microsoft Diagnostics and Recovery Toolset (DaRT). There is no shortcut or link to SFC in Windows 10, as it runs inside an Administrative Command Prompt.

How to open a Command Prompt with Administrator privileges in Windows 10

SFC running inside of Windows 10 Administrative Command Prompt

The following is the syntax and switches for SFC. The most commonly used syntax/switch is: sfc /scannow.

SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=<file>] [/VERIFYFILE=<file>] [/OFFWINDIR=<offline windows directory> /OFFBOOTDIR=<offline boot directory>]

/SCANNOW (Scans integrity of all protected system files and repairs files with problems when possible.)
/VERIFYONLY (Scans integrity of all protected system files. No repair operation is performed.)
/SCANFILE (Scans integrity of the referenced file, repairs file if problems are identified. Specify full path <file>.)
/VERIFYFILE (Verifies the file's intergrity with full path <file>. No repair operation is performed.)
/OFFBOOTDIR (For offline repair specify the location of the offline boot directory.)
/OFFWINDIR (For offline repair specify the location of the offline windows directory.)

Examples

sfc /scannow sfc /verifyfile=c:\windows\filetobereplaced.dll sfc /scanfile=d:\windows\filetobereplaced.dll /offbootdir=d:\ /offwindir=d:\windows sfc /verifyonly

Once SFC is done scanning the system files, it will give one of four possible results:

  • Windows Resource Protection did not find any integrity violations.
    All system files are fine, and you're good to go.
  • Windows Resource Protection could not perform the requested operation.
    There may be another program preventing SFC from running. In this case, boot the system up into safe mode and run SFC from there.
  • Windows Resource Protection found corrupt files and successfully repaired them.
    All system files are now correct, and you're ready to go. If you want to view the repair details, see below.
  • Windows Resource Protection found corrupt files but was unable to fix some of them.
    If you get this message, SFC found a file or files that it couldn't repair. The next thing you will need to do is find out the name of the file(s). Using the Find String utility, you can filter out the SFC results with only the scanned components and create a text file with that information on your Desktop called sfcdetails.txt. Just copy the following code into an Administrative Command Prompt:

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"

Manually replacing a corrupt system file in Windows 10

Note: To replace a corrupt system file, you will need to have a known good copy of the file(s) in question. A good source for files is another computer or virtual machine running Windows 10. Since I do computer repair for a living, I have all of the versions of Windows that are still supported by Microsoft running inside of Oracle VirtualBoxes.

The first thing to do is note the location (path) and name of the file(s) that need to be replaced from the sfcdetails.txt file. Once you have another copy of the corrupt file(s), you will need to take administrative ownership of the file(s). To do this, modify the following command with the path\filename of the file you want to replace and then type it into an Administrative Command Prompt:

takeown /f path\filename

Example: takeown /f C:\Windows\FileToBeReplaced.dll

Next, you will have to grant administrators full access to the file(s) being replaced. To do this, modify the following command with the path\filename of the file you want to replace and then type it into an Administrative Command Prompt:

icacls path\filename /grant administrators:F

Example: icacls C:\Windows\FileToBeReplaced.dll /grant administrators:F

The third thing to do is copy over the new file(s) and replace the corrupt one(s).To do this, modify the following command with the path\filename of the file you want to replace and then type it into an Administrative Command Prompt:

copy path\filename path\filename

Example: copy C:\Temp\FileToBeReplaced.dll C:\Windows\FileToBeReplaced.dll

Check the protected system files in Windows with System File Checker

There may come a time when your Windows-based computer starts to run improperly. Installing and uninstalling software, viruses, and malware are just a few things that can corrupt the integrity of system files. When it comes to computer repair on a system running Windows, I always like to check for corrupt system files. You can too with Windows built-in System File Checker (SFC).

System File Checker running in Command Prompt inside of Windows 8
System File Checker running in Command Prompt inside of Windows 8

SFC scans the integrity of all protected system files and replaces incorrect versions with correct Microsoft versions. Everything SFC does is documented in the CBS.log file. If SFC finds any files that it cannot repair, check the CBS.log for more information. See the bottom of command-line syntax(s) and parameter(s) for details on how to view the CBS.log.

Running SFC in Windows Vista, Windows 7, and Windows 8

To ensure that SFC runs with administrator privileges on Windows Vista, Windows 7, and Windows 8, you will need to run it at an administrative Command Prompt.

  1. Open a Command Prompt with Administrative privileges

    How to open a Command Prompt with Administrator privileges in Windows Vista and Windows 7

    How to open a Command Prompt with Administrator privileges in Windows 8

  2. Use the following command line syntax(s) and parameter(s) to run SFC:

sfc [/scannow] [/verifyonly] [/scanfile=<file>] [/verifyfile=<file>] [/offwinddir=<offline windows directory>/offbootdir=<offline boot directory>]

/scannow Scans integrity of all protected system files and repairs files with problems when possible.
/verifyonly Scans integrity of all protected system files. No repair operation is performed.
/scanfile Scans integrity of the referenced file, repairs file if problems are identified. Specify full path <file>.
/verifyfile Verifies the integrity of the file with full path <file>. No repair operation is performed.
/offbootdir For offline repair specify the location of the offline boot directory.
/offwinddir For offline repair specify the location of the offline windows directory.
/? Displays help at the command prompt.

You can view the CBS.log file in Notepad using the following code at the same administrative Command Prompt used to start SFC.
notepad %systemroot%\Logs\CBS\CBS.log

Running SFC in Windows XP

To use SFC, you will need to open a Command Prompt.

  1. Click the Start button, then Programs, Accessories, and click on Command Prompt
    or
    Press Windows logo key + R. This will bring up the Run dialog box. Type CMD and click OK
  2. Use the following command line syntax(s) and parameter(s) to run SFC:

sfc [/scannow] [/scanonce] [/scanboot] [/revert] [/purgecache] [/cachesize=<x>]

/scannow Scans all protected system files once.
/scanonce Scans all protected system files once.
/scanboot Scans all protected system files every time the computer is restarted.
/revert Returns the scan to its default operation.
/purgecache Purges the Windows File Protection file cache and scans all protected system files immediately.
/cachesize=<x> Sets the size, in MB, of the Windows File Protection file cache.
/? Displays help at the command prompt.

When SFC is done, you can view the log file in Notepad using the following code at the same Command Prompt used to start SFC.
notepad %systemroot%\Logs\CBS\CBS.log

Free computer diagnostics

Repairing a PC can sometimes be expensive, and that is why we offer free basic in-shop diagnostics. Give one of our professional and experienced technicians a call at (602) 795-1111, and let's see what we can do for you.

Check out our reviews

Geeks In Phoenix LLC, BBB Business Review

Customer service is #1

Here at Geeks in Phoenix, we take pride in providing excellent customer service. We aim to give the highest quality of service  from computer repair, virus removal, and data recovery.

Bring your computer to us and save

Repairing a computer can be time-consuming. That is why we base our in-shop service on the time we work on your computer, not the time it takes for your computer to work! From running memory checking software to scanning for viruses, these are processes that can take some time.

Contact us

If you have any questions, please feel free to give us a call at (602) 795-1111  and talk with one of our Geeks. Or you can send us a message from our contact page contact page , and one of our Geeks will get back to you as soon as possible. Or you can stop by and see us. Here are our hours and location.

Like Geeks in Phoenix on Facebook

Follow Geeks in Phoenix on Twitter

Watch Geeks in Phoenix on YouTube