Bart's PE Builder FAQ

自身の体験と、2chのBartPEスレによる「Bart's PE Builder」FAQ(Tips)です。話の内容に多少バイアスが掛かっている箇所が見受けられるかもしれませんが、そこはそれ、個人サイトという事でご勘弁願いますm(_ _)m



参考系:
ビルド時のトラブル:
起動時のトラブル:
起動後のトラブル:
〜ができません:
質問系:
疑問系:

スクラップブック:

 公式のFAQは?

これです。日本語訳するとこんな感じです。
  1. Q: PEBuilderを使う事はMicrosoftからWinPEのライセンスを認可されたと考えていいのですか?
    A: いいえ。

  2. Q: PE Builderを使用した結果、システム及びソフトウェアで起こる問題をMicrosoftはサポートしてくれるのですか?
    A: いいえ。

  3. Q:  最新のβリリースはどこにあるのですか?
    A: 911 CD Announcements forumにあります。

  4. Q: BartPE起動時に"File \i386\system32\ntoskrnl.exe could not be loaded. The error code is 14"というエラーが出るのですが?
    A: SPが正常にあてられていません。
    3.1.3からSPを簡単に適用する方法を提供していますが、英語版以外では正しく動作しない場合があります(FAQ21参照)。

  5. Q: WindowsXPを通常インストールした時と比較して、BartPEにはどんな制限があるのですか?
    A: 以下のような制限があります。

  6. Q: ISOイメージを作るとき、次のような警告が出ます。
    "Warning: ISO-9660 filenames longer than 31 may cause buffer overflows in the OS."
    A: それで正常です。BartPEではあふれずに無視されるだけでしょう。

  7. Q: Windows Server2003 Standard でISOイメージを作ってBartPEを実行したら、XPのスプラッシュ画面が表示されます。何故?
    A: 何故なのかは解りませんが、何も間違ってはいません。バージョンを確認するとちゃんと「5.2.3790」になっているのが確認できると思います。

  8. Q: PE Builderで作られたISOイメージはどこかおかしいのですか?ISOイメージを操作するソフトで閲覧/編集等ができないのですが?
    A: ISOイメージはISO9660:1999 Standard準拠で生成されます。
    仕様はここで見れます > http://www.y-adagio.com/public/standards/iso_cdromr/tocont.htm
    この新しい仕様ではフォルダ/ファイル名の最大長が207文字と言われています。
    従って、フォルダ/ファイル名は最大207文字あるかも知れません。
    多くのISOイメージ操作ソフトはISO 9660:1988準拠となっており、長いフォルダ/ファイル名があると正常動作しないかもしれません。

  9. Q: このようなエラーが出ましたが?
    Loading "C:\pebuilder\setuphiv"
    Error: loadKey failed:
    A:  管理者権限のあるユーザで実行していますか?pebuilder.exeを終了し、もう一度起動してみてください。それでも駄目なら pebuilder.exeを閉じてレジストリエディタを起動して"pebuilder"で始まるサブキーをHKEY_USERSから探し、それを選択してメニューから「ハイブのアンロード」を行って下さい。

  10. Q:  既にWindows2000/XP/2003がインストールされているハードディスクからBartPEを実行できますか?
    A: はい、手軽にテストできますよね。

  11. Q: BartPEはUSBフラッシュドライブ(UFD)から起動できますか?
    A: ...多分。あなたのPCのBIOSはUFDをHDDのように振舞わせる事ができますか?XPのFATブートセクタコードは UFDから正しく起動できるようにはなっていませんが、Bartは既にそれを修正しています。しかし、現状ではUFDからの起動は非常に不安定です。BIOSがどれだけ正確にHDDエミュレーションを行っているかに依存します。いくつかのBIOSは正確なエミュレーションを行っておらず、起動時にハングアップまたは異常終了してしまいます。将来は精巧なエミュレーションが行われるようになるのでしょうが...

  12. Q: 何故、BartPEを作るのに(ソースとして)2000/NT4.0が使えないのですか?その理由は?
    A: カーネルが「/minnt」スイッチを使ったリードオンリーメディアからの起動に対応していないからです。また、 layout.infに必要な情報が記述されていません。

  13. Q: Windows 9x/meを使ってBartPEを作れますか?
    A: 絶対に無理です。

  14. Q: 「NIC:Intel PRO 100/1000」プラグインを組み込むと「ファイルがない」と言われてしまいます。
    A: Intelがドライバアーカイブの構成を変更したためです。nic_intelpro.inf内の"ws03xp32"を "ws03xp2k"に変更して下さい。

  15. Q: Aopenの952E(or956E)というCD-ROMドライブからBartPE(Server2003)を起動するとデスクトップが表示される前に停止してしまいます。何故?
    A: 私もそれに気付きました。Aopenの952EはファームウェアリビジョンがA75だと駄目で、A64なら動きます。何故このような事が起きるのか確信が持てませんが...ファームウェアのバグ?

  16. Q: HDDからBartPEを起動するとDiskpart.exeが動きません。実行すると以下のようなメッセージが出ます。
    The disk management services could not complete the operation.
    A: 正常です。HDDで起動したBartPE/WinPEからはDiskpart.exeは動作しません。CD-ROM/DVDから起動された時のみ正しく動作します。

  17. Q: CD-ROM/DVDから起動しているのにDiskpart.exeが動きません。実行すると以下のようなメッセージが出ます。
    The disk management services could not complete the operation.
    A: "RpcSS needs to launch DComLaunch Service first - SP2 only"プラグインを有効にして下さい。

  18. Q: BartPEでは「24時間制限」が取り除かれていますか?
    A: 古いバージョンには「24時間制限」があります。3.0.33以降のバージョンには「24時間制限」はありません。

  19. Q: BartPEには「6プロセス制限」がありますか?
    A: 古いバージョンには「6プロセス制限」があります。3.0.33以降のバージョンには「6プロセス」制限はありません。

  20. Q: XPでビルドすると「VBS」ファイル関連でビルドに失敗してしまします。Server 2003の"Virtual Disk Service"に関係しているようなのですが、どうしたらこれを回避できますか?
    A: Server2003用のDislpartプラグインを組み込んでいませんか?もしそうなら無効にして下さい。

  21. Q: 以下のようなメッセージが出るのですが?
    Source files wrong version?
    File version <path>\i386\ntdll.dll is 5.1.2600.0 should be 5.1.2600.1106 or higher.
    何をどうすればいいのですか?
    A: ソースとして使うXPにSP1以降をあてなければなりません。
    作り方はこうです。
    1. XP のインストール/セットアップCDの中身をサブフォルダごとHDDにコピーします(例:C:\winxpsp)。c:\winxpsp\i386\ setupldr.binが存在する事を確認して下さい。なければもう一度やり直してください。
    2. サービスパックに「-s」オプションを付けて展開して下さい。
      xpsp1_en_x86.exe -s:c:\winxpsp
    こうしてできたc:\winxpspをPE Builderのソースフォルダに指定してやります。

  22. Q: 他にPE Builderのようなビルドツールはありますか?
    A: いいえ。Microsoftの「OEM Preinstallation Kit (OPK)」以外には「真の」PE Builderは存在しません。「WinPEが作れる!」と主張するものがありますが、よく見ると「Microsofts WinPE Builder」のラッパー(フロントエンド)に過ぎません。

  23. Q:  プログラムを組むとき、BartPEまたはWinPEで起動しているかどうかを調べる方法はありますか?
    A: レジストリを調べてみて下さい。
    HKLM\SYSTEM\CurrentControlSet\Control\minintがあれば BartPEまたはWinPEで起動しています。
    「HKLM\SYSTEM\CurrentControlSet\Control\PE Builder」があればBartPEで起動しています。

  24. Q: マウスを接続していない状態でNU2MENUの「Go」ボタンを押すにはどうしたらいいですか?
    A: Ctrl+Mです(時々、2回押さないといけませんが)。

  25. Q: PE Builder はXP-SP2に対応していますか?
    A: はい。3.0.32以降のバージョンを使って下さい。

  26. Q: BartPEは圧縮されたNTFSファイルをコピーしたり読んだりできますか?
    A: できます。

  27. Q:  BartPEはEFS(Encrypting File System)ファイルをコピーしたり読んだりできますか?
    A: できません。

  28. Q:  DellのPCに付いているCDでBartPEを作成しましたが、
    "The file iaStor.sys could not be found. Press any key to continue"
    というエラーが出ます。
    A: DellはXPのOEM-CDに変更を加えました。このために、起動時に問題が発生します。これを直すには手動でドライバファイルをコピーしなくてはなりません。これを最も簡単に行う方法は「Fix Dell XP」プラグインを使うことです。

  29. Q:  ソフトウェアをBartPEにインストールする方法はありますか?
    A: 追加するソフトウェアのプラグインを書かなくてはなりません。プラグインは手動インストール用のプログラムです。

  30. Q: 弊社の社内でBartPEベースのCDを使用したいと考えています(もちろん顧客に販売したり出荷したりはしません)。ですが「個人」ではなく「会社」です。追加ライセンスなしでBartPEを使ってもいいのでしょうか?
    A: はい。ですが、あなたが個人でないのなら、カンパをお願いしたいところです。

  31. Q: Windows XP でビルドしたBartPEを Microsoft Exchange Server(HP Proliant) で起動しましたが、ドライブを見る事ができません。
    A: HPストレージ用ドライバが正しく導入されていないようです。ドライバは「<pebuilder> drivers\SCSIAdapter」に追加しなくてはなりません。こちらでドライバを探してみて下さい:
    HP Smart Array 5x and 6x Series
    HP ProLiant Dual Channel Ultra320 Host Bus Adapter (LSI Logic PCI SCSI/FC MPI Miniport Driver)
    Adaptec U320 SCSI HostRAID Controller
    Adaptec Ultra320 SCSI Cards
    Intel 82801FR/FMB/ER,6300ESB SATA RAID/AHCI Controller
    Compaq Integrated Smart Array-2 Controller (including 4200, 4250ES and 431)
     
  32. Q: pebuilder.log に以下のような一文がありました。
    "Processing (driver) INF file "C:\pebuilder\drivers\SCSIAdapter\Intel\iastor.inf", class "SCSIAdapter", provider "Intel", ver "06/29/2004" Unsupported class (SCSIAdapter), skipping..."
    SATAコントローラはPEBuilderでサポートされていないのですか?
    A: SATAドライバはサポートされています。しかし、ドライバはBartPEが使用する iastor.inf ファイルに含まれていません。"unsupported class"メッセージを回避するには iastor.inf を削除すればよかったのですが、それは必要ではありません。PEBuilderはすべてのストレージアダプタドライバと正しいドライバファイルに関連するハードウェアIDを含むようになっている txtsetup.oem ファイルを使用するようになっています。(訳注:要はPEBuilderが提供している方法でドライバを組み込んでくれ、という事のようです)
     
  33. Q: Windows XP のインストールCDは本物(SP1以前)なのにビルドできません。
    A: PEBuilderのスリップストリーム機能を使ってください。(後略) (訳注: 我々にはSP+メーカーがあります^^;)
     
  34. Q: ビルドできません。"c:\windows"をソースにしようとするとPEBuilderに怒られます。
    A: PEBuilderは Windows XP のインストレーションファイルまたはインストールCDを必要とします。(後略) (訳注: 「インストールCDがない場合にはPEBuilderのインストレーションファイル検索機能を使ってみてね」、と言いたいようです。)
     
  35. Q: 何故ウェブサイト"nu2.nu"の広告があるのですか?
    A: ご存知でしょうが、PEBuilderはフリーウェアです。寄付は歓迎していますが、必須ではありません。ソフトウェア開発費用やWebサーバ維持費はサイト内の広告で賄われています。
      このように考えてみてください。"nu2.nu の広告があるからこそ、PEBuilderはフリーウェアなのだ"、と。
※以前は公式サイトのFAQにもナンバリングが施してあったので比較が容易にできたのですが、現在はナンバリングが廃止されています。端折っている箇所があり、誤訳の可能性も充分考えられますので、必ず公式サイトのFAQにも目を通すようにして下さい。なお、あなたが現在見ているこのサイトは"Bart's PE Builderの公式サイト"ではなく、"公式サイトから公認された日本のサイト"でもなく、" 公式サイトを忠実に翻訳したサイト"でもない事をお断りしておきます。
 2chでのFAQは?
  1. Q: Bart's PE  Builderって何でしょうか。
    A: WindowsXP以降のOSからCDブートのWindows環境を構築するフリーソフトです。 制限はありますが、Windowsの一種なので通常使っているWindowsアプリが一通り動作します。現在このスレッドでメインで扱っているソフトで、 アプリの追加に使うプラグインの開発を行っています。

  2. Q: 動作環境は。
    A: WindowsXPが動作する環境ならたいてい動作しますが、メモリのスワップが作成出来ず、RAMDiskにも容量を取られるのでより多くのメモリを必要とします。 256MB以上推奨です。

  3. Q:  作成時にBart's PE Builder本体以外に必要なものは。
    A: WindowsXP以降のCD-ROMが必要です。推奨はWinXP ProのSP2当て済みCDです。   XP HomeやServer2003のCDでも作成は可能ですが、このスレッドでは推奨されていないので使わないのが無難です。

  4. Q: WindowsXPのCD-ROMがついてこないパソコンでブータブルCDが作れない。 file "C:\win51" not found と言われる。
    A: 中身の無いファイルを作って、WIN51、WIN51IP(拡張子なし)にリネームしてエラーが出た時に指定されたPATHに置きましょう。Homeからの場合はWIN51IPではなくWIN51ICになります。SP1適用済みCDで作る場合はWIN51I?.SP1も必要です。

  5. Q: 日本語ファイルが変な日本語に化ける。
    A: 332氏のサイトを参考にISO9660 Lv.4でisoを作りましょう。

  6. Q: ファイルの登録順がおかしい。
    A: FAT32フォーマットのHDD上でBuildすると問題が発生します。NTFSに変換しましょう。

  7. Q: knoopix等他のソフトを含めてデュアルブート CDを作成したい。
    A: CDshellを使いましょう。
    http://www.cs.uic.edu/~mter/cdshell/index.html

  8. Q: CDブートが出来ないパソコンなのでフロッピーでブートしたい。
    A: Bootable CD Loader
    http://bootcd.narod.ru/index_e.htm
    を使えば出来ます。RawWriteなどで書き込んでください。

  9. Q: レジストリに何が追加されたか監視したい。
    A: レジストリの比較にはRegDiffを使うと便利です。
    http://hp.vector.co.jp/authors/VA000007/

  10. Q: REG_EXPAND_SZによって不具合が発生する。
    A: SherpyaさんのRegistry Expanderを使いましょう。
    http://oss.netfarm.it/winpe/

  11. Q: 作り方が良く分かりません。
    A: 過去ログ嫁。あと332氏のサイトも。

 参考になるWebサイトは? 

本家
2ch BartPE関連スレッド
BartPE関連サイト

 参考になる書籍は? 

  「書籍はない」と思っていましたが、
 というのがあるようです。

 月刊誌の連載記事をまとめた小冊子もあります。
 まとめての紹介と言えば
 というのもあります...正直、上の2つがあれば要りませんが。

 ...参考までに言っておくと、V.magの記事の方が日本でのスタンダード(2ch)に沿った形になっています。PCJの方は本家の流れで紹介されています。まぁ..

当たり前っていえば、当たり前。

  なんですがね(^^;


 Bart'sPE Builder のインストール方法は? 

 難しくはないと思います。基本的に書庫を解凍するだけですので。
  1. 公式サイト「Bart's Preinstalled Environment (BartPE) bootable live windows CD/DVD」から書庫をDLしてきます。とりあえず、ベータ版ではない最新版がいいでしょう。
  2. 書庫を適当な場所に解凍します。「適当」とは言っても、パスに日本語文字を含まない場所がいいと思います。それから、できるだけNTFSなドライブにインストールして下さい。

 Bart's PE Builder で使えるOSは?

 ソースとして使えるOSは「XP Professional/XP Home Editon/Server 2003」です(XPはSPが必須)。「x64Edition」や「for Itanium-based Systems」、「Vista」等はとりあえず無理です。「MCE」は未確認です。ビルド環境としてであればWindows2000でもOKです。


 Bart's PE Builder でBartPEをビルドするには? 

 ver3.1.3を例に話を進めます。
  1. pebuilder.exeを実行します。
  2. なにやら同意を求められますのでそれに従って下さい。(初回のみ)
  3. 「Source:」にXP-CDを入れるCD-ROM ドライブか、XPのCDをフルコピーしたフォルダ(推奨)を指定して下さい。
  4. 「Custom:」はそのままで構いません。
  5. 「Output:」もそのままで構いません。
  6. 「Create ISO image」に出力するBartPEのISOイメージファイル名をフルパスで指定します。
  7. ISO イメージをそのままCDに焼くには「Burn CD」のチェックを入れ、「Device」からCDを焼くドライブを指定して下さい。
  8. ISOイメージをCD-RWに焼く前に消去する場合には「Erace CD」にチェックを入れて下さい。
  9. 「Plugins」ボタンを押し、プラグインを有効/無効にして下さい。終わったら「Close」ボタンで閉じます。
  10. 「Build」ボタンを押せばBartPEのビルドが始まります。
See also:
 PE BuilderでExplorer&IEが動くPEを作る(332氏のサイト)
 

 スタンダードなBartPEの構成は? 

 本家では「Nu2Shell」プラグイン (または「XPE」プラグイン)+「Nu2Menu」プラグインを組み込まれた環境がスタンダードになっており、日本では332氏作「Explorer&IE」プラグインを組み込んだ環境がスタンダードとなっています。一概にどちらがいいとは言えません。

 何故このような状況になったのかと言うと、本家では当初「レスキューCD」を目指して作られていました。1バイト文字圏の Windowsは2バイト文字圏のそれと比べてただでさえ小さいのに、フォントサイズも小さくIMEも必要としません(当然ですが)。よって、コンパクトなPEが好まれる風潮があったようです。対して日本では、フォントやIMEを組み込まなくては使い物になるPEは作れません。必要最低限のプラグインしか導入していなくても、そこそこ規模の大きなPEしか作れない訳です。で、開き直って、CDの容量をギリギリまで使った「高機能PE」が作られる事になりました。332氏が「Explorer&IE」プラグインを開発されてからその方向性はさらに顕著になって行きました。

 2chスタンダードなPEは
 を組み込んだものです。


 "STOP:c000021a unknoun Hard Error" のブルーバックが出て起動しない。

 「Explorer&IE」プラグインフォルダにある「winlogon.exe」のバージョンが違う可能性があります。もう一度winlogon.cmdを実行して「winlogon.exe」を再生成して下さい。


 "CDBOOT:Could't find NTLDR" と出て起動しない。

 PEBuilder標準添付のmkisofsを790氏作のmkisofsと差し替えてみて下さい。最近のPE Builder添付版ではこの問題は起きないはずです。

See Also:

 BartPEがCD-ROMから起動しない。

 「Boot Fix (Enabling Press any key to boot from CD)」プラグイン(標準添付)を導入してみて下さい。起動時に"Press any key to boot from CD"と表示されるようになります。この時に何らかのキーを押すとBartPEが起動するようになります。

 「Japanese Language - 日本語サポート」プラグイン(Lexus-j氏)を導入しているのであれば「Boot Fix (Enabling Press any key to boot from CD)」プラグインを組み込む必要はありません。"Press any key to boot from CD"のメッセージは "bootfix.bin"が出しています。 "bootfix.bin"をコピーしているプラグインが一つでもあるならば起動時に"Press any key to boot from CD"と表示されるはずです。

See Also:

 "Press any key to boot from CD" すら出ませんが?

 BIOS でブートデバイスの最初に「CD-ROM」となっているか、もう一度確認してみて下さい。
もし、FDからのブートしかできない場合には「2chFAQ #8」を参考に、FD->CDブートを行って下さい。


 ビルド時に" Error: SetupDecompressOrCopyFile "???\i386\*.dat" to "???\i386\system32\*.dat" returned error 123: ファイル名、ディレクトリ名、またはボリュームラベルの構文が間違っています。 "のエラーが出ます。

 「統合アーカイバDLLセット」プラグインの16行目をコメントアウトして下さい。

 このプラグインを使わず、「Caldix」とPE Builderの「Custom」フォルダを使って「Output」フォルダへDLLを上書きする方法もあります。
  1. pebuilder.exeを起動し、「Custom」に任意のフォルダを指定します。
  2. そのフォルダに「i386」->「system32」とフォルダを作成します。
  3. Caldix」の「カスタム」インストールで「Custom」フォルダ内の「i386\system32」を指定し実行します。
  4. ビルドします。

 日本語で記述されている箇所が文字化けするのですが?

 「Japanese Language - 日本語サポート」プラグインを組み込んでみて下さい。


 日本語のファイル名が文字化けするのですが?

 PE Builder標準添付のmkisofsを790氏作のmkisofsと差し替えてみて下さい。ただし、この場合「ストレージを最適化する(Optimize storage by encoding duplicate files once)」にチェックを入れてはいけません。mkisofsを直接呼び出している場合には「-duplicates-once」オプションを付けないで下さい。

See Also:

 IEで文字化けするのですが?

 「Japanese Language - 日本語サポート」プラグインを組み込んでも文字化けするのであれば、FAT32なHDDにPE Builderをインストールしているのではないでしょうか?可能であればドライブをNTFSへ変換して下さい。もし、それが無理なら「Plugin Manager v2」を使って[オプション]-[Pluginフォルダの整列]を実行して下さい。

See Also:

 IEでフォーム上のボタンを押しても反応しないのですが?

 FAT32なHDDにPE Builderをインストールしていませんか?プラグインの組み込み順序がおかしくなっているからだと思われます。

See Also:

 3.1.3でビルドしていますが、24時間制限や6プロセス制限がやっぱりあるようなのですが?

 「PE Loder」プラグイン(標準添付)を有効にしてみて下さい。

 但し、「PE Builder v3.1.4」以降、「PE Loder」プラグインは標準プラグインから外されています。
 標準でなくなったというだけで、プラグイン自体は「WinPE Tools by TheTruth」からDLする事が可能です。


 PE Builder の英語が読めません。

 英語を勉強しましょう。私なんか、自分の作ったツールはガイジンさんに「英語に翻訳(トランスレート)しろ」と言われ、ガイジンさんの作ったツールは「日本語化しろ」と言われ、2chのスレで

 ちとワロタ。(失礼)
 いや確かに。お疲れ様。

 なんて揶揄される有様ですよ (ノД`;)

 ...失礼、失礼。どうしても解らないのであれば、以下のような方法で英語を回避できます。

 「Bart's PE Builder v3.1.10」から、日本語言語ファイルと日本語ヘルプが同梱されるようになりました。これらは自動認識されるため、英語を殆ど意識しなくて済むようになっています。言語ファイルの最新版は「PE Builder 言語ファイル」で入手できます。

See Also:

 PE Network Configurator の英語が読めません。

 「WinPE Tools by TheTruth」にある「PENetCfg v2.30 Multilanguage (Beta)」は多言語対応で、日本語もその中に含まれています(翻訳された「宮本さん」に感謝)。

 初期表示から日本語にしたい場合には「penetcfg.ini」の[General]セクションに「Language=Japanese」を追加します。


 最近のRAID/ネットワークカードを認識しません。

 自分でドライバを探してきて入れてやればいいのですが面倒ですよね。

 「Ultimate Boot CD for Windows(UBCD)」のDriver PackageをDLし、解凍したものをPE Builderの「drivers」フォルダへコピーして下さい。ほぼすべてのRAID/NICを認識させる事ができるようになります。安定しているのは v1.8です...しかし、v1.8のドライバパックが出て随分時間が経ちます。流石に最新のMB等では認識されないデバイスが増えてきました。v1.9 かv2.0への更新をしたい所ですが、v1.9は「Insufficient memory for ?????.???」のエラーが出たり、挙動不審な所があり、あえてv1.8をオススメしてきました。v2.0は未だ検証ができていません。

バージョン ファイル名 リリース サイズ
UBCD4Win Drivers 2.0 UBCD4WinDriversV20.exe 2007/03/21 18.6MB
UBCD4Win Drivers 1.9 FINAL UBCD4WinDriversV19FINAL.exe 2006/10/11 15.9MB
UBCD4Win Drivers 1.8 FINAL UBCD4WinDriversV18FINAL.exe 2006/03/21 16.1MB
UBCD4Win Drivers 1.7 UBCD4WinDriversV17.exe 2006/02/18 14.0MB

  もうひとつの「UBCDドライバパック」があります。これは「AutoHelp」プラグイン用のようですが、ドライバ収集型でないドライバ集で、CPU/Chipset/Graphics/LAN/WLAN/MassStorageの詰め合わせになっています。旧来のドライバの組み込み方をしなくてはならないのでちょっと面倒かもしれません。試して見たい方はこのトピック以降を辿ってみてください。

 ドライバパックに含まれないドライバを見つけたらPE Builderの「drivers」フォルダへ個別にコピーして対応して下さい。新しいデバイスでも、ドライバさえあればBartPE起動時にF6を押してドライバをFDDから追加する事ができる事を覚えておくといいでしょう。

See Also:

 XP(無印)のCDしか持っていません。どうすればいいのでしょうか?

 「公式FAQ #4/#21」と「2chFAQ #4」を参照して下さい。面倒な方は「SP +メーカー」を使うと簡単にSP統合CDが作れます。確かに3.1.3以降だと[source]-[Slipstream]でSP統合イメージを作れるのですが、「公式FAQ #4」にあるように、英語版以外のWindowsでは正しく動作しない事があります。


 プラグインを自分で作ってみたいのですが?

 まず、プラグインのヘルプを読みましょう。日本語訳したものはこちらにあります。プラグインの大まかな構造を理解したら、テキストエディタさえあれば簡単なプラグインは作れるようになります。ファイルコピーだけで済むプラグイン等から始めるといいでしょう。

 レジストリへの登録を行わないといけないプラグインはちょっとややこしくなります。レジストリの内容をプラグイン形式で記述しなくてはなりません。「Reg2PE.exe」を使って実際のレジストリや、インストール前後のレジストリ差分ファイルからプラグイン形式のレジストリ情報を作成する必要があります。

 「Explorer&IE」環境ではショートカットも必要になってくるでしょう。ですが、これも手動で作ろうと思うと意外に面倒なものです(実際にやってみれば解ります)。「PE_SC.exe」を使うと比較的楽にショートカットが作れます。

 オールインワンなプラグイン作成ツールもあります。「Plugin Builder」がそれで、先述のツール類を組み合わせたようなツールになっています。先人の作られたプラグインを解析するののにも有益なツールです。

  また、プラグインはキャビネット形式(*.cab)で圧縮すべきです。プラグインをプラグインダイアログで「追加」する時にはcab形式でないと追加できないからです...とは言え、プラグインダイアログからインストールしているヒトは少ないようで、zipによる手動インストールが主流のようです。


 条件ビルドを行いたいのですが?

 複数のバージョンのPE Builderを使っている時や、通常版/機能縮小版を管理しようと思うと結構大変です。そんな時には「Plugin Manager v2」を使ってみるといいでしょう。このプロファイルではこのプラグインを組み込む、このプロファイルでは組み込まない等、細かな条件ビルドが可能です。

 本家フォーラムにも専用スレッドがあります。


 CDからの起動を高速化したいのですが?

 確かにCDからの起動は遅いです。ですが、この起動速度を若干ではありますが、高速化する方法があります。

 理屈としては、
 という事を行えば、ランダムアクセス(?)が減る事になります。

 「Plugin Manager v2」を使えば比較的簡単にできます。
  1. 「PE Builder」のフォルダに「sort.lst」を作成。
    本家フォーラムの「Pebuilder Cd Layout Optimization」を参考にしてソートリストを作成して下さい。

  2. Plugin Manager v2」の環境設定を変更。
    「PE Builder」タブの
  3. 「外部プログラム」タブの
  4. Plugin Manager v2」のフォルダに「build_burn.cmd」を作成。

    REM "@PluginManager@\build_burn.cmd" "@PEBuilder@" "@IsoFile@" "@OutDir@" @BuildISO@ @BlankCDRW@ @BurnCD@ "dev=@Device@"

    @echo off
    cd %1

    :BuildISO
    if "%4"=="0" goto EraseCD
    mkisofs.exe -iso-level 4 -volid "BartPE" -A PEBUILDER/MKISOFS -sysid "Win32" -sort sort.lst -b bootsect.bin -no-emul-boot -boot-load-size 4 -hide bootsect.bin -hide boot.catalog -o %2 %3
    if not ERRORLEVEL 0 goto Exit

    :EraseCD
    if "%5"=="0" goto BurnCD
    cdrecord.exe %7 blank=fast
    if not ERRORLEVEL 0 goto Exit

    :BurnCD
    if "%6"=="0" goto Exit
    cdrecord.exe %7 driveropts=burnfree %2
    if not ERRORLEVEL 0 goto Exit

    :Exit

  5. Plugin Manager v2」からビルド。
 ちょっと大変ですが、一度やってしまえば以降設定する必要はありません。

 他の高速化には以下の方法があります。
 CDからの読み込みが遅いのはHDDに比べ、「CDドライブの読み込み速度が遅い」というのも一因です。で、あれば「ファイルサイズを小さくすればいい」という考え方です。ファイルサイズが小さくなれば、CDドライブへのアクセス時間が減り高速化へつながる...という理屈です。

 これらを自動でやってくれる「Postprocessing」プラグインというのがあります。XPE+Nu2Menuが前提のプラグインのようですので「Explorer&IE」環境にはそのままでは使えないかもしれませんが、参考にはなると思います。

 infファイルに関しての追記です。
See Also:

 USBフラッシュメモリからの起動はできますか?

 CDドライブからの起動に比べると遥かにマシンが限定されてしまいますが、可能です。「公式FAQ #11」ではお茶を濁してありますが、実際に私の環境では動作しました。

[必要なもの]
[準備]
 (XPの場合、USBフラッシュメモリドライブの復元機能を無効にしておいて下さい)
  1. 「USBPE.EXE」を解凍し、%pebuilder%フォルダへコピー。
  2. 「PE2USB」を解凍し、%pebuilder%\srsp1フォルダへコピー。
  3. 「Microsoft Windows Server 2003 SP1」をDL。
  4. 「USBPE.EXE」を実行、[File] -[Extract ServicePack]を実行。「3.」でDLしたEXEを指定。
  5. USBフラッシュメモリでエミュレーションモードを変更できるのなら「USB-ZIP」に変更。
[ブータブル化]
  1. 「USBPE.EXE」を起動。
  2. 「USB Flash-Memory Drive:」コンボボックスでUSBフラッシュメモリドライブを指定。
  3. [Write Bootsector]ボタンを押下。
[フォーマット]
下記、いずれかの方法でフォーマットして下さい。
[ビルド]
 (前もって「PE Builder」で通常ビルドしておく事、ISOイメージを作る必要はありません)
  1. 「USBPE.EXE」を起動
  2. 「USB Flash-Memory Drive:」コンボボックスでUSBフラッシュメモリドライブを指定。
  3. 「Install Type:」コンボボックスでインストール(ブート)方法を指定。
  4. [Build]ボタンを押下。
 準備/ブータブル化/フォーマットは一度やれば次回以降行う必要はありません。無事にBartPEがブート可能なUSBフラッシュメモリができたら以下の手順で起動を行います。

[起動手順]
  1. PCの電源がOFFになっているのを確認する。
  2. USBフラッシュメモリを挿す。
  3. PCの電源を入れる。
  4. BIOS画面を開く。
  5. BIOSの起動に関する設定を行う。

                         Phoenix - AwardBIOS CMOS Setup Utility                     
      Phoenix - AwardBIOS CMOS Setup Utility                     
                                     Boot Sequence                                  
    ╔═════════════════════════════════════════════════════╦════════════════════════╗
    ║    1st Boot Device              [CDROM]             ║        Item Help       ║
    ║    2nd Boot Device              [Floppy]            ╠════════════════════════╣
    ║    3rd Boot Device              [Hard Disk]         ║ Menu Level   >>        ║
    ║    Boot From Other Device       [Enabled]           ║                        ║
    ║  > Hard Disk Boot Priority      [Press Enter]       ║ Select Your Boot       ║
    ║                                                     ║ Device Priority        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ╚═════════════════════════════════════════════════════╩════════════════════════╝
    ↑↓→←:Move Enter:Select  +/-/PU/PD:Value  F10:Save ESC:Exit  F1:General Help
                  F5:Previos Values               F7:Optimized Defaults            

                         Phoenix - AwardBIOS CMOS Setup Utility                     
                                Hard Disk Boot Priority                             
    ╔═════════════════════════════════════════════════════╦════════════════════════╗
    ║    1.USB-HDD0  :  USB 2.0 Flash Disk PRO            ║        Item Help       ║
    ║    2.Bootable add-in Cards                          ╠════════════════════════╣
    ║    3.Ch0 M.    :  Maxtor 6B200P0                    ║ Menu Level   >>>       ║
    ║                                                     ║                        ║
    ║                                                     ║ Use <↑> or <↓> to    ║
    ║                                                     ║ Select a device , then ║
    ║                                                     ║ press <+> to move it   ║
    ║                                                     ║ up , or <-> to move it ║
    ║                                                     ║ down the list.Press    ║
    ║                                                     ║ <ESC> to exit this     ║
    ║                                                     ║ menu.                  ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ║                                                     ║                        ║
    ╚═════════════════════════════════════════════════════╩════════════════════════╝
        ↑↓:Move Enter:Select  PU/PD/+/-:Change Priority  F10:Save  ESC:Exit  
                  F5:Previos Values               F7:Optimized Defaults            


  6. BIOS画面を抜ける。
  7. BartPE が起動。
[注意]


 USB フラッシュメモリからのブートには2種類の方法があります。
  1. ISOイメージブート
    起動時にRAMディスクボリューム(BartPEのRAMディスクの事ではない)を作って仮想CDとして扱い、それにUSBフラッシュメモリ内のISOイメージを割り当てて起動する方法。ISOイメージを最初に全部読み込むので、512MBの容量をいっぱいに使ったISOイメージだと起動に10分程かかる。しかも、RAMディスクボリューム上に仮想CDを作る構造なため、メモリは「ISOイメージサイズ+128MB」程度必要となる。但し、一旦起動してしまえば普通の BartPEとは別次元の操作性を体験できる。PEで腰を据えて作業したい人向け。

  2. HDDライクブート
    HDDではなくUSBフラッシュメモリに対して「PE Installer」を行ったようなもの。ブートプロセスはHDDにインストールしたPEと同じ(制限もHDDインストール時と全く同じ)。ISOイメージブートに比べ、起動時間は4〜6割と高速。但し、何かする度に突っかかるような感じがするのは通常のBartPE同様(若干速い程度)。ハードウェアトラブル等でPEを何度も再起動しなければならない人向け。
 1.の方法は「WindowsXP Embedded(XPe)」の機能を使ったものです。故に「Microsoft Windows Server 2003 SP1」が必要となってきます。

See Also:

 ネットワークからの起動はできますか?

 ...できた、との報告があります

 ですが、ネットワークブートには当然サーバが必要であり、そのサーバには
 が必要となります。ここでネックになるのは「DHCPサーバ」です。個人宅にせよ会社にせよ、ルータにDHCP機能が含まれているハズです。この機能を殺さないとネットワークブートはできませんが、IPアドレスを自動的に取得するにはDHCPサーバが必要になります。「サーバが常時稼動で、DHCPサーバを兼ねてもいい」という条件がクリアできるのであればチャレンジする意義もあるでしょうが、個人的にはあまり意義はないように思えます。

 動作的には上の「USBフラッシュメモリ(ISOイメージブート)」をネットワークで行うような感じになります。

 詳細な設定方法は"PXEブート環境作成手順の日本語版+文書で説明しているプラグイン用inf付 (2ch Bart's PE Builder Thread Uploader)"、或いは"Bart's PE Builder スレッド 6枚目" の107番以降を参照して下さい。


 BartPEから回復コンソールを利用できますか?

 できません...が、プラグインはあります。

 XPに回復コンソールをインストールするにはXP-CD内の「winnt32.exe」に「/cmdcons」というオプションを付けて実行します。インストールすると「cmdcons」というフォルダができてここに回復コンソール用のファイルがインストールされます。

 ...ですが、回復コンソールは「XP上からは実行できません」。実行するには再起動してXPのOSセレクタから「Microsoft Windows XP 回復コンソール」を選ぶ必要があります。これはBartPEにも当てはまります。

 つまり、回復コンソールプラグインはBartPEに回復コンソールを組み込むものではなく、「BartPEの CDに回復コンソールを同居させる」ものなのです。よって、マルチブートの仕組みが必要となります。

 回復コンソールプラグインはマルチブートにBCDWを利用します。ファイル名を小文字で処理するmkisofsをお使いなのであれば、BartPE FileCase等を使って\BCDWフォルダと\BCDWフォルダ内のファイル/フォルダを大文字化する必要があります。また、 mkisofsに指定するブートローダが変更(BCDWのもの)になりますので、回復コンソールプラグイン付属のreadme.txtをよく読んでから組み込むようにして下さい。

See Also:

 何かしようとすると"メモリ不足"と出て何もできないのですが?

 日本語環境で普通にBartPEを作ると、少なくとも128MBのメインメモリが必要となります。例え128MBあったとしても、VIDEOメモリがメインメモリと共有するタイプであったり、プラグインを追加したり、メモリ喰らいなアプリケーションを実行するとメモリが足りなくなる事があります。

 対処方法は簡単で、BartPEが操作可能になったら
  1. [マイコンピュータ]を右クリック。
  2. 「プロパティ」を選択。
  3. [詳細設定]タブを選択。
  4. 「パフォーマンス」の「設定(S)」を押下。
  5. [詳細設定]タブを選択。
  6. 「仮想メモリ」の「変更(C)」を押下。
  7. 適当なHDDを選択。
  8. 「カスタムサイズ(C)」を選択。
  9. 「初期サイズ」と「最大サイズ」に「100」程度を設定して「設定(S)」を押下。
 要は仮想メモリを使う訳です。指定したドライブに既に「pagefile.sys」があっても構いません。BartPEでの作業終了後に削除すればいいだけの話です。一々マイコンピュータから開くのが面倒な方はParagliderさんの「SetPageFile」プラグインを使うのもいいでしょう。

 なお、当然ですがこの方法はHDDが見えない場合には使えません。そんな時はUSB-HDD(やフラッシュメモリ)を用意して、そこへ仮想メモリを生成しましょう。


 最新のmkisofsが使えないのですが?

 添付版でない最新のmkisofsを使うとBartPEが起動しなくなる事があります。また、ISOのビルドに失敗するかもしれません。
 特殊な事をしないのであればPE Builder添付版を使うのがいいでしょう。例えば「Postprocessing」プラグイン付属のものを使う場合には、ビルドされたファイルのいくつかを大文字にしてからISOイメージを生成しなくてはなりません。また、mkisofsに渡すパラメータに「大文字にしたファイル(ブートローダ等)」が含まれる場合にはその記述も大文字にする必要があります。

 PE Builderは内部でmkisofsを起動しますが、ブートローダを小文字で指定しています。PE Builder添付版はビルドデータが大文字であっても小文字であっても、結局ISO作成時には大文字で処理するので問題ないのですが、最新版 mkisofsと差し替えて使うとブートローダを小文字で処理してしまい、起動しないBartPEができてしまいます。かといって、ISO作成前にブートローダを大文字にすると、今度は内部で呼び出しているmkisofsの引数が小文字固定なためISOの作成に失敗します。

 ファイルの大文字化を簡単にやってくれるツールがあります。「BartPE FileCase」がそれで、大文字必須ファイルのみを大文字にしてくれます。使い方は「pefc.exe %outdir%」です。追加で大文字化したいフォルダ/ファイルがあるのであれば「pefc.env」に記述して下さい。但し、PE Builder 3.1.4βからは大文字化を自動でやってくれるようになっています。

 PE Builder添付版でないmkisofsを使うメリットはいくつかありますが、最たるものは、やはりスタートメニューの文字列でしょう。すべて大文字であるより遥かに見易くなります。また、マルチブートCDを作る場合には小文字の使えるmkisofsを使う事になると思います。

なお、Bart's PE Builder v3.1.10から、「ファイルを大文字化しない」というオプションが追加されています。このオプションを使う場合、プラグインにファイルコピー/展開時での大文字化の記述が必須となったり、大文字化が必要なファイルが存在する場合にはISOビルド前に自前でファイルの大文字化を行わなくてはならない事になります。

See Also:

 ガイジンサンはISO作成時にどうして面倒なことをしているのですか?

 マニアックなガイジンサンはpebuilder.exeをバイナリエディタで書き換えて独自のスクリプトを走らせるようにしたり、「Plugin Manager/v2」を使ったりしています。理由は既に2つほど述べています。
...実はこれらの手法は以前のPE Builderでは簡単にできたのですが、3.0.33以降のバージョンでは簡単にはできなくなっています。以前のPE Builder(3.0.33以前)はビルド時に独自のスクリプトを実行できていました。この仕様変更には本家フォーラムの住人も混乱したようです (^^; 

 傍目には面倒そうに見えますが、一度環境を作ってしまえば後は意外と楽です。


 BartPEをスリムにしたいのですが?

 プラグインや機能をそのままでスリムにする、という前提で話を進めると、
 という方法があります。「CDからの起動を高速化したいのですが? 」と話がカブっていますが、ご容赦下さい。
  1. inf/sif/iniファイルを小さくする。
    .inf Reducer」を使って下さい。

  2. UPXで圧縮
    後述します。

  3. mkisofsに「- duplicates-once」パラメータを渡す。
    そのままですね。これを行うとCD内で重複しているファイルをハードリンク(のようなもの)により一つにまとめます。少し古いPE Builder添付版のmkisofsではこの指定ができません。

  4. 使わないフォントを削除する。
    アイコンが「青色」のフォントは全削除して構いません。フォントの削除により若干の高速化も図れます。青色のフォントを削除するだけで4.6MB程度軽量化できます。
 具体的なスクリプトは以下のようになります。これは現在、私が使っているスクリプトです。

@echo off
REM "@PluginManager@\build_burn.cmd" "@PEBuilder@" "@IsoFile@" "@OutDir@" @BuildISO@ @BlankCDRW@ @BurnCD@ "dev=@Device@" <BootLoader>
cd %1

:: ===================
::  BartPE FileCase
:: ===================
pefc %3
cls

:: ===================
::  .inf Reducer
:: ===================
infred.exe -R -n -s %3\i386
cls

:: ===================
::  Inf Cache Builder
:: ===================
InfCacheBuild.exe %3
cls

:: ===================
::  UPX
:: ===================
cd %3\i386\system32
%1\UPX --best --crp-ms=999999 comp.exe compact.exe ditrace.exe eqndiag.exe eqnlogr.exe eqnloop.exe expand.exe fc.exe finger.exe hostname.exe lpq.exe lpr.exe mountvol.exe nbtstat.exe; ntsd.exe pathping.exe peer.exe pentnt.exe portmon.exe replace.exe route.exe rsvp.exe tftp.exe xlog.exe
%1\UPX --best --crp-ms=999999 *.cpl
%1\UPX --best --crp-ms=999999 ctmasetp.dll ctmrclas.dll diskcopy.dll dnsrslvr.dll msjet40.dll msvbvm50.dll msvbvm60.dll mswstr10.dll netevent.dll netmsg.dll netrap.dll netui2.dll ntlanman.dll nwapi32.dll nwcfg.dll nwevent.dll riched20.dll wsock32.dll xpsp2res.dll
cd %1
cls

set BootLoader=BOOTSECT.BIN
if "%8"==""  goto BuildISO
set BootLoader=%8

:BuildISO

if "%4"=="0" goto EraseCD
mkisofs.exe -version
echo [BootLoader is "%BootLoader%"]
mkisofs.exe -iso-level 4 -volid "BartPE" -duplicates-once -A PEBUILDER/MKISOFS -sysid "Win32" -sort sortlist.lst -b %BootLoader% -no-emul-boot -boot-load-size 4 -hide %BootLoader% -hide boot.catalog -o %2 %3
if not ERRORLEVEL 0 goto Exit

:EraseCD
if "%5"=="0" goto BurnCD
cdrecord.exe %7 blank=fast
if not ERRORLEVEL 0 goto Exit

:BurnCD
if "%6"=="0" goto Exit
cdrecord.exe %7 driveropts=burnfree %2
if not ERRORLEVEL 0 goto Exit

:Exit

 UPXとmkisofs の部分は長いですが一行で記述して下さい。「.inf Reducer」、「InfCacheBuilder」、「BartPE FileCase」、「UPX」は「pebuilder.exe」と同じ場所にあるという前提です。

 UPXで圧縮しているファイルは「Postprocessing」プラグインを参考にしています。他にも圧縮できるファイルがありますので、EXEを中心に追加してみて下さい。「I386\ SYSTEM32」内のEXEはすべて圧縮しても目に付く問題はなかったように思います...ただ、環境は人によって異なるので、オススメはしません。

 「Plugin Manager v2」の「外部プログラム」欄には「"@PluginManager@\build_burn.cmd" "@PEBuilder@" "@IsoFile@" "@OutDir@" @BuildISO@ @BlankCDRW@ @BurnCD@ "dev=@Device@" <BootLoader>」を指定して下さい。最後の<BootLoader>は任意です。ブートローダを変更している時のみ「BCDW/LOADER.BIN」のように指定して下さい。


 別のバージョンがあるみたいなのですが?

 Reatogoというプロジェクトに対してOEMされたバージョンがあり、これに添付されたpebuilder.exeで生成されるPEは「BartPE」ではなく「ReatogoPE」になります。Reatogo版のpebuilder.exeは「Bart's PE Builder」と区別するために「3.1.7-OEM」のようにOEMを付けて呼ばれています。最近はOEM版の方が先行して開発されているようです。

 OEM版には本家にはない機能があり、そのうちの一つに多言語対応があります。「lang」フォルダに日本語言語ファイルをコピーして[Builder]-[Option]で「Japanese」を選択すると、アプリケーション再起動後に日本語化されます。一部、日本語として奇妙な点があるかもしれませんが、これは言語の差異によるものです。英語では倒置がよく使われるのですが、リソース文字列はフォーマット文字列で提供されていないため、そのまま日本語を当てはめるとおかしな日本語になってしまいます。

 「Bart's PE Builder」環境にOEM版を上書きして使っても問題はないと思いますが、気になるのであれば「pebuilder.exe」と「pebuilder.inf」、「lang」フォルダだけを上書きして使うようにすればいいでしょう。

 Reatogo版を単体で使っていいものか?という質問に対して私は何もお答えする事ができません。Reatogo フォーラムで確認して下さい。「Bart's PE Builder」版とReatogo版のどちらを使えばいいのか?という質問も同様です。ご自身で決めるべき事だと思います。但し、Reatogo 版を使っていて2ch等で質問をする際にはそれを明記すべきでしょう。

 「Bart's PE Builder 3.1.9」より、OEM版からのフィードバックが行われるようになりました。これにより「Bart's PE Builder」でも日本語化ができるようになりました。

See Also:

 黒い画面で「???.??? is not found」と出て再起動してしまいます。 

 ファイルは存在するのに、このエラーメッセージが出た場合、対象PCの光学ドライブの読み取り精度が悪い事が考えられます。

 例えば、
 などです。対策としては
 以上のようなものがあります。


 黒い画面で「Insufficient memory for ?????.???」と出て再起動してしまいます。 

 対処方法です。 
 v3.1.3を使うのであれば、プラグインは最新版付属の物を使い、pebuilder.infも最新版に準拠しておくといいでしょう。

 pebuilder.infを最新版に準拠させるには...
73行目の後に
fsutil.exe=2
を追加。

927行目の
0x1, "ControlSet001\Services\vds\SoftwareProviders\{CA7DE14F-5BC8-48fd-93DE-A19527B0459E}", "VersionId"="{21CBA22B-9418-43c7-8B77-80F0B410D503}"

0x1, "ControlSet001\Services\vds\SoftwareProviders\{CA7DE14F-5BC8-48fd-93DE-A19527B0459E}", "VersionId", "{21CBA22B-9418-43c7-8B77-80F0B410D503}"
に変更。

ファイルの最後に
;
; Correct problem related to Fixed Size Fonts not being correctly displayed
; Notably visible under stinger, bst5, putty, vncviewer, adawarese...

[SourceDisksFiles]
coure.fon=22
serife.fon=22
sserife.fon=22
smalle.fon=22
symbole.fon=22

[Software.AddReg]
0x1,"Microsoft\Windows NT\CurrentVersion\Fonts","Roman (All res)","ROMAN.FON"
0x1,"Microsoft\Windows NT\CurrentVersion\Fonts","Script (All res)","SCRIPT.FON"
0x1,"Microsoft\Windows NT\CurrentVersion\Fonts","Modern (All res)","MODERN.FON"

0x1,"Microsoft\Windows NT\CurrentVersion\Fonts","Courier 10,12,15 (VGA res)","coure.fon"
0x1,"Microsoft\Windows NT\CurrentVersion\Fonts","MS Sans Serif 8,10,12,14,18,24 (VGA res)","serife.fon"
0x1,"Microsoft\Windows NT\CurrentVersion\Fonts","MS Serif 8,10,12,14,18,24 (VGA res)","sserife.fon"
0x1,"Microsoft\Windows NT\CurrentVersion\Fonts","Small Fonts (VGA res)","SMALLE.FON"
0x1,"Microsoft\Windows NT\CurrentVersion\Fonts","Symbol 8,10,12,14,18,24 (VGA res)","SYMBOLE.FON"

; enable showing ACL permissions sheet on files and folders
[SourceDisksFiles]
rshx32.dll=2

[Software.AddReg]
0x1,"Classes\CLSID\{1F2E5C40-9550-11CE-99D2-00AA006E086C}",,"Security Shell Extension"
0x1,"Classes\CLSID\{1F2E5C40-9550-11CE-99D2-00AA006E086C}\InProcServer32",,"rshx32.dll"
0x1,"Classes\CLSID\{1F2E5C40-9550-11CE-99D2-00AA006E086C}\InProcServer32","ThreadingModel","Apartment"
0x1,"Classes\CLSID\{F37C5810-4D3F-11d0-B4BF-00AA00BBB723}",,"Security Shell Extension"
0x1,"Classes\CLSID\{F37C5810-4D3F-11d0-B4BF-00AA00BBB723}\InProcServer32",,"rshx32.dll"
0x1,"Classes\CLSID\{F37C5810-4D3F-11d0-B4BF-00AA00BBB723}\InProcServer32","ThreadingModel","Apartment"
0x1,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","Type","checkbox"
0x1,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","Text","@shell32.dll,-30518"
0x4,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","HKeyRoot",0x80000002
0x1,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","RegPath","System\CurrentControlSet\Control\LSA"
0x1,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","ValueName","ForceGuest"
0x4,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","CheckedValue",0x1
0x4,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","UncheckedValue",0x0
0x1,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","HelpID","shell.hlp#51154"
0x4,"Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SimpleSharing","DefaultValue",0x1
; /enable showing ACL permissions sheet on files and folders

; jan 20, 2006 v3.1.10
; W2k3 SP1 will crash if the NTVDM.EXE is stored in i386\system32 with the above
; RegKey. This happens for example with the dospe plugin. In W2k3 the olethk32.dll
; doesn't exist in the KnownDll List
; only for XP build
[SetupReg.AddReg.2600]
0x1, "ControlSet001\Control\Session Manager\KnownDLLs", "olethk32", "olethk32.dll"

; jan 22, 2006 v3.1.10
; add bootfont.bin to [root] (if exists)
[SourceDisksFiles]
bootfont.bin=30000,,12
を追加で完了です。

 現在、v3.1.9以降での回避方法を調査中です。
  この現象は何らかの原因でドライバファイル(*.inf)が破損してしまった場合、ドライブ/メディアの不調によりドライバファイルを正常に読み込めなかった場合に起こるようです。実行させるPCによって現象が出たり出なかったりするのは、必要なドライバファイルが異なるからだと思われます。

See Also:

 "Starting BartPE..."で白帯が右端に到達した後にフリーズ/再起動してしまいます。

 以下の事を試してみてください。
 ICH5/ICH5Rの環境でUBCD4WINドライバパックを利用すると表題の現象が"起きる事がある"のが確認されています。

See Also:

 バージョンごとの違いは?

 重要なのは「公式リリースはたったの4回しかない」という事です。見た事のないバージョンもあるかも知れません...それらは殆どが pebuilder.exe単体でリリースされたものか、ReatogoへのOEMです。古いバージョンを好んで使う酔狂なヒトはまずいないと思いますが、3.1.3以前のバージョンはミラーからも削除されているようですし、最新の公式リリース版を使うか、最新の安定版を(バグ修正リリースがあればそちらを) 使うのがいいと思います。

 個人的には公式リリース版だけ追っかけていくのが楽だとは思います...情報も多いですし。確かに、最新版には便利な機能がありますが、結局の所「できる事」というのは安定版と殆ど差はありません。

 以下にバージョンによるpebuilder.exeの機能の違いを列挙します。主な変更点の赤字の部分は特に重要だと思われる改変です。同梱のプラグインについては一切の説明を省いてあります。

バージョン 区分 主な変更点
3.1.10a バグ修正リリース (特になし)
3.1.10 安定版 日本語言語ファイルと日本語ヘルプが同梱されるようになった。
ビルド時に「ファイルを大文字化しない」オプションが追加された。
・「ライティング後にISOイメージを消去」オプションが追加された。
・「ライティング後にビルドデータを消去」オプションが追加された。
プラグインの [SourceDisksFiles]セクションの属性(第3引数)に"8=ファイルを大文字化"が追加された。
3.1.9 安定版 (特になし)
3.1.8b バグ修正リリース (特になし)
3.1.8a β 多言語対応状況感知Helpが追加になった。
・言語ファイルを自動認識できるようになった。
・「ベリファイ(StarBurn)」オプションが追加された。
Windowsインストールファイルの検索が行えるようになった。
3.1.7 安定版 ・ライティングツールに「StarBurn」が追加された
3.1.6 安定版 (特になし)
3.1.5 安定版 多言語対応
3.1.4 β Windowsファイルは大文字でコピーされるようになった。
プラグインダイアログに「Config」ボタンが追加された。
・プラグインダイアログに「Refresh」ボタンが追加された。
プラグインの[PEBuilder]セクションに「Config」が追加された。
3.1.3 公式リリース ・コマンドラインオプション「-auto」の仕様変更。このオプションを付けると確認ダイアログを出さなくなった。
input.infの[input]セクションから「whattodo」が削除された。
3.1.2 公式リリース ・「ISOduplicatesonce」が正しく動作するようになった。
3.1.1 安定版 ・コマンドラインオプション「-exit」が正しく動作するようになった。
3.1.0 公式リリース (特になし)
3.0.37 β (特になし)
3.0.36 β (特になし)
3.0.35 安定版 出力パスを絶対/相対パスで切り替えられるようになった。
input.infの[input]セクションに「useAbsoluteOutput」が追加された。
・出力パスが相対パスの場合、input.iniの[input]セクションの「OutDir」に格納されるようになった。
・出力パスが絶対パスの場合、input.iniの[input]セクションの「fulloutdir」に格納されるようになった。
3.0.34 安定版 ・コマンドラインオプション「-auto」の仕様変更。このオプションを指定するとビルドデータの上書き時に確認ダイアログが出なくなるようになった。
ライティング機能(cdrecord.exe を使用)が追加された
・「Burn To CD」/「Erase CDRW」/「Device」が追加になった。
3.0.33 安定版 UI が大幅に変更になった。
・コマンドラインオプションに-auto -exit -overwrite -verbose -skipregistry -skipfiles -buildisoが追加された。
・pebuilder.exeがエラー終了時にエラーコードを返すようになった。
出力パス(OutDir)が「相対パス固定」になった。
恐らくこのバージョンからinput.inf の[BuildISO]セクションで「exec」が使えなくなった。
3.0.32 安定版 XP SP2(RC)対応
3.0.31 安定版 (特になし)
3.0.30 公式リリース ・ソースダイアログに「Search」が追加された。
・ソースダイアログに「Check」が追加された。
・プラグインの[SourceDisksFiles]セクションの属性(第3引数)が"4=ファイルが存在する時のみコピー"の時に起こる問題を修正。
3.0.29 安定版 (特になし)
3.0.28 安定版 (特になし)
3.0.27 安定版 (特になし)
3.0.26 安定版 ・バグ fix
3.0.25 安定版 プラグインの記述でWindowsのバージョンによる条件をセクションに設定できるようになった。
3.0.24 安定版 ・プラグインの[SourceDisksFiles]セクションの属性に"4=ファイルが存在する時のみコピー"が追加された。
3.0.23 安定版 XP 無印でビルドできなくなった。
3.0.22 安定版 (特になし)
3.0.21 安定版 (特になし)
3.0.20 安定版 (特になし)
3.0.19 安定版 環境変数@ProfilesDir@, @IsoFile@, @OutDir@, @SourcePath@, @Verbose@,  @Build@, @Version@, @Program@, @PluginDir@が使えるようになった。
・プラグインの[SourceDisksFiles]セクションの属性(第3引数)に"2=解凍しないでコピー"が追加された。
・カスタムフォルダが利用可能になった。
input.infの[BuildISO]セクションの「exec」にmkisofsへのパラメータが保存されるようになった。これを利用してビルド時に独自のスクリプトを実行できるようになった。
3.0.18 安定版 (特になし)
3.0.17 安定版 (特になし)
3.0.16b 安定版 (特になし)
3.0.16a 安定版 (特になし)
3.0.16 安定版 (特になし)
3.0.15 β (特になし)
3.0.14a β (特になし)
3.0.14 β (特になし)
3.0.13 β ・プラグインダイアログに「Edit」が追加された。
3.0.12 β ・オプションダイアログが削除された。
3.0.11 β プラグインダイアログに「Add」が追加された。CABで固めたプラグインをここから追加する事ができます。
・プラグインダイアログに「Remove」が追加された。
3.0.10 β ・プラグインダイアログに「Help」が追加された。
・プラグインの[PEBuilder]セクションに「Help」が追加された。
・プラグインの[SourceDisksFiles]セクションの属性(第3引数:1="存在チェックを行う")が追加された。
3.0.9 β (特になし)
3.0.8 β ・「エラー /ワーニング」用ナビゲートボタンが追加された。
・プラグインの[PEBuilder]セクションに「Name」が追加された。
・プラグインの[PEBuilder]セクションに「Enabled」が追加された。
3.0.7 β (特になし)
3.0.6 β (特になし)
3.0.5 β (特になし)
3.0.4 β (特になし)
3.0.3 β (特になし)
3.0.2 β ・GUIで操作した内容を記憶するようなった。
3.0.1 β ・バーボーズモードが追加された。
・プラグインに[AddLine], [DelLine], [SetValue]セクションが追加された。
追加ついでにnetmscli.inf, netnb.inf, nettcpip.infにパッチを当てるようになった(「fix_net」プラグインが必要なのはこのためです)。
3.0.0 β ビルド用環境ファイルがpebuilder.infに一本化され、software.inf/setupreg.inf/default.infがなくなった。
・コマンドラインオプション「-v(バーボーズモード)」が追加された。
プラグインがサポートされた。

 それにしても仕様変更が結構ありますね。旧バージョンのinput.infを使いまわすのはやめた方がいいと思います。


 FAT32を使っちゃいけないのは何故ですか?

  PE Builderでのプラグインの組み込み順序は「プラグインフォルダ内のフォルダの昇順」となります...NTFSでは。正確に言うと、フォルダを検索するWindowsAPIはNTFSの場合、常に昇順でフォルダを列挙しますが、FAT32の場合には多くの場合「フォルダの作成順」で列挙されます。ですのでFAT32の場合、いくらExplorerで整列させても検索順序は変わりません。

 つまりは「意図した組み込み順序にならない事による不具合」が起きる可能性が高まるのです。例えばExplorer&IEプラグインはフォルダ名が「z_ExplorerIE」となっています。これはできるだけ後でプラグインを組み込まなくてはならない事を意味しています。しかしFAT32の場合には、このフォルダ名に何の意味もなくなってしまいます。

 FAT32で順序を変えるには、一旦プラグインフォルダを別の場所へ「移動」して組み込みたい順番にプラグインフォルダへ書き戻すしかありません。「Plugin Manager(v1)」で行っている処理も同様のロジックです。しかし、フラグメントの大きいディスクに於いては、「移動」- >「書き戻し」でも意図した順序にならない可能性があります。

 プラグインを追加する度にフォルダの順序を気にする必要が出てくるので、特別な理由がない限りPE BuilderはNTFSなドライブにインストールするようにして下さい。

 NTFSなドライブにインストールしても、組み込み順序を変更するのにプラグインのサブフォルダ名を変更する必要があります。「Plugin Manager v2」を使えばサブフォルダ名を変更する事なくプラグインの組み込み順序を変更する事ができます。


 nLiteで小さくしたXP-CDを使えますか?

 結論から言うと「使えます」。但し、PE Builderは"コピーできないファイルがある"とエラーを返します。Postprocessing プラグイン等のガイジンサンのスクリプトや「Plugin Manager/v2」はこのエラーコードを見ているので、「ビルド」->「ISO作成」をシームレスに行う事ができなくなります。もちろん、PE Builderだけで完結する場合はこの限りではありません。


 音を鳴らすにはどうしたらいいのですか?

 2chの過去ログをご覧下さい。正直、この話題からは逃げてます。 FAQページにあるまじき行為ですが、今の所どう足掻いても環境依存するのです。やり方は確立されているのですが、「こうすれば絶対に音が鳴らせる」というものではありません。確かにFAQではあるのですが...。

 一つの方法として、332氏+491氏+520氏による「Enable Sound」プラグインがあります。


 NTOSKRNL.EXEがないって怒られます。

 PE Builder 3.1.10を使ってビルドしていませんか?この問題が修正されている3.1.10a以降を使ってビルドしてみて下さい。

See Also:

 Explorer&IEプラグインを導入していますが、 Nu2Menuプラグインを組み込む必要があるのですか?

  必要ではありませんが、このプラグインを導入しないとビルド時に大量のエラーが出ます。Explorer&IEプラグインを前提とした多くの BartPE作成解説サイトで、Nu2Menuプラグインが必須になっているのはそのためです。また、組み込んだ状態だとBartPEのCDの入ったドライブを ExplorerからダブルクリックするとNu2Menu がAutorunで起動してウザったい事になります

 ビルド時に大量のエラーが出る理由ですが、多くのプラグインがNu2Menuのメニューにメニューアイテムを追加しているからです。Nu2Menuプラグインを無効にすると書き込む先の"nu2menu.xml"が存在しなくなるためにエラーが出ます。

 これを回避する方法は幾つかあります。
  1. エラーを無視する。
    無視してもちゃんとビルドデータはできています。但し、PE Builderは"書き込めないファイルがある"とエラーを返します。Postprocessing プラグイン等のガイジンサンのスクリプトや「Plugin Manager/v2」はこのエラーコードを見ているので、「ビルド」->「ISO作成」をシームレスに行う事ができなくなります。もちろん、PE Builderだけで完結する場合はこの限りではありません。

  2. Nu2Menuにメニューを追加しているプラグインからNu2Menuに関する記述をコメントアウトする。
    ちょっと面倒です。

  3. Nu2Menuプラグインの[SourceDisksFiles]セクションにある "nu2menu.xml=a,,3"以外をすべてコメントアウトする。
    Nu2Menu環境を作る時にプラグインをまた書き直さなくてはなりませんが。

  4. Null2Menu プラグインを有効にしてNu2Menuプラグインを無効にする。
    これが一番簡単かも。i386フォルダにダミーのnu2menu.xmlが残ってしまいますが、プラグインをオリジナルのままにしておけるという利点があります。

 BartPEを"Press any key to boot from CD"を出さずに起動させたいのですが?

 「BartPEがCD-ROMから起動しない」の逆を行います。具体的には、"bootfix.bin"をコピーしているすべてのプラグインの該当箇所をすべてコメントアウトすればいい事になります。「Japanese Language - 日本語サポート」プラグインの場合だと、"bootfix.bin=1"となっている行の頭にセミコロン (;)を付けてコメントアウトします。

 "bootfix.bin"が存在しなければ"Press any key to boot from CD"は出なくなります。但し、環境によっては"bootfix.bin"を組み込まないとBartPEが起動しない事があります。

 私の体験談ですが、古いCD-ROMドライブや調子の悪いCD-ROMドライブで、
  1. "Press any key to boot from CD"が出ない("bootfix.bin"無)ブートCD。
  2. かつ、CD-Rメディアに焼いたブートCD。
  これらがことごとく起動しない事がありました。他のPCからDVDドライブを引っこ抜いて接続したら、上記の条件のCDでも素直に起動したのですが...。

 特殊な事情がない限り、"Press any key to boot from CD"方式の起動をオススメします。BartPEを起動するPCが"bootfix.bin"を組み込まなくても自動的に起動する事が確認できているのであればこの限りではありません。

See Also:

 (ほにゃらら)のプラグインはどこにあるのですか? 

普通に緊急用としてのBartPEを作る分には「参考になるWebサイトは?」を辿ればすべて揃うハズです。

 それでも見つからないのであれば、本家筋をあたってみましょう。
 なお、「参考になる書籍は?」で紹介している雑誌の中にはWebサイトでプラグインを公開しているところもあります。

 USB&1394プラグインでUSB-HDDがホットプラグで認識しません。

 プラグインの使い方を間違っていませんか?
 ...これだけでちゃんと動作すると思っているのではないでしょうね?
 実は違います...正確には"違う事もあります"。以下が正しいフローです。
  1. BartPEで使う可能性のあるUSB機器をすべて実機で認識させる。
  2. すべてのUSBコネクタで認識させる。
  3. レジストリエディタを起動。
  4. [HKEY_LOCAL_MACHINE \System\Select]にあるCurrentの値を覚えておく。Currentが"1"なら8以降の手順を行う。
  5. usb1394.bat をテキストエディタで開き、"Controlset001"を"ControlSet(Currentの値)"に置換。
  6. usb1394.bat を実行。
  7. usb1394.regをテキストエディタで開き、"ControlSet(Currentの値)" を"ControlSet001"に置換。
  8. "(実機のOSインストールドライブ):\\Windows〜"になっている所を(後述)に置換。
  9. 置換したパスに含まれるファイルと、そのファイルが参照しているファイルを調べ、プラグインに追加。
  このようにしないと、本来の動作は行われません(ちなみに私の環境はControlset003です)。

処理8.において置換すべき文字列は環境によって異なるので注意が必要です。

[PEBuilder3.0.32以降 + XP-SP2ソース]
・"X:\I386"に置換。

[SP1ソース]
・"%SystemRoot%"に置換。
・置換した箇所に"Registry Expander"を指定した方がいい。

 PE Builderは(恐らく3.0.32以降)、XP-SP2をソースにするとBartPEのドライブレターが"X:"に固定されます。

  プラグインのヘルプにあるように"%SystemRoot%"に置換するだけでもいい場合がありますが、レジストリの種類がREG_SZの場合にはアプリケーションが対応していない限り環境変数を正しく解釈しませんし、レジストリの種類がREG_EXPAND_SZであってもアプリケーション側の問題で環境変数を正しく解釈しない事があります。

 以上のような理由から、「BartPEを"PEBuilder3.0.32以降 + XP-SP2ソース"でビルドしている」場合には"X:\I386"で置換する事が推奨されます。

 SP1ソースの場合にはBartPEのドライブレターが不定であるため、とりあえず"%SystemRoot%"に置換しておき、スクリプト等で"Registry Expander"を呼び出して処理する必要があります。

※詳細な情報は「Bart's PE Builder スレッド 4枚目」の600番以降で得ることができます。

 ファイルがどのファイルを参照しているか調べるには"Dependency Walker" を使います...が、ドライバ不要のデバイスは置換作業を行わなくても認識される事がありますので、血眼になってファイルを追いかける必要はないかもしれません。1〜7迄の作業だけでは認識しない特定のUSBデバイスをどうしても動作させたいと言うのであれば話は別ですが。   この2点がポイントです。

 レジストリが肥大するのが少しイヤではありますが、片っ端からお友達の持っているUSB機器を自分のPCに繋いで認識させておくと

イザという時に便利

 ...かもしれません。

追記:
  上記の処理をやるにしても、REG_EXPAND_SZやREG_MULTI_SZはhex(2)やhex(7)のようにバイナリ扱いで出力されています。しかもUnicodeのバイナリです。ここに含まれるパスを修正するのは非常に困難です。上記の処理を何も考えずに行ってくれるツールを作成しました。「Registry File Generator for USB&1394-Plugin」です。

 「Registry File Generator for USB&1394-Plugin」は、
  という特徴を持っています。バイナリツールなので、"将来に於いて吐き出さなくてはならないレジストリキーが増えた"場合に不安を感じるかもしれませんが、添付の「usb1394.env」を修正する事により、自由に変更できます。また、このツールは表向き"USB&1394プラグイン用"となっていますが、汎用的なレジストリファイル出力ツールとして使うことができます。

See Also:

 DellのCDでビルドするとloadKey()のエラーになります。

 公式FAQの#28でなく、#9と同じ症状に悩まされた場合には、以下の手順でビルドが可能になるようです。
  1. DellのCDを適当な場所にコピー。
  2. コピー先のI386フォルダに移動。
  3. I386フォルダへfixdell.cmdをコピー。
    (http://www.911cd.net/forums//index.php?showtopic=12917&st=30)
  4. 同じくSubInACL.exeをコピー。
    (http://www.microsoft.com/downloads/details.aspx?familyid=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en)
  5. fixdell.cmd を実行。
  6. PE Builderのソースに1.のフォルダを指定。
  7. BartPE をビルド。
※詳細な情報は「Bart's PE Builder スレッド 4枚目」の631番以降で得ることができます。

 現在、トラブルを抱えています。2chで素早く回答を得るにはどうすればいいのでしょうか?

 レスが付かなかったり、冷やかな反応をされるのは、
 のいずれかでしょう。

 DSP版やパッケージ版のXPを使って"2chスタンダードなBartPE"を最小構成で作った場合、ほぼすべての環境で正常に起動できます。元来PEは「Preinstalled Environment」、つまり、OSインストール用に作られたXPのサブセットOSです。言い換えれば起動できない環境があるのは問題な訳です。しかしながら、トラブルに遭遇するのも事実です...ですが、トラブルの殆どはサブセットOSをフルセットOSに近づけようとする過程で生じます。具体的にはドライバの追加やプラグインの追加がそれに当たります。

 BartPEを最初に作る場合には"2chスタンダードなBartPE"をオススメします。そして、それが確実に動作する事を確認してからプラグインを一つずつ追加して下さい。その上でトラブルに遭遇したのであれば、テンプレートサイトやこのサイト、或いは過去ログを活用して下さい。それでもなおトラブルが解消できないのであれば、ありのままの現状を"正確に"伝えるようにしましょう。
  「〜ができない」だけだと、レスを付けるヒトも憶測でしか物を言えません。ピンポイントに近いアドバイスを得たいのであれば、詳しく状況を説明する事が重要です。問題解決のために自分が試してみた事も付け加えておくといいでしょう。"憶測 (経験則)"によるものと"推測 (動作原理から導き出される理論的な仮説)"によるものではアドバイスの質が違ってきます

 レスが付いた時に、回答する側は"回避策"あるいは"原因となる部位を特定するための検証手順"を提示する場合が殆どです。検証手順を示されたら、まずはその検証を行い結果を報告して下さい。この際に他の事(新たにプラグインを追加するとかビルド環境を変えるとか)をやってしまうと、例えその結果トラブルが解決できたとしても、原因が特定できないために、同じ症状で同じ質問が繰り返される事になります。
 回答によって解決したのであれば、同様の症状に悩んでいる方のためにも、その旨をちゃんと書き込んで下さい。

----------------------------------------
Bart's PE Builder スレッド 5枚目 424より
----------------------------------------

質問にレス付けてる側から言わせてもらえれば、
テンプレサイトやFAQを見た上で質問しているのであれば
回避策を提示したり、検証手順を提示するのは全く苦になりません。
(聞く耳持ってるヒトならね)

あるトラブルで誰かが1時間悩んだとして、その情報がどこにも公開されていなければ、
(スキルの差はともあれ)同じトラブルで他の誰かも1時間悩む事になります。
100人が同じ所で躓けばトータルで100時間もの無駄が生じますよね。

原因追究しようとするのも、フィードバックを求めるのも、FAQをまとめたのも
 全体で見た場合の"時間の無駄"を極力なくすためです。
BartPEでのエラー&トライはご存じの通り非常に手間が掛かりますのでね。

故に、検証手順を示したのに"解決しました"とだけ書いて(或いはそらすらなく)、
"過程と結果をフィードバックしない"ヒトや、検証手順以外の事をやったりして
"何が原因だったのかをうやむやにしてしまう"ヒトが叩かれる傾向にあるのは
過去ログを読んでいればなんとなく理解できるかと思います。

# 矢継ぎ早に検証手順を提示されては"面食らってしまう"
# というのも理解してはおりますが...(^^;A

 回答者の指摘によって直接的/間接的を問わず、自分にミスがあった事に気付いた場合には、素直に認めましょう。はぐらかされると、回答者は別の解法を提示してきます(もちろん的外れな解法を)。これは双方にとって時間の無駄であり、スレにも有益な情報をもたらしません。

 質問をする事は全然悪いことではありませんし、質問時に自分を卑下する事もありません。ただ、的確なアドバイスを求めるのであれば詳細な情報を公開する事、そして、アドバイスをくれたヒトに素直に従ってみる事です(fusianasanやブラクラは除く)。
 RegistryExpanderって何ですか?

 Sherpyaさん作のソフトウェアです。RegExpander.exeは[HKEY_LOCAL_MACHIN_SOFTWARE\Sherpya\ RegExpander]以下にあるレジストリエントリが指すレジストリエントリのキーの値の内、"環境変数で置き換えられているパスをBartPEの実際のパス(絶対パス)へ置換する"という事をおこないます。少しややこしいですね。

  例えば、あるソフトが"Dir"というキーに"C:\Windows\System32"という値を保持していたとします。 PEBuilder3.0.32以前やソースにSP1を使っていると、BartPEから起動したときのシステムドライブのドライブレターは不定となります。よって、このキーの値は不正なものとなってしまいます。PEBuilder3.0.32以降+XP-SP2ソースであればBartPEのシステムドライブのドライブレターは"X:"に固定されますので、上記のような場合だと単純に"X:\I386\System32"にすればいいのですが。

 BartPEが起動してみないとシステムドライブのドライブレターが確定しない場合には...先述の例で行くと"% SystemRoot%\System32"へ置換してやればいい事があります。但し、それはレジストリキーの種類が"REZ_EXPAND_SZ" かつ"アプリケーションが環境変数展開に対応している"事が前提です。REG_SZを無理矢理REZ_EXPAND_SZに変更して環境変数を含むパスに置換しても、アプリケーション側が対応していなければ正しく動作しません。また、REG_EXPAND_SZのキーに絶対パスで記述しているアプリケーションは"環境変数展開に対応していない"可能性もあります。つまり、"REG_SZだろうがREG_EXPAND_SZだろうが、環境変数を展開してくれるかどうかはアプリケーション次第"という事になります。

 REG_SZ/REG_EXPAND_SZ に環境変数を含むパスを指定して、それをRegExpander.exeのエントリ([HKEY_LOCAL_MACHIN_SOFTWARE\ Sherpya\RegExpander]以下)に書き込んでおき、起動時にRegExpander.exeを実行すると、指定されたキーの値を絶対パスで置換してくれます。

 "PEBuilder3.0.32以降"+"XP-SP2"ソースでは、「"X:"固定なのでRegistryExpander を使わないでいい」のかと言えば、そういう訳でもありません。例えば、"Document and Settings"以下を指す環境変数(%APPDATA%や%HOMEPATH%等)はRAMディスク("B:"等)上に作られる事があり、"X:"で置換する訳にはいかないからです。

 RegExpander.exeは複数のプラグインからRunOnceやautorun*.cmdで呼び出されます。何度も実行されるとオーバーヘッドが大きくなりますので、できるだけ一度の起動になるようにして下さい。但し、プラグイン(の持つ二次的なファイルやプログラム)の組み込みタイミングによってはRegExpander.exeを複数回実行せざるを得ない事があります。

 ビルドを試行錯誤している段階であれば、RegExpander.exeでの置換が正常に行われているかをレジストリエディタで確認して下さい。RegistryExpanderを使用しているプラグインは置換が正常に行われる事を前提にして作られています。

 プラグインへの記述は、実際にRegistryExpanderを使用しているプラグインを参考にするのが勉強になると思います。

 RegistryExpanderを用いた環境変数の展開がうまくいかない場合には、Explorerが認識している特殊フォルダ用の環境変数(シェルフォルダ)が正しく設定されていない可能性があります。

See Also:

 起動するまでに何度もコマンドラインプロンプト(DOS窓)が出てきてウザいのですが?

  Autorun*.cmdで実行される処理の順序を明示的に指定したいのですが?

 PPSHを使うといいでしょう。PPSHは簡易Pascalスクリプト実行環境です。汎用ツールではありますが、主にBartPE用に特化された関数/手続きが実装されています。

begin
   // Registry Expander
  // ---------------------------------------------------------------------------
  Print('Registry Expander Loading...');
  Exec('RegExpander.exe','',-1);

  // MMC add-on for XP-SP2
  // ---------------------------------------------------------------------------
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','1004',3);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','1206',0);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','1806',0);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','1807',0);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','1808',0);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','1809',3);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','2000',0);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','2100',3);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','2101',0);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','2102',0);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','2200',0);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','2201',1);
  RegWriteInteger(2,'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0','2300',0);

  // Explorer & IE
  // ---------------------------------------------------------------------------
  // Comment Out!! (Explorer&IE.inf)
  // 0x0,"Software\Microsoft\Windows\CurrentVersion\RunOnce"
  // 0x1,"Software\Microsoft\Windows\CurrentVersion\RunOnce","Startsrv","\i386\system32\Startsrv.cmd"
  // ---------------------------------------------------------------------------
  Print('Start Windows Management Instrumentation Service...');
  ServiceStart('winmgmt');
  Print('Start Cryptographic Services...');
  ServiceStart('CryptSvc');

  // SetFolderPath
  // ---------------------------------------------------------------------------
  HideExec('shsfp.exe','-f',-1);
  SettingChangeNotification('Environment');

  // Network[PENETCFG]
  // ---------------------------------------------------------------------------
  // Disable Network[PENETCFG] [Auto-Start]
  // ---------------------------------------------------------------------------
  Print('Start Network Services...');
  Exec('penetcfg.exe','/UseProfile:penetcfg.ini',-1);
 if RegisterRoutine('shell32.dll','SHChangeNotify','IIII','I') then
    SHChangeNotify($08000000,$1000,0,0);
end;

  上は私が実際に使用しているスクリプトです。if文の条件分岐が一箇所のみ...ほぼ関数をただ並べただけの簡単なスクリプトになっています。構文に関する一覧はPPAの項目で得られます。PPSHで使える関数/手続きに関してはPPSH付属のヘルプファイルを参照して下さい。

 具体的な使い方ですが、コメント部にあるように、Explorer&IEプラグインの一部をコメントアウトし、autorun*.cmdの実行をすべて止めます。そして、autorun*.cmd内の処理を実行したい順にスクリプトに移植します。以下に主要な機能の対応表を載せておきます。

機能 BAT/CMD PPSHの関数/手続き 備考
外部アプリケーションの実行 (そのまま記述) Exec() 第3引数に -1を指定すると終了待ちを行う。
関連付けられたファイルの実行 - Shell()
外部アプリケーションの実行(非表示) > null HideExec() 第3引数に -1を指定すると終了待ちを行う。
アプリケーションは非表示で実行されるため、ユーザの操作を伴う
アプリケーションを実行してはならない。
関連付けられたファイルの実行(非表示) - HideShell() ファイルに関連付けられたアプリケーションは非表示で実行されるため、
ユーザの操作を伴うアプリケーションを実行してはならない。
DLL 内の機能を実行 rundll.exe RegisterRoutine() RegisterRoutine() で登録したAPIが関数として利用可能になる。
COMサーバの登録 regsvr32.exe RegisterServer() System32 に存在するDLLを指定する場合にはパスの指定は不要。
サービスの開始 net start ServiceStart() 指定するサービス名はレジストリで確認する事。
サービスの停止 net stop ServiceStop() 指定するサービス名はレジストリで確認する事。
レジストリの設定 reg.exe 各種レジストリルーチン 後述するが、大量のレジストリ操作には向かない。
大量のレジストリを登録するだけであればregedit.exeでインポートする事。
ファイルコピー copy CopyFile() ワイルドカード指定可。
フォルダコピー xcopy CopyFile() ワイルドカード指定可。
ファイル削除 delete DeleteFile() ワイルドカード指定可。
ファイル名変更 ren RenameFile()
ファイル移動 ren MoveFile() ワイルドカード指定可。
ディレクトリ作成 mkdir MkDir() サブフォルダまで一気に作成する。
C: \111\222\333を指定する場合に、C:\111が存在しなくても構わない。
ディレクトリ削除 rmdir RmDir() 削除するフォルダ内にファイルが存在していても構わない。
画面へのメッセージ表示 echo Print()
MessageBox()
ShowDialog()
それぞれ出力先が違うので注意。
繰り返し処理 for for ... to ... do
for ... downto ... do
汎用的な for文。continueやbreakも利用可能。
条件分岐 if if ... then ...
if ... then ... else ...
if ...then ...else if ... else ...
汎用的な if文。elseやelse ifも利用可能。
ファイル存在チェック exist FileExists()
フォルダ存在チェック exist DirectoryExists()
ユーザ入力 < con InputBox()
ShowDialog()
はい/いいえ程度の選択であれば MessageBox()が使える。
ファイル名の指定ならFileOpenDialog()/FileSaveDialog()が使える。
フォルダ名の指定ならSelectDirectory()が使える。
スクリプトの中断 exit exit

 通常はデバッグ用のウィンドウが表示されますが、一通り動作確認が済んだのならPPSHを「/nosplash」スイッチ付きで起動するようにすれば、サイレントモードで実行する事ができます。

・AutoRun*.cmd での問題点
・PPSH での問題点

 特殊フォルダ用の環境変数(シェルフォルダ)が正しく登録されていません。

 Explorerが使用する特殊なフォルダ(シェルフォルダ)はレジストリを書き換えただけでは認識されません。

 起動時にshsfp.exeを実行して環境変数とシェルフォルダの関連付けを行って下さい。環境変数からパスへの変換が正しく行われないと、RegistryExpanderも正常動作せず、あなたの組み込んだアプリケーションがBartPEで期待した動作をしない事があります。

 ※詳細な情報は「Bart's PE Builder スレッド 4枚目」の217番以降で得ることができます。 

See Also:

 環境変数が正しく登録されていません。

SP3ソースで MMC.exe を開くとデスクトップに変なファイルが生成されます。

 環境変数はレジストリに保持されています。ユーザー環境変数が [HKEY_CURRENT_USER\Environment] 、システム環境変数が [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] にあります。

 BartPEの場合、プラグイン等で環境変数をレジストリに記述すれば必ず反映される訳ではなく、場合によっては環境変数更新通知をシステムに対して行わなくてはならない事があります。これを行わないと、例えばSP3ソースに於いてmmc.exeを実行するとデスクトップにmmc????.xmlというファイルが生成されたりします。

 スタートアップに"環境変数TEMPを設定する (2ch Bart's PE Builder Thread Uploader)" や "SHSFP(v1.07以降)" を仕込むか、、或いは PPSH(v1.03以降) でスクリプトに "SettingChangeNotification('Environment');" を記述する事で解決できます。

 ※詳細な情報は「Bart's PE Builder スレッド 6枚目」の215番以降で得ることができます。 

See Also:

 URL(プロトコル)の関連付けがうまくいきません。

  ブラウザのプラグインを組み込んだのに、ファイル名を指定して実行で「http://〜」と入力してもIEが起動してしまう場合には、Explorerのフォルダオプションにある「フォルダの種類」タブに「(なし) URL: HyperText 転送プロトコル (HTTP)」等が表示されているか確認して下さい。

 もし、表示されていないのであれば、どんなにブラウザの関連付けの設定を行っても、URLの内容が組み込んだブラウザで表示される事はありません。まず、「URL (プロトコル) 関連付けプラグイン(URL Associations Plugin)」を組み込んでみて下さい。
 
 "mms:"等の特殊プロトコルを設定する時も「URL (プロトコル) 関連付けプラグイン(URL Associations Plugin)」の内容を参考にしてみて下さい。

 インストールCDを持っていません。どうすればいいのでしょうか?

 PE Builder 3.1.8a以降であれば、インストレーションファイル(PCプリインストール)を検索してそれをソースに使う事ができます...が、プリインストールの状況はメーカによって異なりますので、必ずソースにできるかと言えばそうでもなかったりします。

 HDDに"i386"フォルダがあるのであれば、wxp10.zipと組み合わせて起動可能なインストールCDを作る事が可能な事があります(必ず作れると断言はできませんが)。インストールCDが作れたのであればしめたもので、SP+メーカー等を使ってSPをあて、それをソースにする事ができます。

See Also:

 BartPEのレジストリでのControlSetの扱いがよくわかりません。

 混乱の元になっているのがレジストリにおけるControlSetの扱いです。

 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet]に存在するレジストリキーを、プラグインの[SetupReg.AddReg]に記述する場合にはCurrentControlSet ではなくControlSet001を指定する必要があります。BartPEはシングルユーザで動作するため、必然的に ControlSetは一つしか存在しません。つまりControlSet001です。

 [SetupReg.AddReg]にControlSet001を記述すると、PE起動時にCurrentControlSet へ転記されます。CurrentControlSetを記述しても意図した動作にはなりません。

  実機ではどうでしょうか?実際に動作しているのはCurrentControlSetですから、こちらからデータを読み出すのはOKとなります。但し、これを元にプラグインで[SetupReg.AddReg]に記述するにはやはりControlSet001へと置換しなくてはなりません。

  また、実機のCurrentControlSetは"起動中のWindowsが参照しているレジストリ"ですから、保護機能が働いてデータを正常に読み出せない場合があります。よって、CurrentControlSetではなくControlSetからデータを抽出した方がいい事になるのですが、ここで早とちりをしないようにしなくてはなりません。PEのプラグインへはControlSet001で書き出さなくてはならないのですが、だからといって実機のControlSet001を参照すればいい訳ではないという点です。

 [HKEY_LOCAL_MACHINE \System\Select]にあるCurrentの値を確認してみて下さい。この値が指すControlSetがCurrentControlSet と同等のレジストリキーです。Currentの値が2であれば、読み出すべき目的のControlSetは"ControlSet002"となります。

 手順をおさらいしてみましょう。
  1. [HKEY_LOCAL_MACHINE\System\Select]にあるCurrentの値を確認。
  2. Current の値が指すControlSetからデータをエクスポート。
  3. (プラグイン用にゴニョゴニョ)
  4. ControlSet をControlSet001へ置換してプラグインに記述。
 プラグインの中には*.bat/*.cmdで実機のレジストリからレジストリファイルを生成するものがありますが、それらはControlSet001からの読み出しを行っている事が多いです。このようなプラグインを使用する場合には*.bat/*.cmdのControlSet001を自分の環境に合わせて置換し、生成されたレジストリファイルのControlSetをControlSet001またはCurrentControlSetへ置換してやらなくてはなりません。さっきと言ってる事が違うと思われるかもしれませんが、生成されたレジストリファイルはPE起動後にregedit.exeを伴ってインポートされる仕組みになっており、CurrentControlSetへの置換でも問題はないという訳です。但し、保護機能が働いてインポートに失敗する事がありますので、やはり ControlSet001への置換が無難だと思われます。

 このようなプラグインに出会ったら、*.bat/*.cmdを調べてレジストリ抽出部を「Registry File Generator」に任せるように改変するのがお手軽で確実だと思います。

See Also:

 プラグインの組み込み順序はどうなっているのですか?

 NTFSの場合はプラグインフォルダの昇順で組み込まれます。プラグインフォルダ内に複数のプラグインファイルがあった場合には、ファイル名の昇順で組み込まれます。FAT32の場合はいずれも不定です。

 NTFSの場合でも、プラグインの組み込み順序は必ずしもExplorerで見たときの順序通りではない場合がある事に注意して下さい。例えば "z_"で始まるフォルダと"zz_"で始まるフォルダがあった場合、Explorerでは"z_"->"zz_"ですが、実際の組み込み順序は"zz_"->"z_"です。

 組み込み順序を確認する時にはレジストリのみをビルドするといいと思います(PE Builderのコマンドラインスイッチ参照)。レジストリのみのビルドだと時間をそれほど掛けずに、組み込み順序を調べるためのビルドログを得ることができます。最終的な組み込み順序は必ずビルドログで確認して下さい。

See Also:

 ネットワークを有効にするには? 

 " ネットワーク"というものを一般的に解釈し、「インターネット接続環境」「LANでのファイル共有(SMB)機能」を指すものとして話を進めます。

 PE Builder 3.1.10(a)かつ、Explorer&IE環境においてネットワークを有効にするために必要なプラグインは
  この二つだけです。

 PE Builderはビルド時に一部のネットワーク絡みのファイルを書き換えています。これらのファイルはUNICODEなのですが、2バイトコードを考慮せずにANSI変換しているため、2バイト圏のWindowsをソースに使うとファイルが破壊され、正しく動作しなくなってしまいます。これらのファイルを最初からANSI(S-JIS)化し、コピーする役割を担っているのが「fix_net」プラグインです。

 「penetcfg」プラグインで使うpenetcfg.exeには「PENetCfg v2.30 Multilanguage (Beta)」を使って下さい(日本語が使えます)。上書きで構いません。

  手動でpenetcfg.exeを起動するか、penetcfg.exeを一連の初期化の後で自動実行させれば、ネットワークが有効になります。

 PE から他のPCへアクセスするには普通にマイネットワークから参照すればOKですが、XP がSP2になってからというもの、PEから他のPCの共有参照は不安定です。他のPCへの共有フォルダにアクセスできない場
合には以下を試してみて下さい(5枚目533〜534より)。
  1. BartPE 起動後、PENetCfg で Network を有効にする。
    (もし"PENETCFG: Automatically start PE Network configurator" を仕込んでいれば、PENetCfg は起動時に動くはずです)
     この時、IP Address や Workgroup の設定を LAN に合わせて正しく行う。
  2. Explorer から、フォルダツリーからでなく、いきなりアドレスバーに \\共有PCのIP Address\共有フォルダ名を入力し、Enter。
    (PC名は使わない。共有フォルダ名 or 共有名を忘れない。)
  3. Password Dialog が出るまで、数秒〜十数秒程度何もせず我慢して待つ。
  4. Dialog が出たら、共有PCの <ユーザ名> と <パスワード> を誤り無く入力し、Enter。
  5. Explorer に共有元のフォルダが見えるまで、数秒〜十数秒程度何もせずひたすら黙って待つ。
 手順1と手順2の間で数分何もせずに待つと共有参照に成功する確率が高くなるようです。一度共有に失敗すると、BartPEを再起動しない限り共有参照がすべて失敗する事があります。
 逆に他のPCからPEを参照する場合にはちょっとした手順が必要になります。まず、penetcfg.exeの[ファイル共有]ボタンを押し、Administratorのパスワードを設定します。一番簡単なのはこの時に「すべてのドライブのルートを共有する」にチェックを入れる事です。こうする事でPEのすべてのドライブを参照できます。

  任意のフォルダを共有させるには
  1. penetcfg.exe を実行。
  2. [ファイル共有]ボタンを押し、設定を行う。
  3. SHChangeNotify で変更通知(またはExplorerからF5を手動で押下)。
    (「FileSharingService」プラグイン同梱のChgNtfy.exeでも同様の処理が可能)
 を行わないとExplorerのプロパティに[共有]タブが表示されません。4.を行っても[共有]タブが出ない事があります。その時は諦めて何度かF5を押して下さい。

 XP がSP2になってからというもの、PEへの共有参照も繋がったり繋がらなかったり不安定です。PEの共有フォルダにアクセスできない場合には以下の事を試してみましょう。
 PEの共有フォルダへのアクセスには penetcfg.exeの機能を使わずに「FileSharingService」プラグインを使った方がいい場合があります。但し、penetcfg.exeと処理がカブるので、仕組を理解してから実行するようにして下さい。

 共有に失敗するメカニズムについてはよく解っていませんが、penetcfg終了直後には何らかの名前解決に関する処理(キャッシュのプール?)が実行中で、それが完了する前に共有処理を行うとロック(或いはキャッシュ破壊)が発生し、以降名前解決に関する処理が正しく動作しないかのような振る舞いをする事があります。他のPCの共有参照であれPEの共有参照であれ、penetcfgのダイアログが消えてしばらくは何もしないというのが共有を成功させるコツだと思われます。

なお、Customプラグイン等に以下の記述を追加しておくとPEの共有フォルダ参照時にパスワード入力を求められなくなります。

[SetupReg.AddReg]
0x0,"ControlSet001\Control\Lsa"
0x4,"ControlSet001\Control\Lsa","RestrictAnonymous",0x0

  ちなみにpenetcfg.exeは[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ lanmanserver]というキーが存在すると、[ファイル共有]ボタン押下時に 「ファイル共有サービスはインストールされています」 というメッセージを出します。この時、サービスの起動状態には全く関係がありません。つまり、PE起動時にpenetcfg.exeを使ってファイル共有を行う場合には[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ lanmanserver]というキーを作成してはいけない事になります。

 Explorer&IE環境の場合、penetcfg.exeと処理が重複するレジストリキーが含まれています。

[Software.AddReg]
Classes\CLSID\{7F368827-9516-11D0-83D9-00A0C911E5DF}

[SetupReg.AddReg]
ControlSet001\Services\Eventlog\System\Server
ControlSet001\Services\Eventlog\System\Srv
ControlSet001\Enum\Root\LEGACY_LANMANSERVER
ControlSet001\Enum\Root\LEGACY_SRV
ControlSet001\Services\LanmanServer
ControlSet001\Services\Srv

  これらは誤動作防止のためにコメントアウトするとよいでしょう(SetupRegにはDelRegがないのでCustomizeプラグインに記述する事はできません)。

See Also:

 ビルド環境が変わりました。気をつける点はありますか?

  ビルド環境のどこが変更になったかにもよります。

 例えば、ソースが変更になった場合、一般的な構成だと
  この2つは必ず行わなくてはならないでしょう。

 PE Builderのバージョンが変更になった場合には、前の環境のバックアップを取っておくべきです。PE Builderは頻繁に仕様変更が行われます。プラグインが更新された時も同様で、新しいバージョンでビルドして問題が出ない事が確認されるまでは古いバージョンを保存しておくべきです。

 プラグインの中には実機からファイルを抽出するものがあります。例えば、「USB&1394」プラグインを導入していてビルドしているPCが変更になった、または接続する機器が増えたのであれば、usb1394.regを再生成する必要があります。一度やってしまえば殆どが以降、再抽出せずに正常動作するものが多いので忘れがちですが、実は本来の動作をしていなかった...という事がないように、導入しているプラグインの確認を"たまには"行った方がいいと思います。ビルド前に無条件に抽出/生成するスクリプトを書いて仕込んでみるのもいいでしょう。

See Also:

 XP-SP2のCDでビルドできません。

 (SP+メーカー等で作ったSP適用済みCDではない)XP-SP2のCDには「plugin.ocx」が存在しない場合があり、これを必要とするプラグインでエラーになる事があるようです。詳しくはリンク先を参照してもらうとして、このファイルはXP-SP2のIE環境ではもはや必要のないものです。よってプラグインから記述を削除してもPEの動作に影響はありません。

 「Explorer&IE」プラグインを導入している場合には、Explorer&IE.infの[SourceDisksFiles]セクションにある「plugin.ocx=2」を「plugin.ocx=2,,4」に書き換えて下さい。また、このファイルが不要になる事で要らなくなるレジストリがあります。

[Software.AddReg]
Classes\CLSID\{06DD38D3-D187-11CF-A80D-00C04FD74AD8}
Classes\TypeLib\{06DD38D0-D187-11CF-A80D-00C04FD74AD8}

これらは誤動作防止のためにコメントアウトするか、Customizeプラグイン等でDelRegするとよいでしょう。

Explorer&IE」プラグインを導入していない環境でも「Windows HTA and WSH」プラグイン(または、オリジナルの「Mshta」プラグイン)を導入していると同様の現象が起きます。修正とコメントアウトを行ってください。

MSHta.inf
[SourceDisksFiles]
plugin.ocx=2

plugin.ocx=2,,4

mshtml.inf
[CompatTable.Reg]
HKLM,"Software\Microsoft\Internet Explorer\ActiveX Compatibility\%CLSID_Plugin%", "Compatibility Flags",%REG_COMPAT%,0x20

;HKLM,"Software\Microsoft\Internet Explorer\ActiveX Compatibility\%CLSID_Plugin%", "Compatibility Flags",%REG_COMPAT%,0x20

[Strings]
CLSID_Plugin                        = "{06DD38D3-D187-11CF-A80D-00C04FD74AD8}"

;CLSID_Plugin                        = "{06DD38D3-D187-11CF-A80D-00C04FD74AD8}"

Autorun_MSHta.cmd
%SystemRoot%\System32\Regsvr32.exe %SystemRoot%\System32\plugin.ocx /S

rem %SystemRoot%\System32\Regsvr32.exe %SystemRoot%\System32\plugin.ocx /S

See Also:

 Vistaのパーティションに対応していますか?

 Longhorn と呼ばれていた頃に実装予定だったWinFSという新しいファイルシステムがキャンセルされました。よってVistaパーティションはNTFSとなります (システムパーティションにFAT32は選択できません)。

 NTFSなので、XPのPEであるBartPEからVistaの(システム)パーティションにアクセスする事は可能です。但し、注意が必要です。

 2000/XP では有効活用されていなかったハードリンク/ジャンクションという機能があります。Vistaではこれが積極的に使用されるようになったようです。加えてシンボリックリンクの機能が追加されました。NTFS上に構築されたシンボリックリンクはデフォルトでは2000/XPから辿る事ができません。シンボリックリンク用のAPIもVistaで最初に実装されたものです。

  このような事情により、何も考えずに"単純コピーでバックアップ"という訳にはいかなくなりました。Vistaでの"Document and Settings"は"Users"のジャンクションなので、本来なら2000/XPで普通にアクセスできるハズですが、実際には保護されておりアクセスできません。これは2000/XPのExplorerでジャンクションを削除すると実体が消えてしまう問題を回避するための措置だと推測します。

  また、今後はNTFSストリーム機能も積極的に使われるかも知れません。これはハードリンクの逆のような機能で一つのファイルに複数のファイルをぶら下げる事のできる機能です(TEADでNTFS ストリームなテキストファイルを操作できます。実はNTFSストリームの名前さえ判ればメモ帳でも操作できます)。

  これらの機能はNTFSに係る機能なので、FAT32なドライブへコピー等を行おうとするとコピーが実行できなかったり、二重にコピーを行ったり、ストリームが失われたりします。OSのバックアップは専用のソフトウェアを利用する事を強く薦めます。

See Also:

BartPEにドライバが組み込まれていないIDE/SATA/SCSI/RAIDコントローラを利用したいのですが?

 BartPE 起動時、以下の画面の時に[F6]キーを押します。

                                                                                



















                              Starting BartPE...



  Press F6 if you need to install a third part SCSI or RAID driver...

 Windows のロゴ画面になってしまったら、[F6]キーを押すタイミングがズレていますので再起動を行い、再度上の画面で[F6]キーを押下して下さい。

                                                                                



 Setup could not determine the type of one or more mass storage devices
 installed in your system, or you have chosen to manually specify an adapter.
 Currently, Setup will load support for the following mass storage devices(s):

    <none>

  * To specify additional SCSI adapters, CD-ROM drives, or special
     disk controllers for use with Windows, including those for
     which you have a device support disk from a mass storage device
     manufacturer, press S.

  * If you do not have any device support disks from a mass storage
     device manufacturer, or do not want to specify additional
     mass storage devices for use with Windows, press ENTER.






  S=Specify Additional Device  ENTER=Continue  F3=Exit

  ドライバ組み込み画面に正しく入れると上のようになりますので、[S]キーを押して下さい。

                                                                                








                          Please insert the disk labeled

                   Manufacturer-supplied hardware support disk

                                  into Drive A:

                          * Press ENTER when ready.








  ENTER=Continue  ESC=Cancel  F3=Exit

  この画面になったらドライバの入ったフロッピーディスクを挿入します。[ENTER]キーを押すとドライバが読み込まれます。ドライバは幾つでも読み込ませる事が可能です。

 必要なドライバを繰り返し読み込ませたら、「Setup could not 〜」の画面で[ENTER]キーを押してBartPEのブートを続行します。

「ディスクの管理」を開こうとすると"RPC サーバーを利用できません"エラーが出ます。

XP -SP2をソースに使っているのなら "RpcSS needs to launch DComLaunch Service first - SP2 only"プラグインを有効にして下さい。


 スクラップブック 〜 2chに書き込めなかった事 〜

 悪口だとか愚痴の類ではなく、単に未確認/未検証で信憑性のない情報、または長文にすべきでないプライベートな話題です。

・USB フラッシュメモリで起動すると「STOP:0x0000007B」で起動しない。(4枚目478 氏)
  「いとまさのページ」さんにある情報を元に"USB Boot Fix"なるものをこさえてみたものの、起動に成功したのか失敗したのか結局わからず終いでした。HDDエミュレーションである以上、「STOP:0x0000007B」の解決方法は同じでいいと思われるのですが?或いは、"改変版 NTDETECT.COM" を組み込めば直るのかもしれませんが、詳細は不明です。

・USB フラッシュメモリで起動すると「UNMOUNTABLE_BOOT_VOLUME」で起動しない。(4枚目662氏)

 「USBフラッシュメモリからの起動はできますか?」に書いたように、USBフラッシュメモリからのブートシーケンスは
  1. BIOSがUSBフラッシュメモリをHDDエミュレーション。
  2. ブートローダはメインメモリにRAMディスクを作成(ドライブレターのないRAMディスク)。
  3. ここにBartPE のISOイメージを読み込み。
  4. ISO内のブートローダが起動。
  この後、HDD(に見えるUSBフラッシュメモリ)のシステムが起動する事になる訳です。
 
 665氏の指摘にあったように"以前とソースが異なる"のであれば、「以前はたまたまHDDエミュレーションがうまく行っていたが、今回は(XPが)特殊な事をやっているせいでHDDエミュレーションの想定外の事が起きた」という可能性もあります。

  普通のWindowsの感覚で額面通りに受け取れば、DellマシンのHDDに障害が起きているとも考えられますが、「CDからの起動には問題ない」事と、「UNMOUNTABLE_BOOT_VOLUME」は起動ディスクに関連するものである(BartPEからの起動なのでHDDは起動ディスクではない)事から、これは有り得ないでしょう。

  メインメモリのRAMディスクに収まったが、UBCDの分ISOサイズが増え、"BartPEを起動するだけのメモリがなくなってしまった"とか、RAM ディスク関連で言えば"514MB以上のISOイメージを作ってしまった"という可能性もなくはないですが、"以前にも作った事がある"という事を考えると、その制限事項を知らない訳はなく、可能性は限りなくゼロに近いです。

 それと...ちょっと考えたくないのですが、USB&1394での議論で、「"固定ハードディスク扱い"のUSB 機器は"BartPEを生成したPCが既知のデバイス"でないとホットプラグできない(可能性が高い)。」というのがありました。

  まさか、BartPEの「HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR」や「 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasses」にエントリのない"固定ハードディスク扱いのフラッシュメモリ"からは正常にブートできない...って事はないでしょうね?実は私もUSBフラッシュブートはBartPEを生成した実機でしか試していないのですよ。

 もし、仮にそうだとしても"USBフラッシュメモリからブートし、ISOを読み込むまでは可能 "な事になりますので、現象と矛盾する事はありません。レジストリエントリがないと、後で生成されたUSBフラッシュメモリドライブ(ボリューム)のレジストリエントリがブートボリュームのエントリを破壊してしまう...なんて事は?...ないかな、やっぱり。

・あなたの作ったBartPE関連ツールのうち英語表示されて読みにくい/解りにくいものがある。
・あなたに話題振ってる/レス付けたのにいつもよりも反応が鈍い事がある。
 (いろんな意味で)大抵はガイジンサンを相手にしているからです(「The CD Forum」を検索するとワラワラ出てきます)。

 一度、あの人達が作ったツールを日本語でローカライズ(含トランスレート)させてやりたいものです。
「英語で表示?オッケーオッケー。その代わり、今度キミが何かしらのツールを作ったら日本語で表示できるようにしてくれよ、オッケー?」
 ...って英語で何て書けばいいんでしょうかね?無茶言われたら即レスできるよう、暗記しときたいと思っていますので。

・ソースについて
  正直、トラブル時のアドバイスができなくなるので、ソースに使うXPはSP2にして頂きたいな、と。BartPE起動ドライブを"X:"固定にできるメリットがありますし、SP1はサポート切れのOSでもありますし...。どうしてもSP1でないといけない理由ってあります?

・あなたのPE環境は?
 目的が「レスキュー」用なので、拍子抜けする位にシンプルですよ。

  使っているPE Builderは3.1.10a、フロントエンドにPlugin Manager v2を使用しています。デバッグ用VMはMicrosoft Virtual PC 2007です。mkisofsは「Postprocessing」プラグイン添付のものを使っています。Explorer&IEベースな普通の造りになっています。

 現在導入しているプラグインは
これだけです。これにドライバ集「Ultimate Boot CD 4 Windows Drivers 1.8」を加えています。"MMC add-on for SP2"プラグイン相当の事をPPSHでやっており、shsfp.exeをCustom フォルダでコピーしています。スタートメニュー用のアイコンは適宜追加してあります。

BCDWメニューには、
があります。

その他、高速化スリム化を行い、PPSHを使って起動時の黒窓を消しています。そしてCustomフォルダを使って空き容量に入るだけのソフトウェアインストーラ(アンチウィルス等)を詰め込んでいます。手の内...というか、私のやっている方法はすべてこのページに記述があります。

 BACK