古詩詞大全網 - 個性簽名 - windows文件保護的WFP 功能的工作方式

windows文件保護的WFP 功能的工作方式

WFP 功能使用兩種機制為系統文件提供保護。第壹種機制在後臺運行。在 WFP 收到受保護目錄中的文件的目錄更改通知後,就會觸發這種保護機制。WFP 收到這壹通知後,就會確定更改了哪個文件。如果此文件是受保護的文件,WFP 將在編錄文件中查找文件簽名,以確定新文件的版本是否正確。如果此文件的版本不正確,WFP 將使用高速緩存文件夾(如果文件位於高速緩存文件夾中)或安裝源中的文件替換新文件。WFP 按下面的順序在下列位置搜索正確的文件:

高速緩存文件夾(默認位置是 %systemroot%\system32\dllcache)。

網絡安裝路徑(如果系統是通過網絡安裝的)。

Windows CD-ROM(如果系統是從 CD-ROM 安裝的)。

如果 WFP 在高速緩存文件夾中找到此文件,或者自動找到安裝源,WFP 就會替換文件而不給出提示。如果 WFP 在所有這些位置均無法自動找到此文件,將會出現以下消息之壹。其中 file_name是被替換的文件的名稱,product是您所使用的 Windows 產品:Windows 文件保護

正常運行 Windows 所需的文件已被替換成無法識別的版本。要保持系統的穩定性,Windows 必須還原這些文件的原始版本。請現在插入 productCD-ROM。

Windows 文件保護

無法使用應該從中復制這些文件的網絡位置 \\server\share。請與系統管理員聯系或現在插入 productCD-ROM。

註意:如果管理員沒有登錄,則 WFP 無法顯示上述任何壹個對話框。在這種情況下,WFP 會在管理員登錄之後顯示對話框。在下列情況中,WFP 可能會等待管理員登錄:

SFCShowProgress 註冊表項丟失或設置為 1,且服務器設置為在計算機每次啟動時進行掃描。在這種情況下,WFP 會等待控制臺登錄。因此,在執行掃描前,RPC 服務器不會啟動。在此期間,計算機不具備保護功能。

註意:您仍可以映射網絡驅動器、使用系統文件以及使用終端服務登錄到服務器。WFP 不會將這些操作視為控制臺登錄,並且會無限期地等待。

WFP 必須從網絡***享還原文件。如果文件不在 Dllcache 文件夾中或已損壞,則可能發生此情況。在這種情況下,WFP 可能不具有從基於網絡的安裝媒體訪問***享所需的正確憑據。

WFP 功能提供的第二種保護機制是系統文件檢查器 (Sfc.exe) 工具。GUI 模式安裝結束時,系統文件檢查器工具對所有受保護的文件進行掃描,確保使用無人參與安裝過程安裝的程序沒有對它們進行修改。系統文件檢查器工具還對用來跟蹤正確文件版本的所有編錄文件進行檢查。如果任何編錄文件丟失或損壞,WFP 將重命名受影響的編錄文件,並在高速緩存文件夾中檢索該文件的高速緩存版本。如果高速緩存文件夾中沒有該編錄文件的高速緩存副本,則 WFP 功能請求相應的介質以檢索該編錄文件的新副本。

管理員可以使用系統文件檢查器工具來掃描所有受保護的文件,以驗證它們的版本。系統文件檢查器工具還可用於檢查並重新填充高速緩存文件夾(默認位置是 %SystemRoot%\System32\Dllcache)。如果高速緩存文件夾損壞或無法使用,您可以在命令提示符下使用 sfc /scanonce或 sfc /scanboot命令來修復此文件夾的內容。

下面的註冊表項中的

SfcScan

值有三種可能的設置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

SfcScan

值的設置是:0x0

= 在重新啟動後不掃描受保護的文件。(默認值)0x1

= 在每次重新啟動後掃描所有受保護的文件(如果運行 sfc /scanboot,則設置此值)。0x2

= 在重新啟動後掃描壹次所有受保護的文件(如果運行 sfc /scanonce,則設置此值)。默認情況下,將所有系統文件緩存到高速緩存文件夾中,高速緩存的默認大小為 400 MB。考慮到磁盤空間有限,最好不要在高速緩存文件夾中保存所有系統文件的高速緩存版本。要更改高速緩存的大小,請在下面的註冊表項中更改 SFCQuota

值的設置:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

WFP 將驗證過的文件版本存儲在硬盤上的 Dllcache 文件夾中。高速緩存文件的數量取決於 SFCQuota

值的設置(默認大小是 0xFFFFFFFF 或 400 MB)。管理員可以根據需要來設置 SFCQuota

值。註意,如果將 SFCQuota

值設置為 0xFFFFFFFF

,則 WFP 功能緩存所有受保護的系統文件(大約為 2700 個文件)。

在以下兩種情況下,不管將 SFCQuota 值設置為多少,高速緩存文件夾都不可能包含所有受保護文件的副本:磁盤空間不足。

在 Windows XP 下,當硬盤上的可用空間比 600 MB 與最大頁面文件大小之和少時,WFP 停止填充 Dllcache 文件夾。

在 Windows 2000 下,當硬盤上的可用空間少於 600 MB 時,WFP 停止填充 Dllcache 文件夾。

網絡安裝。

通過網絡安裝 Windows 2000 或 Windows XP 時,在 Dllcache 文件夾中不會填充 i386\lang 目錄文件。

此外,還會保護 Driver.cab 文件中的所有驅動程序,但是,不會將它們填充到 Dllcache 文件夾中。WFP 可直接從 Driver.cab 文件還原這些文件,而無須提示用戶指定源介質。但是,如果運行 sfc /scannow命令,就會將 Driver.cab 文件中的這些文件填充到 Dllcache 文件夾中。

如果 WFP 檢測到發生了文件更改,並且受影響的文件不在高速緩存文件夾中,則 WFP 檢查操作系統正在使用的已更改文件的版本。如果目前正在使用的文件是正確版本,則 WFP 將此文件版本復制到高速緩存文件夾中。如果目前正在使用的文件不是正確版本,或者沒有在高速緩存文件夾中緩存此文件,則 WFP 試圖查找安裝源。如果 WFP 找不到安裝源,它將提示管理員插入相應的介質以替換文件或緩存的文件版本。

以下註冊表項中的 SFCDllCacheDir

值 (REG_EXPAND_SZ

) 指定 Dllcache 文件夾的位置。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

SFCDllCacheDir值的默認值數據是 %SystemRoot%\System32

。SFCDllCacheDir

值可以是本地路徑。默認情況下,HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

註冊表項中未列出 SFCDllCacheDir

值。要修改高速緩存位置,您必須添加該值。

在 Windows 啟動時,WFP 將註冊表項HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Windows File Protection

中的 WFP 設置同步(復制)到以下註冊表項:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

因此,如果 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Windows File Protection

子項中包含 SfcScan

、SFCQuota

或 SFCDllCacheDir

值,則這些值優先於 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

子項中的相同值。