他的功能是在所有的file io (類似Linux的VFS)中,加上一個Filter,分離read, write的動作。
並且可以控制這個read write動作。
例如 : 控制所有write到hd的動作到ram 中,這樣HD的內容就永遠不會被改變。
同時,在作read時,要將RAM一併考慮,將HD + RAM = final 的動作做出來。
這樣就可以做到 : 將所有執行時期的hd 更動,都留存在ram中。而讓其上的application沒有感覺。
當system reboot後,所有RAM的資料都會消失,所以系統還是維持在hd最初的install狀態。
這個在Linux上,可能用cramfs,解開到RAM。或是區分出需要保護和不需要保護的folder,安排到hd或ramfs中。可以作更細的調整。EWF除了保護hd,將所有modification排除。還可以暫時將這個功能關閉,將RAM sync到HD(MS叫commit)。
當然,也可以做到像EWF一樣,完全保護的功能:一些LiveCD就是這樣。
要使用EWF,要將"Enhance Write Filter"加入target中。
要管理EWF,要將"EWF Manager Console application"加入target中。
要使用有利用到EWF的application,要把"Enhance Write Filter API"加到target中。
Enhance Write Filter有幾個參數要設定,和你要使用的EWF 模式有關。
最基本的就是設成RAM Overlay。
Overlay Type : RAM
就是像上面提到的一樣,將 modification 存到RAM中,不要對HD作修改。
其他可以設定 Overlay Type : DISK,是另外create一個partition,將修改存到disk中。
EWF Partition Size in KByte 就是在將Overlay Type設定為DISK,要使用多大的partition來存放修改的部份。
所以OverlayType:RAM時,這一項就可以設成0。
Start EWF Enabled : 第一次啟動就要將EWF啟動起來?
啟動後,可以用ewfmngr來控制/檢查ewf。
ewfmngr.exe在 c:\windows\system32
ewfmngr partition -command
partition - 就是ewf保護的partition,例如C:, D:
command - 就是要對partition的動作,如disable, enable, commit,
啟動後,開啟CMD,到c:\windows\system32..
ewfmngr c:會顯示出目前C:上ewf的狀態,ENABLE或是DISABLE,
還有Boot Cmd ,代表下次開機時,給ewf的comand。
用
ewfmngr c: -enable可以將Boot Cmd設定為ENABLE。這樣下次開機時,EWF就會開啟。
同理,用 "-disable"的話,下次開機ewf就會關閉。
ewf的開/關只有在開機時能夠設定。系統運行中 無法改變。下完command後要reboot才會生效。
所以來看看 -commit 命令..
commit命令有點類似 sync,就是將RAM的部份synch到hd中。
假設系統ewf是enable...
1.modify 1然後reboot, modify 1 和 2 都會sync回hd。跟你下commit的時間無關(因為commit只能在boot時動作)。
2.-commit
3.modify 2
更詳細一點說明,commit動作會在poweroff時將ram sync回hd。
也就是說,commit後,把電源拔掉(不循正常關機步驟),所有modify也不會sync回hd。
還有.. -nocmd ,是將ewf的boot command清除,所以不管commit前後有多少modification,下了 - nocmd後,因為boot command是 No Cmd,所以所有資料在reboot後也不會sync回hd。
.... 上面這一點是很迷惑的地方.
還有,即使使用RAM overlay,照理overlay 不會使用到HD。但是ewf還是會需一塊約32k的partition (Neil甚至說最好保留2M),據TS說明,這是一些RAM Block的pointer 的set。指向那些RAM overlay。
所以在create partition時,要預留一些unpartitioned space讓ewf使用。
同時因為一個HD有4個primary partition的限制,所以也不能把partition都create光。要留一個給ewf用。
查ewf會在protect的partition後面create一個system id 45的小partition。
所以XPe boot後的HD,用XP disk manager看會看不到system id 45那一個partition,導致刪除不掉,用partition Magic和Norton disk partitioner也一樣。
------ spfdisk 可以看到。
沒有留言:
張貼留言