連載
» 2006年12月05日 00時00分 公開

Windows XP Embedded開発入門(1):ゼロから始めるEnhanced Write FilterとHORM (2/3)

[奥村正明(富士通ソフトウェアテクノロジーズ),@IT MONOist]

Enhanced Write Filter環境構築

 ここでは、OSランタイムイメージにEWFの機能を実装する方法を説明します。

コンポーネントの追加

 EWFは「Enhanced Write Filter」コンポーネントとして提供されています。Target Designerでこのコンポーネントを組み込むことで、EWFを実装できます。

 Enhanced Write Filterコンポーネントは、Target Designerのコンポーネントウィンドウの[Software]−[System]−[System Services]−[Base]にあります。また、EWFを構成するには、以下のコンポーネントも必要です。

  • EWF NTLDR
  • EWF Manager Console application
  • Enhanced Write Filter API
Target Designer上のEWF関連コンポーネント 画面1 Target Designer上のEWF関連コンポーネント

 「EWF NTLDR」は、EWF用に最適化されたNT Loaderです。EWFの構築には必須のコンポーネントです。

 「EWF Manager Console application」は、EWFの機能をコマンドラインから扱うツールです。実体はewfmgr.exeであり、代表的な利用方法は以下のとおりです。

ewfmgr /enable | /disable | /all | /commit | /restore 
/enable EWFの有効化
/disable EWFの無効化
/all EWF情報の表示
/commit EWFオーバーレイ情報の保護パーティションへのコミット
/restore EWFオーバーレイ情報の破棄

 「Enhanced Write Filter API」は、ewfmgr.exeの機能をDLL(実体はewfapi.dll)として提供しています。EWFの操作の大半は前述のewfmgr.exeで行えますが、専用のアプリケーションからEWFを制御し、結果を取得したい場合などに利用します。

コンポーネントの設定

 Target DesignerでEWFコンポーネントを組み込んだら、Enhanced Write Filterコンポーネントの設定を行います。

Enhanced Write Filterコンポーネントの設定画面 画面2 Enhanced Write Filterコンポーネントの設定画面

 「EWF Volume Configuration」でEWF全体の設定を、「Protected Volume #」で保護するパーティションごとの設定を行います。

EWF Volume Configuration
Maximum Number Protected Volumes 保護するボリューム数
Maximum Number of Overlay Levels オーバーレイレベルの最大数
EWF Partition Size in KBytes EWFパーティションのサイズ

Protected Volume #
Start EWF Enabled FBA直後におけるEWFの有効/無効の設定
Enable Lazy Write 書き込み設定
Disk Number 保護するパーティションが存在するディスクの番号
Partition Number 保護するパーティションの番号
Disk Type 保護するディスクの接続形式
Optimization Option パフォーマンスの設定

 例えば、IDEハードディスクをCドライブ(システムドライブ)とDドライブ(ユーザー領域)の2パーティションに分割したハードウェア構成で、CドライブをRAM Modeで保護する場合は下記のような設定となります。

Maximum Number of Protected Volumes 1
Maximum Number of Overlay Levels 1
EWF Partition Size in KBytes 0
Disk Number 0
Partition Number 1
Disk Type IDE
Overlay Type RAM
EWF Partition Size in KBytes RAM Mode、RAM Reg Modeの場合は「0」。Disk Modeの場合は保護するパーティションサイズと同等あるいは1.5倍程度の値

 EWFの設定を行った後は依存関係のチェックを行い、OSランタイムイメージのビルドを行います。

ターゲットの準備

 次にターゲットメディアの準備を行います。EWF環境を構築する際は、EWFボリュームを作成するための空き領域をメディアに用意する必要があります。例えば、512MbytesのCFにCドライブのみ、RAM Modeでシステムを構築する際は、Cドライブ用のパーティションを510Mbytesで作成し、EWFボリューム用に若干の空き領域を残しておきます。

 EWFボリュームは、FBAの際にEWFコンポーネントが空き領域に作成します。Disk Modeの場合は、「EWF Partition Size in Kbytes」で指定したEWFオーバーレイのサイズ分だけの空き領域を確保する必要があります。

 準備したメディアにOSランタイムイメージをコピーし、FBAが終了するとEWF機能を持ったOSランタイムイメージが起動します。ewfmgr.exeでEWFの情報が取得できれば、EWFの構築は成功です。

Copyright © ITmedia, Inc. All Rights Reserved.