Use the System File Checker tool to repair missing or corrupted system files

por | 17 agosto, 2018
System File Checker is a utility in Windows that allows users to scan for corruptions in Windows system files and restore corrupted files. This article describes how to run the System File Checker tool (SFC.exe) to scan your system files and to repair missing or corrupted system files. If a Windows Resource Protection (WRP) file is missing or is corrupted, Windows may not behave as expected. For example, some Windows functions may not work, or Windows may crash.

Run the System File Checker tool (SFC.exe)


To do this, follow these steps:

  1. Open an elevated command prompt. To do this, do the following as your appropriate:
  2. If you are running Windows 10, Windows 8.1 or Windows 8, first run the inbox Deployment Image Servicing and Management (DISM) tool prior to running the System File Checker.  (If you are running Windows 7 or Windows Vista, skip to Step 3.)

Type the following command, and then press Enter.  It may take several minutes for the command operation to be completed.

DISM.exe /Online /Cleanup-image /Restorehealth

Important: When you run this command, DISM uses Windows Update to provide the files that are required to fix corruptions. However, if your Windows Update client is already broken, use a running Windows installation as the repair source, or use a Windows side-by-side folder from a network share or from a removable media, such as the Windows DVD, as the source of the files. To do this, run the following command instead:

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess

Note: Replace the C:\RepairSource\Windows placeholder with the location of your repair source. For more information about using the DISM tool to repair Windows, reference Repair a Windows Image.

  1. At the command prompt, type the following command, and then press ENTER:

sfc /scannow

Command Prompt with administrator rights - sfc /scannow

The sfc /scannow command will scan all protected system files, and replace corrupted files with a cached copy that is located in a compressed folder at %WinDir%\System32\dllcache.
The %WinDir% placeholder represents the Windows operating system folder. For example, C:\Windows.

Note Do not close this Command Prompt window until the verification is 100% complete. The scan results will be shown after this process is finished.

  1. After the process is finished, you may receive one of the following messages:

    • Windows Resource Protection did not find any integrity violations.

      This means that you do not have any missing or corrupted system files.

    • Windows Resource Protection could not perform the requested operation.

      To resolve this problem, perform the System File Checker scan in safe mode, and make sure that the PendingDeletes and PendingRenames folders exist under %WinDir%\WinSxS\Temp.

    • Windows Resource Protection found corrupt files and successfully repaired them. Details are included in the CBS.Log %WinDir%\Logs\CBS\CBS.log.

      To view the detail information about the system file scan and restoration, go to How to view details of the System File Checker process.

    • Windows Resource Protection found corrupt files but was unable to fix some of them. Details are included in the CBS.Log %WinDir%\Logs\CBS\CBS.log.

      To repair the corrupted files manually, view details of the System File Checker process to find the corrupted file, and then manually replace the corrupted file with a known good copy of the file.

More Information


How to view details of the System File Checker process

To view the details that included in the CBS.Log file, you can copy the information to the Sfcdetails.txt file by using the Findstr command, and then view the details in the Sfcdetails.txt. To do this, follow these steps:

  1. Open an elevated command prompt as described in the previous step 1.
  2. At the command prompt, type the following command, and then press ENTER:
    findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"

    Note The Sfcdetails.txt file contains details from every time that the System File Checker tool has been run on the computer. The file includes information about files that were not repaired by the System File Checker tool. Verify the date and time entries to determine the problem files that were found the last time that you ran the System File Checker tool.

  3. Open the Sfcdetails.txt file from your desktop.
  4. The Sfcdetails.txt file uses the following format:
    Date/Time SFC detail

    The following sample log file contains an entry for a file that could not be repaired:

    2007-01-12 12:10:42, Info                  CSI    00000008 [SR] Cannot 
    repair member file [l:34{17}]"Accessibility.dll" of Accessibility, Version = 
    6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral, 
    VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type 
    neutral, TypeName neutral, PublicKey neutral in the store, file is missing
    

How to manually replace a corrupted system file with a known good copy of the file

After you determine which system file was corrupted and could not be repaired through the detail information in the Sfcdetails.txt file, find where the corrupted file located, and then manually replace the corrupted file with a known good copy of the file. To do this, follow these steps:

Note You may be able to get a known good copy of the system file from another computer that is running the same version of Windows with your computer. You may perform a System File Checker process on that computer to make sure the system file that you intend to copy is a good copy.

  1. Take administrative ownership of the corrupted system file. To do this, at an elevated command prompt, copy and then paste (or type) the following command, and then press ENTER:
    takeown /f Path_And_File_Name

    Note The Path_And_File_Name placeholder represents the path and the file name of the corrupted file. For example, type takeown /f C:\windows\system32\jscript.dll.

    Command Prompt with administrator rights - command succeeded
  2. Grant administrators full access to the corrupted system file. To do this, copy and paste (or type) the following command, and then press ENTER:
    icacls Path_And_File_Name /GRANT ADMINISTRATORS:F

    Note The Path_And_File_Name placeholder represents the path and the file name of the corrupted file. For example, type icacls C:\windows\system32\jscript.dll /grant administrators:F.

    Command Prompt with administrator rights
  3. Replace the corrupted system file with a known good copy of the file. To do this, copy and paste (or type) the following command, and then press ENTER:
    Copy Source_File Destination

    Note The Source_File placeholder represents the path and file name of the known good copy of the file on your computer, and the Destination placeholder represents the path and file name of the corrupted file. For example, type copy E:\temp\jscript.dll C:\windows\system32\jscript.dll.