Windows XP Embedded開発入門

Windows XP Embedded開発入門 第1回

ゼロから始めるEnhanced Write FilterとHORM

奥村 正明(Microsoft MVP - Windows Embedded) 株式会社富士通ソフトウェアテクノロジーズ 2006/12/5

Windows XP Embeddedによるシステム構築のキモとなるのが、Enhanced Write FilterとHORMである。まず、この2つをマスターしよう。(編集部)

- 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機能の実装が可能になります。

メールマガジン

スキルアップ/キャリアアップ(JOB@IT)

スポンサーからのお知らせ

@IT MONOist 求人情報