第12章 Windows XP/2000 のインストールCDを組み込む

[No Emulation]タイプのブータブルCD

Windows XP/2000 のインストールCDは、[No Emulation]タイプと言われるブート方式になっている。今まで出てきた中で挙げれば、【Bootable CD Wizard】や【CD Shell】などが[No Emuleation]タイプである。第10章で紹介したWindows Me は同じWindows のブータブルCDでも、[Floppy Emulation]タイプだ。

突然、[〜Emulation]などと言われても分かりにくいだろうと思う。

[Floppy Emulation]と言うのは、フロッピーディスクのブート形式を模倣してブータブルにしたものだ。具体的な実例は、私の本家サイトの「CD-R版緊急起動ディスク」にある。これを一読してもらったほうが、ここで理屈を並べ立てるよりも理解しやすいと思う。

そのほかに、HDDを模倣した[HDD Emulation]もある。パーティションを1つだけ持つHDDからの起動を模倣したものだ。

そして、他の機器を模倣していないブートプログラムを使うのが、[No Emulation]タイプだ。これは、「1CDブートの回復コンソール」のコーナーに実例がある。読んでもらえば分かるが、そこでは、【Bart's PE Builder】の作者さんのサイトから入手したw2ksect.bin というブートローダーを使用している。

上記のw2ksect.bin はWindows XP のインストールCDのブートセクタ(2048バイト)を、そっくりそのままファイルにしたものである。確かめるには第2章でやったEl Torito 方式で、Windows XP インストールCDのブートセクタを探し、バイナリをw2ksect.bin と比べてみればよい。あるいは【Super ウルトラISO】の「ディスクからブートファイルを抽出」機能を使って、Windows XP インストールCDから抜き出したファイルをw2ksect.bin と比べてみればよい。全く同一のものであることが確認できるはずだ。

【WinImage】のときにも同じようなことを書いたが、Bart さん、MSの許可はもらってあるんでしょうね。まあ、Bart さんの所だけではなく、他のマルチブートローダーの配布元でも、名前は違いこそすれ、同じものをダウンロードできる状態にしているので、MSの著作物と言うことでもないのかも知れない。

【Bootable CD Wizard】への組み込み

Windows XP/2000 のインストールCDを【Bootable CD Wizard】に組み込むためには、第7章でやったように、適切なブートローダーファイルを見つけ、そこにチェーンロードしてやれば良い。

上で書いたように、オリジナルのXP/2000 インストールCDには[No Emulate]タイプのブートセクタがあり、それはI386サブフォルダに存在するsetupldr.bin を呼び出してブートしていく仕組みになっている。よって、【Bootable CD Wizard】からsetupldr.bin をチェーンロードしてやれば、上手く組み込むことが出来る。。

【Bootable CD Wizard】はとても優秀なマルチローダーである。その1つの要因が、チェーンロードの際の自由度が高いと言うことだ。たとえば【CD Shell】では64KB以上のファイルに対して直接チェーンロードすることが出来ないという制限事項がある。setupldr.bin は200KB以上あるから、もろにこの制限に引っかかる。解決策としては、前述のw2ksect.bin に相当するものをあらかじめ抜き出しておいて、それを介してsetupldr.bin に繋げるような手順を踏まなくてはならないので、とても煩わしい。その点【Bootable CD Wizard】ならば、直接setupldr.bin を呼び出すだけで良い。

いつもどおりに、【Bootable CD Wizard】の基本構成のxフォルダに、インストールCDの中身をコピーする。以下のような構成になる。bcdwフォルダとI386フォルダが同じ階層になるように配置する。

x
├ bcdw
│ ├ bcdw.bin
│ ├ bcdw.ini
│ └ loader.bin
├ I386(この下に多数のフォルダ・ファイル群)
├ 複数のその他のフォルダ群
└ 複数のその他のファイル群

その他のファイル群の中には、Windows NT系では必ず存在しなければならないファイルがあるので、取りこぼしのないようにしたい。以下のようなファイルだ。

Windows のバージョン 必要なファイル
2003 Enterprise WIN51 and WIN51IA
2003 Standard WIN51 and WIN51IS
2003 Web WIN51 and WIN51IB
XP Home WIN51 and WIN51IC
XP Professional WIN51 and WIN51IP
2000 Professional CDROM_NT.5 and CDROM_IP.5
2000 Server CDROM_NT.5 and CDROM_IS.5
2000 Advanced Server CDROM_NT.5 and CDROM_IA.5
2000 Datacenter Server CDROM_NT.5 and CDROM_ID.5
NT Workstation CDROM_W.40
NT Server CDROM_S.40
NT Terminal Server CDROM_TS.40

同じく、各サービスパックによって、以下のようなファイルも必要になる。

サービスパック 必要なファイル
XP Home Service Pack 1 WIN51IC.SP1
XP Home Service Pack 2 WIN51IC.SP2
XP Professional Service Pack 1 WIN51IP.SP1
XP Professional Service Pack 2 WIN51IP.SP2
2000 Service Pack 1 CDROM_SP.TST
2000 Service Pack 2 CDROMSP2.TST
2000 Service Pack 3 CDROMSP3.TST
2000 Service Pack 4 CDROMSP4.TST

以上の表中のファイルは、xフォルダの中に直接置かれていなければならない。すなわち、ブータブルCDに焼いた時はルートに置かれていなければならないということだ。

bcdw.ini は以下のようにしておく。

[MenuItems]
C:\                       ; Boot from drive C:
\I386\setupldr.bin        ; Windows XP Setup
:PowerOff                 ; Power Off

あとは【CDRecord フロントエンド】でISOファイルを作成すればよい。

<目次へ> <前の章へ> <次の章へ>