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

套用到
Windows 8.1 Windows 8.1 Enterprise Windows 8.1 Pro Windows 8 Windows 8 Enterprise Windows 8 Pro Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate Windows Vista Enterprise 64-bit Edition Windows Vista Ultimate 64-bit Edition Windows Vista Business Windows Vista Business 64-bit Edition Windows Vista Enterprise Windows Vista Ultimate Windows 10 Windows 11

當關鍵的 Windows 系統檔案遺失或損壞時,你的作業系統可能會開始故障。 常見症狀包括 Windows 功能無法正常運作、系統錯誤,或 Windows 變得無反應或當機。

若遇到這些問題,您可以使用內建的 Windows 修復工具——部署映像服務與管理 (DISM) 以及系統檔案檢查器 (SFC) ——掃描系統檔案並恢復遺失或損壞的 Windows 元件,幫助系統恢復穩定且可正常運作的狀態。

步驟一:執行 DISM

DISM 提供修復損壞檔案所需的檔案。  你應該先執行 DISM 再執行系統檔案檢查器。  方法如下:

  1. 開啟提高權限的命令提示字元。

    1. 輸入cmd搜尋框。
    2. 在搜尋結果中,以滑鼠右鍵按一下 [命令提示字元],然後選取 [以系統管理員身分執行]
    3. 如果系統要求確認或輸入管理員密碼,請輸入密碼或點擊 允許
  2. 命令提示字元 視窗中,輸入以下命令並按下 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 映像」。

步驟 2:執行系統檔案檢查器

命令提示字元 視窗中,輸入以下指令,並按下 ENTER:

sfc /scannow

帶有管理員權限的命令提示字元——sfc /scannow  
 

警告

在驗證 100% 完成前,請勿關閉此命令提示字元視窗。

此 sfc /scannow 指令會掃描所有受保護的系統檔案,並以快取的副本替換損壞的檔案。  此程序完成後,將會顯示掃描結果。 您可能會收到以下其中一種訊息:

掃描結果訊息 對應的動作
Windows 資源保護找不到任何整體性違規。 你沒有缺少或損壞的系統檔案。
Windows 資源保護無法完成所要求的操作。 為了解決這個問題,請 在安全模式下執行系統檔案檢查器掃描。
請確認 PendingDeletesPendingRenames 資料夾都存在於 %WinDir%\WinSxS\Temp 下。
%WinDir% 佔位符代表 Windows 作業系統資料夾,例如 C:\Windows。
「Windows 資源保護」發現損毀檔案並已成功修復。 手術成功。
欲查看系統檔案掃描與還原的詳細資訊,請前往 「如何查看系統檔案檢查程序的詳細資訊」。
「Windows 資源保護」發現損毀檔案,但無法修復其中某些檔案。 如需手動修復損毀的檔案,請 檢視系統檔案檢查程式程序的詳細資料 以找出損毀檔案,然後 以手動方式用已知的良好檔案複本取代損毀檔案

更多資訊

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

請參閱CBS中包含的詳細資訊 。日誌檔案, 請依照以下步驟將日誌中的資訊複製到桌面上可查看的文字檔:

  1. 如前所述,開啟一個升高的命令提示字元。

  2. 命令提示字元 視窗中,請在一行) 輸入以下命令 (,然後按下 ENTER:

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

    注意

    Sfcdetails.txt 檔案包含系統檔案檢查工具在電腦上執行的每次細節。 該檔案包含「系統檔案檢查程式」工具未修復的檔案相關資訊。 確認日期與時間項目,以判斷上次執行「系統檔案檢查程式」工具時找到的問題檔案。

  3. 從桌面開啟 Sfcdetails.txt 檔案。

  4. Sfcdetails.txt 檔案使用以下格式:
    日期/時間 SFC 細節以下範例日誌檔案包含無法修復的檔案條目:2007-01-12 12:10:42,資訊 CSI 00000008 [SR] 無法修復成員檔案 [l:34{17}]“Accessibility.dll”,Accessibility,版本 = 6.0.6000.16386,pA = PROCESSOR_ARCHITECTURE_MSIL (8) ,文化中立,VersionScope 中立,PublicKeyToken = {l:8 b:b03f5f7f7f11d50a3a},類型中立,TypeName 中立, Store 中的 PublicKey 中立,檔案遺失

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

在檢查日誌檔以確定哪個系統檔案損壞且無法修復後,找出損壞檔案的位置,然後手動替換成已知且良好的檔案副本。

要做到這點,請遵循以下指示。  在以下指令中, <Path_And_File_Name> 佔位符代表損壞檔案的路徑與檔案名稱。

注意

你或許能從另一台執行與你電腦相同版本 Windows 的電腦取得已知且良好的系統檔案副本。 你可能想在該電腦上執行系統檔案檢查程序,以確保你打算複製的系統檔案是正確的副本。

步驟 1:取得損壞系統檔案的管理權。

在提升命令提示字元輸入以下命令,然後按下 ENTER:

takeown /f <Path_And_File_Name>

範例:

takeown /f C:\windows\system32\jscript.dll. 

命令提示字元與管理員權限 - 指令成功

步驟 2:授權管理員完全存取損壞的系統檔案。

輸入以下指令,然後按下 ENTER:

icacls <Path_And_File_Name> /grant administrators:F

範例:

icacls C:\windows\system32\jscript.dll /grant administrators:F

帶有管理員權限的命令提示字元

步驟 3:將損壞的系統檔案替換成已知且良好的檔案副本。

輸入以下指令,然後按下 ENTER:

Copy <Source_File> <Destination>

在上述指令中,將佔位符替換 <Source_File>成你電腦上已知良好檔案的路徑和檔名,並將佔位符替換 <Destination> 成損壞檔案的路徑和檔名。

範例:

copy E:\temp\jscript.dll C:\windows\system32\jscript.dll

若上述步驟無法解決問題,您可能需要重新安裝 Windows。 更多資訊請參閱 Windows 中的恢復選項。