在 Windows XP Embedded 中使用 Enhanced Write Filter (EWF) Stephen Berard
Microsoft Corporation
适用于:
Microsoft® Windows XP® Embedded with Service Pack 1
摘要:學習如何使用 Enhanced Write Filter (EWF) 并了解它的好處、它的限制以及一些有效使用它的技巧。

簡介
EWF 提供了一種保護卷以防止寫入的手段。這使作業系統 (OS) 可以從隻讀媒體(如 CD ROM、寫保護硬碟或閃存)中啟動。所有對受到 EWF保護的卷進行的寫入都被重定向到覆寫。這些寫入被緩存在覆寫中并且作為卷的一部分提供。這會産生該卷可寫的表象。覆寫可能存在于磁盤或随機通路記憶體 (RAM) 中。如果需要,可以将覆寫中存儲的資料送出給受保護的卷。圖 1 概述了 EWF。
圖 1. EWF 概述
覆寫的類型
Microsoft® Windows® XP Embedded with Service Pack 1 (XPE w/SP1) 中支援兩個基本類型 EWF 覆寫。首先是基于磁盤的覆寫,它将所有寫入操作重定向到硬碟上的不同分區。如果需要,可以将覆寫分區中存儲的資料送出到受保護的卷。對于單個卷,可能存在多個磁盤覆寫,并且這些覆寫可能分層。通過這一機制,可以為磁盤建立多個檢查點。您可以剝離覆寫層以便還原到以前的視圖。這可以通過 EWF 管理器應用程式進行控制(有關詳細資訊,請參閱下面的“EWF 管理器應用程式”部分)。XPE w/SP1 每卷最多支援 9 個覆寫。
第二種類型的覆寫是基于 RAM 的覆寫。基于 RAM 的覆寫将所有寫入操作重定向到記憶體。通常,當計算機關閉或重新啟動時,該資料會丢失。XPE w/SP1 能夠使該資料在關機後繼續存在。但是,如果計算機不是正常關機,則資料會丢失。每個卷隻能配置 1 個 RAM 覆寫。
下表概述了每個覆寫類型的優缺點:
基于磁盤的覆寫 基于 RAM 的覆寫
優點
1.
保護磁盤上的資料以避免被改變或破壞
2.
提供磁盤内容的多個快照
3.
允許将磁盤寫入操作送出到受保護的卷
4.
還原到以前的覆寫級别
1.
保護磁盤上的資料以避免被改變或破壞
2.
啟用無狀态操作
3.
使 XPE 能夠在沒有持久性存儲的系統上運作
缺點
1.
要求對驅動器進行分區以容納覆寫分區
2.
需要額外的系統開銷,可能影響某些裝置上的性能
1.
需要額外的記憶體,以存儲在覆寫中緩存的資料
2.
當系統重新啟動時,資料丢失
配置基于磁盤的覆寫
下列步驟詳細說明了如何配置映像以支援 EWF 磁盤覆寫:
1.
在目标設計器中,向映像中添加 Enhanced Write Filter 元件。如果您要保護啟動卷,則還需要包含 EWF NTLDR 元件。
2.
配置裝置的設定,并選擇 DISK 作為覆寫類型。在“EWF Volume Configuration”中,選擇受保護的卷的數量和覆寫級别。根據您希望在覆寫中具有的空間量,設定分區大小。確定為每個受保護的卷輸入磁盤号和分區号。還應該選中 Start EWF Enabled 複選框。有關所有字段的說明,請參閱 Windows XP Embedded 文檔。
圖 2. 配置基于磁盤的覆寫
3.
配置、生成映像并将其部署到裝置。需要對驅動器進行分區,以便在驅動器上的擴充分區中具有可用的空閑空間。這将由 EWF 用來在磁盤覆寫中存儲資料。是以,它需要足夠大以便容納您的資料。例如,要使受保護的卷可以使用 100 MB 的覆寫,該分區必須起碼為 100 MB。
注 如果擴充分區不存在,并且您具有的主分區少于四個,則将需要在驅動器上保留未分區的空間。
4.
啟動裝置。在 FBA 期間,EWF 将基于系統資料庫中的設定配置本身。它将建立并格式化 EWF 分區。
配置基于 RAM 的覆寫
下列步驟詳細說明了如何配置映像以支援 EWF RAM 覆寫:
1.
在目标設計器中,向映像中添加 Enhanced Write Filter 元件。
2.
配置裝置的設定,将 EWF 分區大小設定為 0,并且選擇 RAM 作為覆寫類型。在“EWF Volume Configuration”中,選擇受保護的卷的數量。将覆寫級别的數量設定為 1,将分區大小設定為 0。確定為每個受保護的卷輸入磁盤号和分區号。而且,選中 Start EWF Enabled複選框。有關所有字段的說明,請參閱 Windows XP Embedded 文檔。
圖 3. 配置基于 RAM 的覆寫
3.
配置、生成映像并将其部署到裝置。您需要将驅動器分區,以便在該驅動器上的擴充分區中至少具有 32 KB 的可用空閑空間(有關詳細資訊,請參閱上一部分中的附注)。該空間将被 EWF 用于在前後兩次啟動之間存儲 RAM 覆寫的配置資料。
4.
啟動裝置。在 FBA 期間,EWF 将基于系統資料庫中的設定配置本身。它将建立一個最小的 EWF 分區來存儲它的配置資訊。
EWF 管理器應用程式
EWF 管理器應用程式是一個用于管理裝置上的 EWF 的控制台實用工具,。它是一個可以添加到配置中的可選元件。它使您可以控制 EWF 操作。您可以通過發出以下指令來檢查 EWF 狀态:
Ewfmgr
EWF 管理器顯示類似于以下内容的結果:
Overlay ConfigurationVolume Size 2048030208Segments 8192Segment Size 249856Free segments 8192Max Levels 3Max Protected Volumes 1Protected Volumes 1Overlay volume percent full 0.00Protected volumesArc Path "\Device\HarddiskVolume1"
您可以檢查 EWF 卷和覆寫的狀态,啟用/禁用 EWF,設定檢查點,以及送出和復原更改。所有非狀态指令都在下一次重新啟動時生效。有關每個指令及其用法的詳細資訊,請參閱 Windows XP Embedded 文檔。
EWF 問題疑難解答
EWF 在 FBA 過程中向 FBAlog.txt 檔案報告錯誤。在 FBA 已經完成之後,可以分析該檔案,以了解有關 EWF 的狀态的詳細資訊。檢查該資訊,以確定 EWF 能夠建立分區、建立正确的覆寫類型以及保護所需的卷。
建立 EWF 分區時失敗
最常見的錯誤之一是在建立 EWF 分區時失敗。請確定在具有不到四個主分區的驅動器上,具有處于擴充分區中的可用空閑空間或者未分區的空間。EWF 将從該空間建立分區以存儲配置資訊。就磁盤覆寫而言,該分區還将存儲寫入受 EWF 保護的卷的任何資料。這分區或許可以在磁盤管理器中看到;但是,它将不具有驅動器号。
不停地重新啟動
當 FBA 試圖在已經包含以前的 EWF 分區的系統上配置 EWF 分區時,可能發生不停地重新啟動這種情況。這通常發生在開發場所中 — 在這裡,反複使用同一系統進行開發和測試。要解決該問題,請清除 EWF 分區。這可以用以下指令完成:
Etprep /delete寫入 EWF 分區時出錯
在寫入受到 EWF保護的分區時,可能得到以下錯誤資訊:
Delayed Write Failed. Windows was unable to save all data for the file
在用完 EWF 分區中的空間時,會發生這種情況。增加 EWF 分區的大小(基于磁盤的覆寫)或者安裝額外的記憶體(基于 RAM 的覆寫)将有助于避免該問題。
成功技巧
下列主題讨論了一些與存儲和磁盤卷有關的問題。
EWF 通常需要由一些持久性存儲進行支援
大多數 EWF 配置必須将一些存儲配置設定給 EWF。即使對于 RAM 覆寫而言,也是如此。這是因為 EWF 驅動程式需要在前後兩次啟動之間存儲配置資料。對于磁盤覆寫而言,該資料存儲在覆寫分區中。對于 RAM 覆寫而言,必須提供少量未分區的空間(大約 32 KB)。
對于隻有單個受保護卷的 RAM 覆寫而言,存在例外。在這種情況下,EWF 分區可能在 FBA 完成之後删除。這是為了适應諸如 El Torito 和從閃存中啟動之類的情況。在這種情況下,設定被存儲在系統資料庫中。
EWF 隻支援由受保護的卷報告的可用空間數量
在基于磁盤和基于 RAM 的覆寫中,EWF 隻支援由基礎的、受保護的卷報告的資料量的寫入操作。無論系統可用的空閑磁盤或 RAM 的數量如何,都是如此。這是因為 EWF 假設資料可能必須在基礎卷中持續儲存。
從基于磁盤的覆寫所保護的 EWF 卷中啟動要求使用 EWF NTLDR
在從由基于磁盤的覆寫所支援的、受到 EWF 保護的卷中啟動時,必須使用 EWF NTLDR。使用該元件而不是标準的 NT 加載程式 (NTLDR)。在從由基于 RAM 的覆寫所支援的受保護卷中啟動時,不需要使用 EWF NTLDR。從 El Torito CD 啟動時不需要使用 EWF NTLDR。
EWF 隻支援基本磁盤
EWF 元件隻能使用基本磁盤。動态磁盤不受支援。
小結
Enhanced Write Filter 為嵌入式開發人員提供了一種靈活的工具,以便防止卷被寫入。這使 OS 和其他需要讀寫媒體的軟體無須修改即可操作。它的靈活性使其可以在多種情況下使用,這包括從閃存、CD ROM 和隻讀磁盤中啟動。
轉載于:https://www.cnblogs.com/cracksa/archive/2012/08/30/win-20-3.html