系統檔案 (含 DLL、SYS、EXE、OCX 等) 遺失或被非授權版本覆寫,會導致應用程式啟動失敗、藍屏、功能異常。Windows Server 2003 內建 系統檔案檢查器 (SFC, sfc.exe) 可掃描、驗證並自動修復所有受保護系統檔案。
| 參數 | 功能描述 | 適用場景 |
|---|---|---|
/scannow | 立即掃描所有受保護系統檔案,自動以正確版本替換錯誤/遺失檔案,並重建 DLLCache 快取。需安裝來源 (光碟/網路路徑)。 | 常規修復、疑似系統檔損毀 |
/scanonce | 下次重開機時掃描一次所有受保護檔案。需安裝來源。 | 無法進入桌面、需離線掃描 |
/scanboot | 每次開機皆掃描所有受保護檔案。需安裝來源。 | 持續監控環境、高安全需求 |
/cancel | 取消所有暫止的掃描工作 (含 /scanonce、/scanboot)。 | 撤銷排程掃描 |
/enable | 啟用 Windows 檔案保護 (WFP) 正常運作 (預設即啟用)。 | 被第三方工具停用 WFP 後恢復 |
/purgecache | 清空 DLLCache 快取並立即掃描所有受保護檔案。需安裝來源。配合 /cachesize 使用。 | 快取損毀、調整快取大小後 |
/cachesize=x | 設定 DLLCache 快取大小 (MB)。需重開機生效,後須執行 /purgecache。 | 調整快取佔用空間 (預設 400MB) |
/quiet | 安靜模式:自動替換錯誤檔案,不顯示任何提示對話框。 | 自動化腳本/無人值守修復 |
# 1. 立即完整掃描修復 (最常用)
sfc /scannow
# 2. 設定快取 500MB 並重建
sfc /cachesize=500
# 重開機後
sfc /purgecache
# 3. 下次開機單次掃描 (無法進入桌面時)
sfc /scanonce
# 4. 靜默修復 (批次腳本)
sfc /scannow /quiet
%SystemRoot%\System32\Dllcache (快取副本) + %SystemRoot%\System32 (實際執行)I386 目錄),若提示插入光碟可指定網路共享路徑:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePathsfc 是手動觸發全量驗證SourcePath 指向網路共享/本地備份 I386 目錄%SystemRoot%\Logs\CBS\CBS.log (Vista+) 或 %SystemRoot%\WindowsUpdate.log 尋找錯誤代碼Windows Server 2008 R2+ 採用 DISM (Deployment Image Servicing and Management) 取代 SFC:
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
SFC 仍保留相容性,但 DISM 能修復元件存儲 (WinSxS) 更深層問題。
掌握 SFC 完整參數,讓系統檔案損毀不再是無解難題,而是可控的標準化修復流程。