使用系統檔案檢查程式工具來修復遺失或損毀的系統檔案

適用於: Windows 8.1Windows 8.1 EnterpriseWindows 8.1 Pro 更多

「系統檔案檢查程式」是 Windows 的公用程式,可讓使用者掃描 Windows 系統檔案是否有任何損毀,並可還原已損毀的檔案。 本文說明如何 執行系統檔案檢查程式工具 (SFC.exe) 以掃描系統檔案,並修復遺失或損毀的系統檔案。 如果「Windows 資源保護」(WRP) 檔案遺失或損毀,Windows 可能無法如預期運作。 例如,有些 Windows 功能無法運作,或 Windows 可能損毀。

執行系統檔案檢查程式工具 (SFC.exe)


若要執行這項操作,請依照下列步驟執行:
  1. 請開啟提高權限的命令提示字元, 若要這樣做,請視需要執行下列動作:
  2. 如果您執行的是 Windows 10、Windows 8.1 或 Windows 8,請在執行系統檔案檢查程式之前,先對收件匣執行「部署映像服務與管理」(DISM) 工具 (如果您執行的是 Windows 7 或 Windows Vista,請略過步驟 3)。

輸入下列命令,然後按下 Enter。 這可能要花費幾分鐘的時間才能完成命令操作。

DISM.exe /Online /Cleanup-image /Restorehealth

重要: 當您執行這個命令時,DISM 會使用 Windows Update 提供修正損毀所需的檔案。 然而,如果您的 Windows Update 用戶端已經損壞,請使用執行中的 Windows 安裝做為修復來源,或者使用網路共用或抽取式媒體 (例如 Windows DVD) 中的 Windows 並存資料夾做為檔案的來源。 若要執行這項操作,請改為執行下列命令:

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

注意:C:\RepairSource\Windows 預留位置取代為修復來源的位置。 如需有關如何使用 DISM 工具修復 Windows 的詳細資訊,請參閱修復 Windows 映像

  1. 在命令提示字元輸入下列命令,然後按下 ENTER:

sfc /scannow

以系統管理員權限-sfc /scannow 的命令提示字元
 

 

sfc /scannow 命令會掃描所有受保護的系統檔案,並以位於 %WinDir%\System32\dllcache 壓縮資料夾中的快取複本取代損毀檔案。
%WinDir% 預留位置代表 Windows 作業系統資料夾, 例如,C:\Windows。

注意:在驗證 100% 完成後,才可關閉 [命令提示字元] 視窗。 此程序完成後,將會顯示掃描結果。

  1. 程序結束後,您可能會收到下列其中個訊息:

    • Windows 資源保護找不到任何整體性違規。


      這表示您沒有任何遺失或損毀的系統檔案。

    • Windows 資源保護無法完成所要求的操作。


      若要解決這個問題,請在 安全模式中執行「系統檔案檢查程式」掃描,並確定 %WinDir%\WinSxS\Temp 中有 PendingDeletes 和 PendingRenames 資料夾。

    • 「Windows 資源保護」發現損毀檔案並已成功修復。 詳細資料包含在 CBS.Log 中 %WinDir%\Logs\CBS\CBS.log.


      如需檢視系統檔案掃描和還原的詳細資訊,請前往 如何檢視系統檔案檢查程式程序的詳細資料

    • 「Windows 資源保護」發現損毀檔案,但無法修復其中某些檔案。 詳細資料包含在 CBS.Log 中 %WinDir%\Logs\CBS\CBS.log.


      如需手動修復損毀的檔案,請 檢視系統檔案檢查程式程序的詳細資料 以找出損毀檔案,然後 以手動方式用已知的良好檔案複本取代損毀檔案

其他相關資訊


如何檢視「系統檔案檢查程式」程序的詳細資料

如需檢視 CBS.Log 檔案所含的詳細資料,您可使用 Findstr 命令將資訊複製至 Sfcdetails.txt 檔案,然後檢視 Sfcdetails.txt 中的詳細資料。 若要執行這項操作,請依照下列步驟執行:
  1. 如先前步驟 1 所述,請開啟提升權限的命令提示字元。
  2. 在命令提示字元輸入下列命令,然後按下 ENTER:
    findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt" 
    注意:Sfcdetails.txt 檔案包含每次「系統檔案檢查程式」工具在電腦上執行時的詳細資料。 該檔案包含「系統檔案檢查程式」工具未修復的檔案相關資訊。 確認日期與時間項目,以判斷上次執行「系統檔案檢查程式」工具時找到的問題檔案。
  3. 從您的桌面開啟 Sfcdetails.txt 檔案。
  4. Sfcdetails.txt 檔案會使用以下格式:
    Date/Time SFC detail
    下列範例記錄檔包含無法修復檔案的項目:
    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 


如何以手動方式用已知的良好檔案複本取代損毀的系統檔案

透過 Sfcdetails.txt 檔案的詳細資訊判斷損毀且無法修復的系統檔案後,請先找出損毀檔案的所在位置,接著以手動方式用已知的良好檔案複本取代損毀的系統檔案。 若要執行這項操作,請依照下列步驟執行:

注意:您可以從另一台執行相同 Windows 版本的電腦取得已知的良好檔案複本。 您可以在該電腦執行「系統檔案檢查程式」程序,以確定您想要複製的系統檔案為良好檔案。

  1. 取得損毀系統檔案的系統管理所有權。 若要執行這項操作,請在提升權限的命令提示字元中,複製並貼上 (或輸入) 下列命令,然後按下 ENTER:
    takeown /f Path_And_File_Name
    注意Path_And_File_Name 預留位置代表損毀檔案的路徑與檔案名稱。 例如,輸入 takeown /f C:\windows\system32\jscript.dll。 
    命令提示字元下,系統管理員權限的命令已成功
     
  2. 授予管理員損毀系統檔案的完整存取權。 若要執行這項操作,請複製並貼上 (或輸入) 下列命令,然後按下 ENTER:
    icacls Path_And_File_Name /GRANT ADMINISTRATORS:F
    注意Path_And_File_Name 預留位置代表損毀檔案的路徑與檔案名稱。 例如,輸入 icacls C:\windows\system32\jscript.dll /grant administrators:F
    以系統管理員權限的命令提示字元
     
  3. 用已知的良好檔案複本取代損毀的系統檔案。 若要執行這項操作,請複製並貼上 (或輸入) 下列命令,然後按下 ENTER:
    複製 Source_File Destination
    注意Source_File 預留位置代表您電腦上已知良好檔案的路徑及檔案名稱,而 Destination 預留位置代表損毀檔案的路徑及檔案名稱。 例如,輸入 copy E:\temp\jscript.dll C:\windows\system32\jscript.dll