Windows File Protection (WFP) 可防止關鍵系統檔案(.dll、.ocx、.sys、.cpl 等)被覆寫或刪除,自動從 %SystemRoot%\System32\DllCache 還原。本文教您透過群組原則精細控制 WFP 行為,並說明 sfc.exe 指令操作。
路徑: 電腦設定 → 管理範本 → 系統 → Windows 檔案保護
| 原則名稱 | 功能說明 | 建議設定 |
|---|---|---|
| 設定 Windows 檔案保護掃描 | 啟用/停用 WFP;掃描頻率:每次開機 / 僅安裝時 | 已啟用 → 掃描頻率:每次開機 |
| 隱藏檔案掃描進度視窗 | 開機掃描時不顯示進度對話框 | 已啟用(加快開機體感) |
| 限制 Windows 檔案保護快取大小 | 限制 DllCache 資料夾最大容量 (MB) | 已啟用 → 300 (視磁碟空間調整) |
| 指定 Windows 檔案保護快取位置 | 變更 DllCache 路徑(移至非系統碟省空間) | 已啟用 → D:\WFP_Cache (需預建資料夾) |
設定完成需重開機生效。
| 指令 | 用途 | 說明 |
|---|---|---|
sfc /scannow | 立即掃描並修復所有受保護系統檔案 | 最常用,需插入安裝媒體或指定來源路徑 |
sfc /scanonce | 下次重開機時掃描一次 | 登錄表 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SFCScan = 1 |
sfc /scanboot | 每次開機掃描 | 登錄表 SFCScan = 2 |
sfc /revert | 恢復預設(不主動掃描) | 登錄表 SFCScan = 0 |
sfc /purgecache | 清空 DllCache 快取 | 釋放空間,之後修復需安裝媒體 |
sfc /cachesize=500 | 設定快取大小上限 (MB) | 需重開機生效,等同群組原則「限制快取大小」 |
sfc /scannow → 重開機。sfc /cachesize=200 → 重開機 → sfc /purgecache(清空舊快取)。D:\WFP_Cache → 重開機。sfc /scannow,若顯示「Windows 資源保護找不到任何完整性違規」→ WFP 正常運作。C:\Windows\System32\drivers\etc\hosts,檢查是否自動從 DllCache 還原(需幾秒至幾分鐘)。sfc /scannow 繼續適用,群組原則路徑變更為「電腦設定 → 管理範本 → 系統 → Windows 資源保護」。