【ULTIMATE BOOT CD】(以下UBCDと略す)は、ありとあらゆる無料のユーティリティを詰め込んだ、その名の通り、究極のブータブルCDだ。主にレスキュー用途として、ぜひ所持しておくことをお奨めする。
【ULTIMATE BOOT CD】公式サイトに行き、ダウンロードページから入手することができる。今回は、このUBCDをマルチブータブルCDに取り込む演習をしよう。私がこのページを書いているときの解凍後のファイル名はubcd411.iso で、サイズが115MBだった。これを単独でCD-Rに焼くと、そのままでマルチブータブルCDになるという便利なイメージファイルだ。(第3章でも少し紹介した。) しかし、650MBのCD-Rを使っても500MB以上余るので、他のプログラムと融合してマルチブータブルCDにしたいと考える人もいるだろう。
ubcd411.iso から全フォルダ・ファイルを抽出するとルートに9個のフォルダと、3個のファイルが出てくる。
├ boot
├ custom
├ dosapps
├ images
├ isolinux
├ menus
├ syslinux
├ tools
├ website
└ ( 3 個のファイル )
これをみてピンと来た人もいると思うが、第5章で名前が出てきたisolinuxという名のフォルダがある。そう、UBCDはマルチブートローダーとして【ISOLINUX】を使用しているプログラムなのだ。そこで、このisolinuxフォルダの中をさらに見てみよう。
isolinux
├ chain.c32
├ isolinux.bin
├ isolinux.cfg
├ memdisk
├ menu.c32
├ sbm.cbt
└ startup.msg
7つのファイルが存在するが、これらのうち isolinux.bin というのがブートローダー本体である。そこで、bcdwからisolinux.binにチェーンロードしてやることにする。
いつもの基本構成のxフォルダの中に、【UBCD】から抽出した全フォルダ・ファイルを入れると、以下のような階層構造になる。10個のサブフォルダと、3個のファイルがルートに並ぶことになる。しつこくて申し訳ないが、階層構造がズレないようにくれぐれも注意すること。
x ├ bcdw ├ boot ├ custom ├ dosapps ├ images ├ isolinux ├ menus ├ syslinux ├ tools ├ website └ ( 3 個のファイル ) autorun.inf boot.catalog ubcd.ico
3個のファイルのうち、boot.catalogは、この段階で消去しておく。これをやっておかないと、mkisofs がエラーを吐く。
boot.catalog は、El Torito の仕組みで解説したBoot Catalog セクタをファイル形式でまとめたものである。サイズは2048バイト。ちょうどISO9660ファイルシステムのセクタサイズである。mkisofs のLv.4 でISOを作ると、boot.catalog というファイルが新規作成される。(【CDRecord フロントエンド】の第4画面で、「ブートイメージを全てのファイルシステム上から隠す」を選ぶと、表面上は出現しないが、裏で一旦は作られるようだ。) ところが、boot.catalog という名のファイルがあらかじめ最初から存在していると、名前がバッティングしてしまう。元々あるboot.catalog は【ISOLINUX】由来のもので、【Bootable CD Wizard】でブートさせる時のものとは中身が異なるわけだから、ここでエラーが発生するようだ。よってエラーを回避するために、boot.catalogをあらかじめ削除しておく必要があるというわけだ。
ついでにここで、autorun.inf についても触れておこう。これは、第1章の最初に書いたオートランCDのためのファイルであって、ブータブルCDとは関係ないものだ。中身は、自動実行されるプログラムのコマンドや、マイコンピュータなどに表示される独自のアイコンを指定したものになっている。ブータブルCDの仕組みに比べると、ずっと簡単で理解しやすいものだと思う。
bcdw.iniは以下のようにしておく。【ISOLINUX】のisolinux.bin をチェーンロードしているのがお分かりいただけると思う。
[MenuItems]
C:\ ; Boot from drive C:
\isolinux\isolinux.bin ; UBCD
:PowerOff ; Power Off
成功すると、【Bootable CD Wizard】のメニュー画面経由で、【ULTIMATE BOOT CD】のメニュー画面を呼び出せるようになる。【BCDW】から【ISOLINUX】へ、マルチブートローダーから他種のマルチブートローダーへとチェーンさせたことになる。しかし基本的には、前章の【Berry Linux】(2.8MBフロッピータイプのブートローダーへのチェーンロード)となんら作製方法は変わっておらず、特に難しいことはない。