- - PR -
「いまさら聞けない Windows XP Embedded入門」では、Windows XP Embedded(以下XP Embedded)とWindows XP Professional(XP Professional)の相違点を中心に、XP Embeddedの概要を紹介しました。本稿では、XP Embedded特有の機能であり、OS構築時の「キモ」となる「Enhanced Write Filter」について解説します。
Enhanced Write Filter概要
前述したとおり、Enhanced Write Filter(EWF)はXP Embedded特有の機能であり、OSランタイムイメージへの書き込み制限機能を提供します。
組み込みデバイスでは、急な電源断に対しても機能が失われないシステム設計を要求されたり、ハードウェアの制約上(Compact Flashカードなどが起動ストレージである場合など)ディスクへの書き込みを抑止する必要があります。これらは、XP Professionalの機能だけでは実現できません。EWFは、組み込みデバイスにおけるこのようなニーズに対して提供されている機能です。
EWFの機能として、以下の2点が挙げられます。
- システム上の1つ以上のパーティションに対しての書き込み禁止機能
- CD-ROMやフラッシュメディアなどの読み取り専用・リムーバブルメディアからのブート機能
EWFは、保護パーティション(書き込み禁止にしたパーティション)に対する書き込みをRAMあるいは別のパーティションへリダイレクトすることにより、OSランタイムイメージへの書き込みを保護します。
![]() |
| 図1 Enhanced Write Filterの構造 |
EWFオーバーレイとEWFボリューム
では、EWFについてもう少し詳しく見ていきましょう。
EWFは、「EWFオーバーレイ」と「EWFボリューム」という構成要素から成り立っています。
- EWFオーバーレイ
保護パーティションに対する書き込み情報をリダイレクトする場所。RAMまたはディスク上の別のパーティションとなる。
- EWFボリューム
EWFで保護されているボリュームの数、サイズ、EWFオーバーレイ情報などのEWF構成情報を格納する場所。FBA(注)時にディスク上の空き領域に作成される。EWFボリュームは保護するボリュームの数に関係なく1つだけ作成される。
| 注:FBAはFirst Boot Agentの略で、XP EmbeddedのOSランタイムイメージを組み込みデバイスへインストールする作業に当たります。ターゲットメディアにOSランタイムイメージを配置してブートすると、初回起動時にさまざまなOSシステムコンフィグレーションを自動で設定します。 |
EWFの動作モードと配置
EWFには3つの動作モードがあり、それぞれ上記の要素の配置と利用方法が異なります。
- Disk Mode
EWFオーバーレイはディスク上の別のパーティション、EWFボリュームは空き領域に作成される別のボリュームとなる。保護パーティションに対する上書き情報は、再起動後も保持される。

図2 Disk Modeのボリューム配置
- RAM Mode
EWFオーバーレイはRAM内、EWFボリュームは空き領域に作成される別のボリュームとなる。保護パーティションに対する上書き情報は、再起動後に破棄される。

図3 RAM Modeのボリューム配置
- RAM Reg Mode
EWFオーバーレイはRAM内、EWFボリュームはレジストリ内に格納される。

図4 RAM Reg Modeのボリューム配置
Disk Modeはストレージ容量に余裕があり、OSランタイムイメージに対する変更情報を保存したい場合に使用します。
RAM ModeとRAM Reg Modeは、容量が制限されていたり読み書きに制限があるストレージの場合や、OSランタイムイメージに対する変更情報を保持したくない場合に使用します。
RAM ModeとRAM Reg Modeは、機能的にはほぼ同じです。どのような場合に使い分けるかというと、対象となるストレージが複数パーティション構成を取れるか否かです。ストレージデバイスには、XP Professionalで「ローカルディスク」として認識されるものと、「リムーバブルディスク」として認識されるものの2種類があります。そして、リムーバブルディスクとして認識されるものの中には、複数パーティション構成が取れないデバイス(注)があるのです。
| 注:True IDEモードをサポートしていないCFなど。CFを利用する場合は、そのCFがターゲットデバイス上のWindows XPからローカルディスク/リムーバブルディスクのどちらとして認識されるかを確認してください。 |
複数パーティション構成が取れないストレージの場合、EWFボリュームを認識することができません。RAM Reg Modeは、本来EWFボリュームに記録するEWFの構成情報をレジストリに保持します。これにより、EWFボリュームを持たない単一パーティション構成によるEWF機能の実装が可能になります。
組み込み開発フォーラム 新着記事
- テストでの「ダメな猫」「普通の猫」「優秀な猫」(2010/3/19)
- 目指せETロボコン!! ライントレースとシステム制御(2010/3/18)
- ミップスとDMPがAndroid on MIPSで協業(2010/3/18)
- 【問題9】 アナログをデジタルに変換する「AD変換」(2010/3/17)
- 組み込みシステム開発における“モデル”とは?(2010/3/11)
- 組み込み向けAndroid「Embedded Master」を公開(2010/3/10)
- Androidでビジネス拡大を狙うミップスの新戦略(2010/3/9)
- MATLAB/Simulinkプロダクト・ファミリ R2010aを発表(2010/3/8)
- 各種カード決済/通信方式に対応した携帯型POS(2010/3/5)
- 【問題8】 「ウォッチドッグタイマ」の役割とは?(2010/3/4)
- アクテル、ミックスド・シグナルFPGA「SmartFusion」(2010/3/3)
- 素晴らしきファイルシステムのデータ管理(2010/3/2)








