WindowsXP Embedded FP2007にて開発を行っております。
ターゲットのシステム構成は、1つのネットワーク上に複数のXPe端末が
接続されるのですが、端末にタッチパネルを用いており、ベンダのドライバを
インストールする必要があります。
本来ならば、インストーラが展開するドライバやインストール情報を
コンポーネントにまとめて、コンポーネント単位で管理するほうが、
インストールの手間がかからないのでよいのですが、そこまで手が回っておらず、
出荷する数量が少ないことから、FBAが完了した後に1台毎にインストールしております。(キャリブレーションもインストール時に行われ、解像度が異なると、
再キャリブレーションになる。)
ここで、検証用としてもう1台同じ構成のものを作る場合に、
システムクローニングコンポーネントをインポートしておき、FBAが完了するまえの
状態で、ターゲットのHDD(CF)イメージを保存しておき、それを必要台数分に
コピーして、FBAを完了させて、タッチパネルのドライバのインストールを行う、
という手順になるかと思います。
ただ、こういったドライバのインストールなどの手順を延々と繰り返すのは
非効率であり、手間をかけない方法はないかと考え、調査を行ったのですが、単純に内容が全く一緒だと、SIDが重複してトラブルが発生することがわかりました。
http://itpro.nikkeibp.co.jp/article/Windows/20051020/223124/
このためsysprepによるSIDの再取得をXPe上で実行したのですが、
再起動を促すメッセージ後、再起動中にブルースクリーンとなり、
全く起動しなくなったため、オーソドックスなやりかたで複製を作るしかないと
考えています。
ただ、うるおぼえですが海外サイトの記事を読んでいるたとき、
コマンドラインでFBA前の状態に戻すようなツールがあったように記憶して
おります。
ただ、コピーしてから、SIDを再取得という安直なやりかたで、複製を作れれば、
非常に手間がかからなくでOKと思い、諦めきれず質問いたします。
別件 Windows XP Embeddedの参考サイトを見つけましたので紹介して
おきたいと思います。(googleで検索すればすぐに出てくるのですが・・・)
XPe Center 英語ですがCFの認識情報やコミュニティへのリンクが参考になりました。
http://www.seanliming.com/index.htm
ERAM RAMディスクドライバの手順について詳細に説明があります。
CFなどで、EWFを使っているけど、ブラウザを使いたい場合に、
実装するとよいかもしれません。
http://report.station.ez-net.jp/software/others/system/ramdisk.asp
Windows XP Service Pack 2 サポート ツール
DSKPROBEを使って、MBRの保存や確認、修復ができます。
しかし、使い方を誤ると、重大な障害を発生させることがあります。
http://www.microsoft.com/downloads/details.aspx?familyid=49AE8576-9BB9-4126-9761-BA8011FABF38&displaylang=ja
ブートストラップローダの詳細
CFからXPeを起動しようとしたとき、MBRの詳細を理解する助けになりました。
http://nobumasa-web.hp.infoseek.co.jp/boot/bootstrap.html
KM Blog 英語のニュースグループで多くのコメントをくれるKMさんの
blogです。
http://km-dev.blogspot.com/2007/04/xpe-lifecycle.html
System Cloning ToolコンポーネントのcmiResealPhaseパラメタを
0に設定することにより、解決するとおもいます。
cmiResealPhaseパラメタを0にすることにより、FBA実行時には
SIDの再設定は実行されず、ドライバのインストールなどを行った後に
コマンドラインから、FBReseal.exeを実行することにより
SIDの再設定を手動にて可能となります。
このようにして設定をおこなったOSイメージをデュプリケートすれば
各端末においてタッチパネルのキャリブレーション作業のみを
行うだけになりますので、手間が省けると思います。
下記のMSDN Libraryをご参考ください。
Customizing the Reseal Phase
http://msdn2.microsoft.com/en-us/library/ms912877.aspx
SIDの再設定ですが、XPeOSを実行していた端末に
再度、SID再取得を行った際にブルースクリーンが
発生する場合があったように記憶しています。
このことは、ネットワーク上で他のPCから同一のSIDを
持つPCが存在していたことを通知されたことが原因の
ようだとおもっております。
対策としては、SID再取得中は、ネットワークからはずすと
なりますが、sysprepでのブルースクリーンも
同様の原因だったのかもしれません。
なお、XPeにおいてsysprepを実行させるというのは
可能かもしれませんが、保障できるかわかりません。
FBReseal.exeを使うようにしたほうが良いと思います。
以上、ご参考ください。
"新井" からの元のメッセージ: