マルチブートCD作成 その3

とりあえず期待通りのものができたので作業メモ。

Windows 2000 SP4 with Hotfix

最初はSP+メーカーだけで作ろうと思ってたんだけど、ドライバーの統合やwinnt.sif(応答ファイル)のカスタマイズ性を考えるとnLiteを使ったほうが便利。ただ、nLiteではSPやHotfixのダウンロードはしてくれないので

  1. SP+メーカーでSP4+Hotfixを適用したインストールイメージを作成
  2. nLiteでドライバーの統合、winnt.sifの作成やその他の処理

という2段構えにしました。nLiteでwinnt.sifを作ると、特に何もしないでもインストール先は手動で選ぶようになっているようでした。

[Data]
Autopartition=0

[Unattended]
FileSystem=*

Bart's Preinstalled Environment

http://bartpe.nobody.jp/ のサイトを見ながら進めていけば問題なし。プラグインをインストールするときは、いちいち対象のアプリケーションをダウンロードしてこないといえないのが少々面倒だけど、それは仕方ないか・・・。

KNOPPIX

特にこれといってすることはなし。

Ultimate Boot CD

これも特に。

統合

Bootable CD Wizardを使ってチェーンロードしていく。ここで、なぜか知らないけどKNOPPIXとUltimate Boot CDがマルチブートで切り替えられない状態に。ファイル名の重複はないはずなのに、なぜかUBCDを選択するとKNOPPIXが起動してしまう。うーん。
調査したところ、bootフォルダーに何か入ってるとUBCDが起動できずにKNOPPIXが起動してしまうようです。boot以下にのってるツールを全部消してあきらめるか、UBCDのメニューをいじって/boot以外の場所に退避するか・・・なんにしても面倒。

UBCD:

boot/baslinux
boot/baslinux.gz
boot/cpustres
boot/cpustres.gz
boot/offline
boot/offline.cgz
boot/scsi.cgz
boot/udpcd
boot/udpcd.gz
boot/x86test


KNOPPIX:

boot/isolinux
boot/isolinux/ac.txt
boot/isolinux/balder.img
boot/isolinux/boot.cat
boot/isolinux/boot.msg
boot/isolinux/boot.msg.org
boot/isolinux/cdrom.ico
boot/isolinux/f2
boot/isolinux/f3
boot/isolinux/german.kbd
boot/isolinux/index.html
boot/isolinux/isolinux.bin
boot/isolinux/isolinux.cfg
boot/isolinux/isolinux.cfg.orig
boot/isolinux/linux
boot/isolinux/logo.16
boot/isolinux/memtest
boot/isolinux/minirt.gz

一番簡単な方法は、KNOPPIXのメニューにUBCDを足してしまう方法。具体的には

  1. UBCDとKNOPPIXのbootフォルダーを一つにまとめる
  2. UBCDの/isolinuxからchain.c32、menu.c32、sbm.cbtを/boot/isolinuxにコピー。その後/isolinuxは消してもOK。
  3. /boot/isolinux/isolinux.cfgにUBCDの起動エントリーを追加。
LABEL ubcd
  KERNEL menu.c32
  APPEND /menus/main.cfg

これで、KNOPPIXの起動時に'ubcd'と入力するとUBCDのメニュー画面になります。ちょっと気持ち悪いですね(笑)

次に注意するのがBartPEとWindows 2000インストールCDの重複。I386フォルダーが重複しているので、BartPEの方を'I387'と変更する。これでもちゃんと起動できてしまいます。

BartPEでExplorer & IE プラグインを使用したときは「790氏のmkisofs.exeとcygwin1.dll」とやら*1が必要になるので、CDRECORDフロントエンドのフォルダー内のmkisofs.exeとcygwin1.dllを置き換えておきます。

最終的にbcdw.iniはこんな感じに。

[MenuItems]
C:\                             ; Boot from primary disk
boot\isolinux\isolinux.bin      ; KNOPPIX 5.1.1/Ultimate Boot CD 4.0(ubcd)
I387\SETUPLDR.BIN               ; Windows PE(BartPE)
I386\SETUPLDR.BIN               ; Windows 2000 SP4+Hotfix install
:PowerOff                       ; Power Off

[MenuOptions]
MenuDefault    = 0               ; Index of default boot image
MenuTimerLabel = Time remaining: ; Timer label
MenuTimer      = 10              ; Timer delay in seconds

mkisofsのオプションはこんな感じ。

mkisofs -T -R -iso-level 4 -no-iso-translate -exclude Thumbs.db -V "W2PFPP_JA" -b "bcdw/loader.bin" -no-emul-boot -o "allcd.iso" "work"

-T をつけるとtrans.tblというファイルを各フォルダーに作ってうっとおしい*2ので、必要なければ消した方がよいかもしれません。

あともう一点。ISO level4で作成したイメージは古いライティングソフトで焼けないみたいなので*3、もし失敗したらImgBurnなどで焼くとよいです。

感想

手順としてはたいしたことないんだけど、インストールCD作成、BartPE作成、統合CD作成のそれぞれで試行錯誤したので一日仕事だったなあ・・・。VMWareのありがたみを改めて思い知らされました。
でもまあ、今まで欲しかった機能は全部達成できたのでかなり嬉しいかも。これ一枚あればメンテナンスは完璧!

追記

キーワード「ファイルシステム」、3年くらい放置されてるけど何か書いたほうが・・・と思ってちょっと書きました。

*1:mkisofsのNLS版らしい。-mno-cygwinつければcygwinのDLLはいらないんだけどなあ・・・?

*2:特にBartPEで目立つ・・・

*3:対応してないというエラーがでる