在嵌入式世界裡,設備將允許使用FBWF來為作業系統提供更好的彈性和可靠性,它還為作業系統提供無狀態的操作並消除損耗。這些功能主要通過對快取寫入的再定向來完成。快取可以被認為是存儲介質上的一個覆蓋圖,在這張圖形上歸納了磁碟上的內容以及在隨機存儲器當中的緩存覆蓋圖,並將他們組合成為一個新的複合視圖。當系統重新啟動的時候,隨機存取存儲器(RAM)的覆蓋圖被清空了,這時作業系統處於原來的狀態。我們可以通過下面的這張圖表來理解複合視圖快取當中被修改的檔案以及新建的檔案:增強的寫入過濾器(ewf)是另外一個由Windows XP Embedded提供的寫入過濾器,它通過截取對扇區級別的調用來完成寫入過濾功能。保護扇區級別的功能讓EWF擁有了控制整個檔案系統的能力,並通過對扇區的保護達到保護檔案系統的目的。然而,EWF盲目地過濾所有對扇區的讀寫操作,不能直接對檔案進行保護。由於FBWF正是針對檔案級別設計的,它能夠智慧型地針對檔案、資料夾或者任何檔案系統數據結構進行過濾,有效地達到了保護檔案系統的目的。
現在,為了將對檔案系統的保護提高到檔案級別,開發人員需要告訴FBWF哪些檔案或資料夾是需要被保護的,以及哪些是不需要保護的。我們通過一個被稱之為“寫入列表”的表格來完成這項功能。這張表格允許FBWF繞開目錄以及保護卷對檔案的控制,通過FBWF直接在磁碟存儲介質上進行操作。假設一個用戶頻繁地下載和保存視頻檔案,那么設備的存儲介質目錄將會被配置為“可寫入的”,並允許檔案在系統重新啟動後仍然可以被訪問。一些典型的可寫入列表包括日誌檔案和系統事件檔案。
FBWF另外一個有用的特性是能夠實時提交檔案。當作業系統正在運行當中,檔案可以被提交到磁碟上的。假設IT部門的主管需要每月更新其資料庫中的病毒特性信息。這種情況下,資料庫檔案往往被保存在磁碟上,並對其進行保護。當資料庫更新後,這些病毒特性信息並不能被實時地提交,除非一開始就啟用FBWF。這個過程不需要重新啟動系統,也無需事先將更新的內容放進可寫入列表當中。
綜上所述,FBWF的寫入保護在嵌入式設備上是檔案級別的,這一點不同於增強的寫入過濾器(EWF)對嵌入式設備存儲器的扇區級別保護。這一點讓FBWF可以在新的套用場景下工作,比如針對服務套用檔案或是系統檔案的保護,而不用對整個磁碟進行盲目保護。FBWF命令行操作
開始選單—〉運行輸入CMD,打開命令提示符。之後需要的輸入命令
1.查看FBWF的狀態
Fbwfmgr
//查看FBWF的狀態。
也可以使用
Fbwfmgr /displayconfig
//查看FBWF的狀態。
成功返回:
File-based write filter configuration for the current session:
//當前FBWF狀態。
filter state: enabled.
// FBWF現在處在開狀態。
overlay cache data compression state: enabled.
//壓縮覆蓋快取:開啟。
解釋一下FBWF攔截的數據放在緩衝區中即覆蓋快取
overlay cache threshold: 1024 MB.
// 覆蓋快取區大小:1024MB。
overlay cache pre-allocation: disabled.
// 覆蓋快取預分配:關閉。開啟後會預先分配FBWF的覆蓋快取。
size display: virtual mode.
// 覆蓋快取:虛擬模式。FBWF具有兩種模式實際模式和虛擬模式,在虛擬模式下覆蓋快取的可用容量=被防寫驅動器顯示的可用容量。
例如C驅動器被防寫,當前(虛擬模式,系統運行)C驅動器還有128MB的可用空間即表示覆蓋快取還有128MB可用。
protected volume list:
\Device\HarddiskVolume1
//當前受防寫的驅動器,這裡用驅動器號表示
HarddiskVolume1=C:
HarddiskVolume2=D:
……
注意:有時候不是按順序排的。例如:HarddiskVolume3=D:
例如
write through list of each protected volume:
\Device\HarddiskVolume1:
\Documents and Settings\Administrator\Local Settings\Temp
\Documents and Settings\Administrator\Local Settings\Temporary InternetFiles
\Documents and Settings\Administrator\My Documents
\Documents and Settings\Administrator\桌面
\Documents and Settings\All Users\My Documents
\Documents and Settings\All Users\桌面
\RegfData
\WINDOWS\TEMP
\userdata
//FBWF的豁免防寫列表。在列表中的檔案或資料夾不受防寫。\Device\HarddiskVolume3: (none)表示整個驅動器(HarddiskVolume3)又受到防寫。
注意:\RegfData檔案如果存在在C:下不要將其從豁免防寫列表中手動刪除和添加。同樣不要嘗試添加和刪除\fbwf.cfg
File-based write filter configuration for the next session:
//下次啟動系統(系統重起後)FBWF狀態。
filter state: disabled.
// FBWF在下次啟動被關閉。
2. FBWF的開啟和關閉。
開啟:
FbwfMgr /enable
成功返回:
File-based write filter will be enabled on the next reboot.
關閉:
FbwfMgr /disable
成功返回:
File-based write filter will be disabled on the next reboot.
注意:兩條命令都重起後生效
3.向 FBWF豁免防寫列表添加刪除驅動器(添加刪除受FBWF控制的驅動器)
添加:
FbwfMgr /addvolume \Device\HarddiskVolume3
//添加\Device\HarddiskVolume3 添加驅動器到FBWF豁免防寫列表,默認列表為空(該驅動器將受到FBWF保護)
也可以這樣寫
FbwfMgr /addvolume D:
//添加D:驅動器到FBWF豁免防寫列表
正常返回:
Volume \Device\HarddiskVolume3 will be protected after the next reboot.
或者
Volume d: will be protected after the next reboot.
錯誤返回:
Volume cannot be added. Filter is not enabled for the next session.
//下次FBWF為關閉狀態,開啟才能使用。
刪除:
FbwfMgr /removevolume \Device\HarddiskVolume3 1
//從FBWF豁免防寫列表刪除HarddiskVolume3 驅動器 (該驅動器將不再受到FBWF保護)
也可以這樣寫
FbwfMgr /removevolume d: 1
//從FBWF豁免防寫列表刪除d: 驅動器
注意本命令有一個開關
1代表:重起後刪除該驅動器豁免防寫列表。
0代表:重起後不刪除該驅動器豁免防寫列表。
正常返回:
Volume \Device\HarddiskVolume3 will not be protected after the next reboot.
或者
Volume d: will not be protected after the next reboot.
錯誤返回:
Volume cannot be added. Filter is not enabled for the next session.
//下次FBWF為關閉狀態,開啟才能使用。
注意:兩條命令都是重起後生效,並且下次重起FBWF為開啟狀態才能執行。
4. 向FBWF豁免防寫列表(不受FBWF防寫)添加資料夾。
添加資料夾:
FbwfMgr /addexclusion \Device\HarddiskVolume1 \Temp
//將Device\HarddiskVolume1\Temp 資料夾添加進FBWF豁免防寫列表。
也可以這樣寫:
FbwfMgr /addexclusion c: \Temp
//將c:\Temp資料夾添加到FBWF豁免防寫列表。
成功返回:
Path \Temp on volume \Device\HarddiskVolume1 will be in the exclusion list after the next reboot.
或者
Path \Temp on volume c: will be in the exclusion list after the next reboot.
錯誤返回:
Path cannot be added. Filter is not enabled for the next session.
// 下次FBWF為關閉狀態,開啟才能使用。
注意:命令中磁碟號和資料夾路徑有一個空格。
命令中盤符和文件夾路徑有一個空格
例如:正確的表示:Device\HarddiskVolume1 \Temp 或者c: \Temp
錯誤的表示:Device\HarddiskVolume1\Temp 或者:c:\Temp
注意:命令重起後生效,並且下次重起FBWF為開啟狀態才能執行。
即使路徑不存在也可以添加,但是必須先用FbwfMgr /addvolume命令添加驅動器否則會出現錯誤:FbwfMgr failed: 系統找不到指定的驅動器。
5.向FBWF豁免防寫列表(不受FBWF防寫)添加檔案。
FbwfMgr /addexclusion \Device\Harddisklume1 \1.txt
//將Device\HarddiskVolume1\1.txt 檔案添加進FBWF豁免防寫列表。
也可以這樣寫
FbwfMgr /addexclusion c: \1.txt
//將c:\1.txt 檔案添加進FBWF豁免防寫列表。
成功返回:
Path \1.txt on volume \Device\HarddiskVolume1 will be in the exclusion list after the next reboot.
或者
Path \1.txt on volume c: will be in the exclusion list after the next reboot.
錯誤返回:
Path cannot be added. Filter is not enabled for the next session.
// 下次FBWF為關閉狀態,開啟才能使用。
注意:命令中磁碟號和檔案路徑有一個空格。
命令中盤符和檔案路徑有一個空格
例如:正確的表示:Device\HarddiskVolume1 \1.txt 或者c: \1.txt
錯誤的表示:Device\HarddiskVolume1\1.txt 或者:c:\1.txt
注意:。
命令重起後生效,並且下次重起FBWF為開啟狀態才能執行。
即使路徑不存在也可以添加,但是必須先用FbwfMgr /addvolume命令添加驅動器否則會出現錯誤:FbwfMgr failed: 系統找不到指定的驅動器。
6.刪除FBWF豁免防寫列表(不受FBWF防寫)的資料夾
FbwfMgr /Removeexclusion \Device\HarddiskVolume1 \Temp
//將Device\HarddiskVolume1\Temp 從FBWF豁免防寫列表中刪除。
也可以這樣寫:
FbwfMgr /Removeexclusion c: \Temp
//將c:\Temp資料夾從FBWF豁免防寫列表中刪除。
注意:命令中磁碟號和資料夾路徑有一個空格。
命令中盤符和資料夾路徑有一個空格
例如:正確的表示:Device\HarddiskVolume1 \Temp 或者c: \Temp
錯誤的表示:Device\HarddiskVolume1\Temp 或者:c:\Temp
注意:命令重起後生效,並且下次重起FBWF為開啟狀態才能執行。
7.刪除FBWF豁免防寫列表(不受FBWF防寫)的檔案
FbwfMgr /Removeexclusion \Device\Harddisklume1 \1.txt
//將Device\HarddiskVolume1\1.txt 檔案添加進FBWF豁免防寫列表。
也可以這樣寫
FbwfMgr /Removeexclusion c: \1.txt
//將c:\1.txt 檔案從BWF豁免防寫列表中刪除。
注意:命令中磁碟號和檔案路徑有一個空格。
命令中盤符和檔案路徑有一個空格
例如:正確的表示:Device\HarddiskVolume1 \1.txt 或者c: \1.txt
錯誤的表示:Device\HarddiskVolume1\1.txt 或者:c:\1.txt
注意:
命令重起後生效,並且下次重起FBWF為開啟狀態才能執行。
8.將FBWF覆蓋緩衝區的檔案寫入磁碟(將改變的檔案寫入磁碟保存)
FbwfMgr /commit \Device\Harddisklume1 \1.txt
//將Device\HarddiskVolume1\1.txt 從FBWF覆蓋緩衝區寫入磁碟(重起後1.txt不會復位)
也可以這樣寫
FbwfMgr /commit c: \1.txt
//將Device\HarddiskVolume1\1.txt從FBWF覆蓋緩衝區寫入磁碟(重起後1.txt不會復位)
成功返回:
Changes made to file \1.txt on volume C: are committed.
注意:不支持資料夾和通配符(*.*)。
(使用通配符發現返回下列錯誤:測試的時候發現FbwfMgr failed: Windows 無法找到網絡路徑。請確認網路路徑正確並且目標計算機不忙或已關閉。 如果 Windows 仍然無法找到網路路徑,請與網路管理員聯繫。)
不支持在FBWF開啟後新建的檔案。根目錄除外。
不支持在FBWF豁免列表的檔案,
9.放棄FBWF覆蓋緩衝區的檔案緩衝。
FbwfMgr /restore \Device\Harddisklume1 \1.txt
//放棄Device\HarddiskVolume1\1.txt 檔案在FBWF覆蓋緩衝區的內容(1.txt檔案會立即復位)
也可以這樣寫
FbwfMgr /restore c: \1.txt
//放棄Device\HarddiskVolume1\1.txt檔案在FBWF覆蓋緩衝區的內容(1.txt檔案會立即復位)
成功返回:
Changes made to file \1.txt on volume C: are committed.
注意:不支持資料夾和通配符(*.*)。
(使用通配符發現返回下列錯誤:測試的時候發現FbwfMgr failed: Windows 無法找到網路路徑。請確認網路路徑正確並且目標計算機不忙或已關閉。 如果 Windows 仍然無法找到網路路徑,請與網路管理員聯繫。)
不支持在FBWF開啟後新建的檔案。根目錄除外。
不支持在FBWF豁免列表的檔案,
10.察看詳細的FBWF覆蓋緩衝使用情況
FbwfMgr / overlaydetail
成功返回:
Overlay detail for each protected volume:
\Device\HarddiskVolume1:
//驅動器號:\Device\HarddiskVolume1:
file
1: name \Documents and Settings\Administrator\Application Data\Microsoft\Windows\Themes\Custom.theme
cache size 2544, open handle 0
//檔案號碼、完整路徑
//占用快取大小、是否被打開。
file
2: name \Documents and Settings\Administrator\Application Data\Microsoft\CryptnetUrlCache\MetaData\60E31627FDA0A46932B0E5948949F2A5
cache size 418, open handle 0
file
3: name \Documents and Settings\Administrator\Application Data\Microsoft\CryptnetUrlCache\MetaData\A8FABA189DB7D25FBA7CAC806625FD30
cache size 427, open handle 0
file
4: name \Documents and Settings\Administrator\Application Data\Microsoft\CryptnetUrlCache\Content\60E31627FDA0A46932B0E5948949F2A5
cache size 1133, open handle 0
file
5: name \Documents and Settings\Administrator\Application Data\Microsoft\CryptnetUrlCache\Content\A8FABA189DB7D25FBA7CAC806625FD30
cache size 63014, open handle 0
file
6: name \Documents and Settings\Administrator\Cookies\Index.dat
cache size 364, open handle 1
……
file 194: name \WINDOWS\SchedLgU.Txt
cache size 454, open handle 1
file 195: name \WINDOWS\setupapi.log
cache size 48648, open handle 0
file 196: name \WINDOWS\setupact.log
cache size 1264, open handle 0
file 197: name \WINDOWS\Installer\89f0c.msi
cache size 2342814, open handle 0
file 198: name \WINDOWS\Installer\{3B410500-1802-488E-9EF1-4B11992E0440}\ARPPRODUCTICON.exe
cache size 16053, open handle 0
file 199: name \WINDOWS\Installer\{3B410500-1802-488E-9EF1-4B11992E0440}\1033.MST
cache size 7471, open handle 0
file 200: name \1.txt
cache size 428, open handle 1
Memory consumed by directory structure: 1864 KB
Memory consumed by file data: 17897 KB
//目錄占用快取大小。
//檔案占用快取大小。
10.改變FBWF覆蓋緩衝容量。
fbwfmgr
/setthreshold 128
//設定FBWF覆蓋緩衝容量為128MB(16MB-1024MB)。
成功返回:
Overlay cache threshold will be 128 MB after the next reboot.
注意:命令重起後生效
11.設定是否壓縮覆蓋快取
FbwfMgr /setcompression 1
//開啟壓縮覆蓋快取
成功返回:
Overlay cache will be compressed after the next reboot.
FbwfMgr /setcompression |0
//關閉壓縮覆蓋快取
成功返回:
Overlay cache will not be compressed after the next reboot.
注意:開啟壓縮覆蓋快取後預分配覆蓋快取自動關閉,命令重起後生效
12.設定是否預分配壓縮覆蓋快取
FbwfMgr /setpreallocation 1
//開啟預分配覆蓋快取
成功返回:
Overlay cache will be pre-allocated after the next reboot.
FbwfMgr /setpreallocation 0
//關閉預分配覆蓋快取
成功返回:
Overlay cache will not be pre-allocated after the next reboot.
注意:開啟預分配覆蓋快取後壓縮覆蓋快取自動關閉,命令重起後生效。
13.設定FBWF覆蓋快取容量顯示是虛擬模式還是實際模式。
FbwfMgr /setsizedisplay 1
//開啟虛擬模式,在虛擬模式下覆蓋快取的可用容量=被防寫驅動器顯示的可用容量。
例如C驅動器被防寫, C驅動器還有128MB的可用空間即表示覆蓋快取還有128MB可用。
成功返回:
Size Display set to virtual mode.
//開啟虛擬模式
FbwfMgr /setsizedisplay 0
//開啟實際模式
成功返回:
Size Display set to actual mode.
注意:改變模式需要重起後才能生效。
14.顯示磁碟有效容量。
fbwfmgr /getvirtualsize c:
//顯示C驅動器有效容量。
成功返回:
Volume size in bytes: 2,034,651,136
//總容量大小
Volume free size in bytes: 1,055,412,224
//可用容量大小
15.顯示磁碟實際可用容量盤。
fbwfmgr /getactualsize c:
//顯示C驅動器實際可用容量大小盤。
成功返回:
Volume size in bytes: 8,587,159,552
//總容量大小
Volume free size in bytes: 7,623,450,624
//可用容量大小
16.獲得FBWF控制台幫助
FbwfMgr /?
也可以這樣寫
FbwfMgr /help
成功返回:
FbwfMgr /? | /help [command] |
/displayconfig | /overlaydetail | /enable | /disable |
/addvolume VolumeName | /removevolume volumename 1|0 |
/addexclusion volumename file_or_dir_path |
/removeexclusion volumename file_or_dir_path |
/commit volumename file_path | /restore volumename file_path |
/setthreshold threshold | /setcompression 1|0
/setpreallocation 1|0
/setsizedisplay 1|0
/getvirtualsize volumename
/getactualsize volumename
// FBWF控制台的各種命令
To get help for each individual command, for example, "/addvolume",
enter the following command:
FbwfMgr /help /addvolume
// 使用FbwfMgr /help / FBWF控制台命令獲得改名的的詳細幫助。
補充一下:
如果路徑有空格要加""
Device\HarddiskVolume1\ "1 2\1.txt"
表示:
(Device\HarddiskVolume1\1 2\1.txt)
(C:\1 2\1.txt)
1 2這個資料夾有一個空格,不是12。