【私的】SYSLINUXでマルチブート(USBメモリ&ネットワーク)

2021.4.1 移転しました...
  • このページの旧URLは
    • http://www10.plala.or.jp/palm84/syslinux.html

はてなブックマーク

2008.8.12 作成中...
2008.11.9 jp106.kbdをちょっと修正
2009.7.15 FreeDOS と Windows PE の起動方法を追記
最終更新日 2010.7.25

【2011.5.8 追記】すみませぬ。更新停止しております。内容古くなってるのでご注意。下記ページもよろしければご笑覧くだされ。

2009.07 だいぶと変更しました...

古い版は下記に置いてます。

めちゃややこしいです・・・

これって何 3

個人的よんどころない事情にて(何)、マルチブートなCDとUSBメモリ、及びネットワークブート(用サーバ)を作っております。

それぞれ全く別々に作るのは面倒なので、設定ファイルなどをなるだけ共通で使えるように、また入替が簡単な様に設定。

Linux LiveCDではディストリごとに微妙に起動オプションが違ったりするので、注意点などをめもしておく。バージョンアップの際は、最小限のファイルの入替のみでできるようにする、ってなかんじ。

設定ファイル詰め合わせ

かなり個人的風味に編集してます。※内容は保証できませんので。あしからずご容赦をば...

私の必要なものばかりなのでかなり偏っております。

まだまだ、修正が必要かも。

※GRUB for DOSのキーマップ - アンダースコア は Shift-0

【追記】jp106.kbdをちょっと修正

SYSLINUX(ISOLINUX,PXELINUX)上で、Shift-0でアンダースコアの入力ができます。

テスト版(※確認があんまりできてないかも)
  • 設定ファイルをかなり変更してるのでややこしいかも
  • Kaspersky Rescue Disk 10
  • Parted Magic 4.5, 5.1
  • Hardware Detection Tool (HDT)
  • Clonezilla Live 1.2.3-27
  • SystemRescueCd 1.0.4, 1.5.8
  • CDlinux Standard 0.9.3, Community 0.9.5
  • 回復コンソール
とりあえずな作り方
  1. 上記の syslinux.zip を展開
  2. syslinuxディレクトリ】関連ファイルをコピー
  3. アイテム投入】のうち、必要アイテムのファイルをダウンロードして【作業ディレクトリ】(syslinux_multi)の指定場所にコピー
  • ネットワークブート(用)
    • 【作業ディレクトリ】にTFTPD32とPXELINUXのファイルをコピー
    • TFTPD32でDHCP/TFTPサーバを設定
  • USBメモリ
    • 【作業ディレクトリ】の内容をUSBメモリへコピー
    • USBメモリへSYSLINUXのインストール

※isoイメージの展開は、ファイル名の大文字小文字問題防止のため7-ZipWinRARUniversal Extractor などでの抽出(展開)をおすすめいたしまする。

ブートローダなど 4

SYSLINUX

USBメモリブート(FAT)に使えるブートローダ。Windows上でインストール可能。

関連リンク

PXELINUX

ネットワークブート用のブートローダ。Windowsでもサーバの構築は可能。

関連リンク

GRUB for DOS

起動方法は2通り

関連リンク

ネットワークブート用起動ディスク

ネットワークブート非対応マシン用。NICが内蔵か内蔵カードの場合。

関連リンク

起動方法 5

Linux LiveCD

基本的にはこんなかんじで起動する。

  1. SYSLINUX(PXELINUX)でブート
  2. カーネルと initrd(ミニルートイメージ = 初期RAMディスクイメージ)をメモリ(RAM)へロードして小さなLinux起動
  3. ルートファイルシステム(イメージ)を検索してマウント、本体Linuxが起動する

※【2】と【3】は別の場所でもイイってとこがミソです。

オンメモリ起動

メモリ内にすべてコピーして起動(※toramオプション等)すれば、起動後はUSBデバイス・ネットワークとも切り離すことが可能です。但し、それだけのメモリ(RAM)容量が必要。

カーネルと initrd のみで起動するものはオプションなしでもオンメモリで起動します。

USB(デバイス)ブート

USBデバイスでブート、USBデバイス内のルートイメージをマウントしてLinux起動

普通のUSBブート

USBデバイスでブート、ネットワークサーバ上のルートファイルシステム(イメージ)をマウントしてLinux起動

対応ディストリのみ。

カーネルとinitrd(ミニルートイメージ = 初期RAMディスクイメージ)をUSBデバイスからロード、その後はネットワーク上のルートファイルシステム(イメージ)をマウントしてLinux起動

小容量のUSBメモリでブートする場合とか。Linux起動後にUSBデバイスの挿し換えが可能。

ネットワークブート

いわゆる“ディスクレス・ブート

対応ディストリのみ。

完全(?)ネットワークブート。

TFTPサーバからカーネルと initrd をロード、NFS,HTTPサーバなどのルートイメージをマウント

  • Knoppix CD(※要RAM 256 MB?)
  • INSERT
  • InetBoot - Knoppix,Fedora,Ubuntu などのLiveCDが起動可能(※要RAM 256 MB以上)

※下記はDHCP/TFTPサーバのみで起動可能。オンメモリ起動。

  • PING(Partimage Is Not Ghost)
  • SystemRescueCd 1.0以降(※要RAM 256 MB)
  • Parted Magic PXE版(※要RAM 256 MB)
ネットワークブートでカーネルと initrd をロード、ローカルのデバイス上のルートイメージをマウント
  • ネットワークブート + USBメモリをマウント
  • ネットワークブート + HDをマウント
  • ネットワークブート + USB CDをマウント

メモリ(RAM)が少ない場合や、USBブート非対応な場合とか。

フロッピーイメージ

仮想FDドライブとして起動。オンメモリ起動

  1. カーネル(KERNEL)に SYSLINUXmemdisk を使用
  2. initrd にFDイメージを指定

Linuxインストーラ

ネットワークインストール用イメージが用意されているディストリ。オンメモリ起動

カーネルとinitrdをロードしてLinuxインストーラを起動。

インストール用ファイルはネットワーク(インターネット上のHTTP/FTPサーバ)などを選択可能。

Windows PE 2.0

※ 尚、PE 2.1 (Vista SP1), PE 3.0 (7) のネットワークブートでは、TFTPD32の設定で Option Negotiation をオン(PXE Compatibility はオフ)にしないと起動できないようなので注意。

FreeDOS

起動方法は2通り

おおまか手順 6

  1. syslinux ディレクトリに必要ファイルをコピー
  2. syslinux ディレクトリにブートメニュー設定ファイル作成
  3. アイテムのファイルをそれぞれディレクトリ作成してコピー
  4. アイテムごとのブートメニュー設定ファイルを作成(元の isolinux.cfg を編集)

PXELINUXの設定ファイルは INCLUDE を記述して、 syslinux.cfg へ切替

ネットワークブート
  • まず、HD上で必要ファイルをコピー・作成
  • (Windows版)TFTPD32を設定
USBデバイスブート

上記で作成したディレクトリ内容をそのままUSBデバイスへコピー。ブートローダとしてSYSLINUXをインストール。

ブートメニュー設定ファイル
  • /syslinux/syslinux.cfg - 最初にロードされる設定ファイル
    • /syslinux/vesamenu.cfg - ローカルマウント・グラフィカルメニュー用設定ファイル
    • /syslinux/textmenu.cfg - ローカルマウント・テキストメニュー用設定ファイル
    • /syslinux/netw.cfg - ネットワークマウント・グラフィカルメニュー用設定ファイル
    • /syslinux/netw_txt.cfg - ネットワークマウント・テキストメニュー用設定ファイル
  • /pxelinux.cfg/default
INCLUDE /syslinux/syslinux.cfg

syslinuxディレクトリ 7

ブートローダや設定ファイルなど、この syslinux ディレクトリに保存する。

作業用ディレクトリのルート及び syslinux ディレクトリに必要ファイルをコピー。ブートメニュー用設定ファイル作成

作業用ディレクトリ
│  pxelinux.0
│  tftpd32.chm
│  tftpd32.exe
│  tftpd32.ini
│  
├─grub (※ディレクトリ作成)
│  
├─pxelinux.cfg (※ディレクトリ作成)
│      default       -- 作成
│      pxechain.com
│  
├─syslinux (※ディレクトリ作成)
│      chain.c32
│      jp106.kbd  -- ※あれば
│      memdisk
│      menu.c32
│      netw.cfg      -- 作成
│      netw_txt.cfg  -- 作成
│      poweroff.com
│      reboot.c32
│      syslinux.cfg  -- 作成
│      textmenu.cfg  -- 作成
│      vesamenu.c32
│      vesamenu.cfg  -- 作成

SYSLINUXのファイルをコピー

  1. kernel.orgRing ミラー)から、syslinux-x.xx.zip をダウンロードして展開
  2. 下記を syslinux ディレクトリへコピー
    • \com32\menu\menu.c32
    • \com32\menu\vesamenu.c32
    • \memdisk\memdisk
    • \com32\modules\chain.c32
    • \com32\modules\reboot.c32
    • \modules\poweroff.com
  3. 下記を pxelinux.cfg ディレクトリへコピー
    • \modules\pxechain.com
USBメモリへSYSLINUXのインストール
めも

ブートメニュー設定ファイル

めも

PXELINUXの設定

  1. SYSLINUXの \core\pxelinux.0syslinux ディレクトリ 作業用ディレクトリ・ルートへコピー
  2. pxelinux.cfg ディレクトリに default ファイル作成
INCLUDE /syslinux/syslinux.cfg

syslinux.cfg へ切替するので編集不要

DHCP/TFTPサーバ

  1. tftpd32.xxx.zipをダウンロードして展開
  2. 3つのファイルを作業用ディレクトリ・ルートへコピー
めも

アイテム投入 8

Windows上で直接isoイメージを展開(抽出)するには 7-ZipUniversal Extractor などが便利です(※7-Zipで展開時の[BOOT]ディレクトリはブートセクタなので基本的に不要です)。

仮想CDソフトやWinRARなどでは、ファイル名がすべて大文字の8.3形式となってしまうことがあるため上記をおすすめします。

必要なものを設定。USBメモリへのコピーは容量に合わせて。(※全部入れると 3 GB オーバーします。)

GRUB for DOS

grub.exeをチェインロード

  1. syslinuxディレクトリへ下記ファイルをコピー
    • 0.4.4 の grub.exegrub044.exe へリネーム
  2. menu.lstを作業ディレクトリルートへ作成
KERNEL /syslinux/grub044.exe

FDイメージをロード

  1. syslinuxディレクトリへ作成したイメージファイルをコピー
    • 0.4.2の fat12grldr.img を「イメージとして」 RawWrite for Windows などでFDに書き込むかマウントする
    • 0.4.4 の grldr をFDへ上書きコピー
    • RawWrite for Windows などでFDイメージを作成
    • FDイメージを grub044.img にリネーム
KERNEL /syslinux/memdisk raw
APPEND initrd=/syslinux/grub044.img
めも
  • grub.exe - ネットワークブートではローカルマシン上の menu.lst が検索される。ない場合はコマンドモード。
  • grub.exe - 0.4.2,0.4.3でWindows XPを起動させると非常に重くなるバグがあるので注意(※0.4.1,0.4.4では多分問題なし)。
  • 環境によっては、grub.exeまたはFDイメージのどちらかしか使えないこともありました。使い分けが必要かも。
  • ネットワークブートから「keeppxe」オプションでロードした場合はサーバ上の menu.lst が先に検索される
  • pxelinux.0の代わりにgrldrを指定してネットワークからGRUB for DOSのブートも“一応”可能。

menu.lstがデフォルトのものになるので作成し直した方がいいかも。

ネットワークブート用起動ディスク

  1. syslinuxディレクトリへ下記ファイルをコピー
    • pxe-on-a-disk.floppypxeon.img にリネーム
    • gpxe-git-gpxe.lkrngpxe_all.krn にリネーム
LABEL gpxe
KERNEL /syslinux/gpxe_all.krn

LABEL pxeon
KERNEL /syslinux/memdisk
APPEND initrd=/syslinux/pxeon.img
めも
  • 使えない場合もあるので2つ入れとく

PLoP Boot Manager

ネットワークブート(またはCDブート)用ですが、USB(メモリ)ブート非対応PC向けのUSB(メモリ)ブート用ブートローダー。

  1. syslinuxディレクトリへ下記ファイルをコピー
    • plpbt.binplpbt にリネームしてコピー
KERNEL /syslinux/plpbt
めも

Memtest86+

  1. syslinuxディレクトリへ下記ファイルをコピー
    • memtest86+-x.xx.binmemtest にリネームしてコピー
KERNEL /syslinux/memtest

Knoppix 5.3.1CD

  1. KNOPPIXディレクトリへCD内の下記ファイルをコピー
    • /boot/isolinux ディレクトリの内容
    • /KNOPPIX ディレクトリ内の内容
ネットワーク(NFSサーバ)マウント用カーネルの取り出し
  1. 通常CDでKnoppixを起動
  2. knoppix-terminalserver実行
  3. /tmp/tftpboot ディレクトリ内の vmlinuzminiroot.gzKNOPPIX ディレクトリへコピー
  • NFSサーバの設定
    • /cdrom ディレクトリを作成し KNOPPIX ディレクトリを保存
    • /etc/exports/cdrom ディレクトリを記述
/mnt/hda3/cdrom 192.168.0.0/255.255.255.0(ro,no_root_squash,async)
ブートメニュー設定ファイル
めも
  • サブディレクトリを指定する場合はパラメータ追加 - knoppix_dir=knoppix3 knoppix_name=KNOPPIX

SystemRescueCd 1.0.4

※ちょっと旧版ですが、RAM 256 MBでネットワークブート・オンメモリ起動が可能なので。

  1. sysres10 ディレクトリへCD内の下記ファイルをコピー
    • isolinux ディレクトリの内容
    • sysrcd.datsysrcd.md5
    • bootdisk ディレクトリをディレクトリごと
ブートメニュー設定ファイル
めも
  • サブディレクトリの指定 - subdir=sysres10
  • TFTPサーバの指定
    • netboot=tftp://IPアドレス/sysres10/sysrcd.dat
  • HTTPサーバの指定
    • netboot=http://IPアドレス/sysrcd.dat
    • サーバに sysrcd.datsysrcd.md5 をコピーしておく

SystemRescueCd 1.2.1

  1. sysres12 ディレクトリへCD内の下記ファイルをコピー
    • isolinux ディレクトリの内容
    • sysrcd.datsysrcd.md5
    • bootdisk ディレクトリをディレクトリごと
    • ntpasswd ディレクトリをディレクトリごと
ブートメニュー設定ファイル
めも
  • サブディレクトリの指定 - subdir=sysres12
  • TFTPサーバの指定
    • netboot=tftp://IPアドレス/sysres12/sysrcd.dat
  • HTTPサーバの指定sysrcd.dat
    • netboot=http://IPアドレス/sysrcd.dat
    • サーバに sysrcd.datsysrcd.md5 をコピーしておく

InetBoot(netfsboot)

  1. inet0731 ディレクトリへファイルをコピー
    • linuxminirt.gz
HTTPサーバにisoイメージを保存
  1. LAN内のHTTPサーバのディレクトリにisoイメージを保存
起動確認できたもの
ブートメニュー設定ファイル
めも

PING(Partimage Is Not Ghost)

  1. ping300 ディレクトリへCD内の下記ファイルをコピー
    • kernelinitrd.gz
ブートメニュー設定ファイル
めも

Clonezilla Live 1.2.2-14

  1. live ディレクトリへコピー
    • live ディレクトリの内容
    • syslinux ディレクトリの内容
  • 【注意】ネットワークブートでは、filesystem.squashfs をTFTPルート(作業ディレクトリルート)に移動する
ブートメニュー設定ファイル
めも
  • オプション toram でオンメモリ起動

Windows PE 2.0

ファイル作成

  1. ISOフォルダの内容をそのまま作業ディレクトリのルートへコピー

または、

  1. isoイメージのファイル名を recovery.iso としてルートへコピーにする(※少し不安定かも)
GRUB for DOS 経由でチェインロード(USBメモリ)
LABEL winpe
KERNEL /syslinux/grub044.exe
APPEND --config-file="chainloader /bootmgr"
GRUBのメニューからだと
title Windows PE 2.0
      chainloader /bootmgr
または、isoイメージから(※少し不安定かも)

GRUB for DOSから

title Windows PE 2.0 (from /recovery.iso)
map /recovery.iso (0xff) || map --mem /recovery.iso (0xff)
map --hook
chainloader (0xff)
PXELINUXからチェインロード(ネットワークブート)
  1. 作成時にマウントした mount\Windows\Boot\PXE\ にある bootmgr.exe をTFTPルートににコピー
  2. 作成時にマウントした mount\Windows\Boot\PXE\ にある pxeboot.n12boot ディレクトリにコピー
  3. pxeboot.n12pxeboot.0 にリネーム
LABEL winpe
MENU LABEL ^2. Windows PE 2.0
KERNEL /boot/pxeboot.0
または、isoイメージから(※少し不安定かも)

(keeppxeで起動した)GRUB for DOSから。但し、汎用起動ディスクなどでのブートで失敗が多いかも?

title Windows PE 2.0 (from /recovery.iso)
map /recovery.iso (0xff) || map --mem /recovery.iso (0xff)
map --hook
chainloader (0xff)

※ネットワークブートでは、--mem オプションは必須

めも
  • オンメモリ起動。RAM 256 MB以上ないと厳しいかも

FreeDOS

FDイメージからファイルを取り出すには(イメージをファイルに展開)

Super ウルトラISO でできますが、下記の Universal Extractor が便利かも。 UniExtract Binary Archive はインストール不要で使えます(日本語表示も可)。

※注意:対象ファイルのパスに‘デスクトップ’など日本語が含まれるとエラーになるみたいです。

ブートメニュー設定ファイル

※chain.c32 の設定は syslinux.cfg、grub.exeの設定は /menu.lst に記述

FDイメージをロード

  1. bootdisk ディレクトリへ balder10.img をコピー
KERNEL /syslinux/memdisk
APPEND initrd=/bootdisk/balder10.img

kernel.sys をチェインロード(USBメモリから直接ブート)

  1. 作業ディレクトリのルートへコピー
    • command.com
    • kernel.sys
    • autoexec.batconfig.sys 作成
  2. freedos ディレクトリへ下記ファイルをコピー
    • himem.exe
    • keyb.exe
    • keyboard.sys
    • keybrd2.sys
    • 他、edit.exe,fdisk.exe,xcopy.exe など
LABEL freedos
KERNEL /syslinux/chain.c32
APPEND freedos=/kernel.sys

または、GRUBのメニューから

title FreeDOS from USB-Flash
chainloader /kernel.sys
めも

Linux インストーラ

  1. 下記ディレクトリへそれぞれのブート用ファイルをコピー
    • /install/debian
    • /install/fedora
    • /install/ubuntu
    • /install/vine
ブートメニュー設定ファイル

Puppy Linux 4.1.2.1-JP

※【注意】USBメモリ(CD)ブートのみ

  1. puppy412 ディレクトリへCD内の下記ファイルをコピー
    • vmlinuz
    • initrd.gz
    • pup_4121JP.sfs
ブートメニュー設定ファイル
めも
  • サブディレクトリやデバイスを指定しなくても起動できたけど、少しでも早くしたい場合は指定した方がいいかも
  • psubdir=puppy412 - サブディレクトリを指定
  • pmedia=usbflash - デバイスの指定
    • cd|usbflash|usbhd|usbcd|
      ideflash|idehd|idecd
  • バージョン違いでもでも設定ファイルの内容は同じなので使えるかな?(起動確認してません)

SLAX Live CD 5.1.8.1-3

※【注意】USBメモリ(CD)ブートのみ

  1. slax5 ディレクトリへCD内のファイルをすべてコピー
ブートメニュー設定ファイル
めも
  • サブディレクトリの指定 - from=/dev/sda1/slax5(デバイス(ファイル)名は適宜変更)
  • サブディレクトリの指定 - from=slax5/
  • オンメモリ起動(要 RAM 512MB以上) - copy2ram

SLAX Live CD 6.0.9-1 ja

※【注意】USBメモリ(CD)ブートのみ

  1. slax6 ディレクトリへCD内のファイルをすべてコピー
ブートメニュー設定ファイル
めも
  • サブディレクトリの指定 - from=/dev/sda1/slax5(デバイス(ファイル)名は適宜変更)
  • サブディレクトリの指定 - from=slax6/
  • オンメモリ起動(要 RAM 512MB以上) - copy2ram
  • slax-ja-6.1.1-2.iso でも設定ファイルの内容は同じなので使えるかな?(起動確認してません)

Berry Linux 0.90

※【注意】USBメモリ(CD)ブートのみ

  1. berry90 ディレクトリへCD内の下記ファイルをコピー
    • BERRYディレクトリ内のBERRYファイル
    • Setupディレクトリ内の vmlinuzinitrd.gz
ブートメニュー設定ファイル
めも

パラメータの調整が必要かも

  • USBメモリでは、berry_dir=/berry90/berry, overlay=/berry90/berry.img
  • CDブートでは、berry_dir=/berry90/BERRY, overlay=ram

※CDブート時は、大文字小文字が区別されるので注意

Ecolinux 8.0.4

※【注意】USBメモリ(CD)ブートのみ

LiveCDとしてのブートのみ確認。シャットダウンがうまくいかなかったりするのでいまいちかも。(インストールは未確認。)

  1. casperディレクトリへCD内の下記ファイルをコピー
    • CDルートのファイル
    • casperディレクトリの内容
    • isolinuxディレクトリの内容
    • その他のディレクトリをディレクトリごと
  2. .diskディレクトリを作業ディレクトリルートへ
ブートメニュー設定ファイル
めも
  • ファイルの置き方が正確でないのかも。いまいち...

Parted Magic 2.2

ブートメニュー設定ファイル

USB版

  1. pmagic22 ディレクトリへ下記ファイルをコピー
    • 展開した pmagic-usb-2.2\pmagic ディレクトリの内容

PXE版

  1. (上記に追加して)pmagic22 ディレクトリへコピー
    • 展開した pmagic-pxe-2.2\pmagic\initrdinitrd.tsリネームしてコピー
めも
  • PXE版でUSBブートも可能(オンメモリ起動)

INSERT+ 1.2.18

  1. insert ディレクトリへCD内の下記ファイルをコピー
    • isolinuxディレクトリの内容
    • INSERTディレクトリの内容
  2. 作業ディレクトリルートへ下記ファイルをコピー
    • captive.html, index.html, list.html, start.html, usb.html
      (※これらはなしでも起動しますが起動時にエラーが出ます)
ネットワーク(NFSサーバ)マウント用カーネルの取り出し
  1. 通常CDでINSERTを起動
  2. insert-remote実行
  3. /tmp/tftpboot ディレクトリ内の vmlinuzminiroot.gz を 取り出しておく
  4. vmlinuzvmlinuz2 に、miniroot.gzminiroo2.gz にリネームしてからINSERTディレクトリへコピー
  • NFSサーバの設定
    • /cdrom ディレクトリを作成し INSERT ディレクトリを保存
    • /etc/exports/cdrom ディレクトリを記述
/cdrom 192.168.0.0/255.255.255.0(ro,no_root_squash,async)
ブートメニュー設定ファイル

PLoP Linux-v3.8.1

※CUIのみですが、サイズが 54M Bと小さく Samba が使えます。

  1. ploplinux ディレクトリへ下記をコピー
    • isolinux ディレクトリの内容
    • ploplinux ディレクトリの内容
ブートメニュー設定ファイル
ネットワークブート用ファイルサーバの設定

Sambaサーバ、または、Windowsファイル共有でもいいのです。

  • 作業ディレクトリルート(syslinux_multi)を共有設定する

つまり、共有ディレクトリ内に、ploplinux ディレクトリがあればいいと。

めも
  • copy2ram - オンメモリ起動
  • ディレクトリ名 ploplinux が9文字なので、SYSLINUXVFAT long filename support なバージョン 3.70 以降を使うこと
  • Samba の user/pass - root/rescue

Paragon Drive Backup 9.0 Express

インストール済みの方向けですが。

  1. 作成したRecovery Media(または C:\Program Files\Paragon Software\Drive Backup 9.0 Express\iso\bootcd.iso)内のファイルをすべて paragon ディレクトリへコピー

※但し、Normal Mode のみの起動

ブートメニュー設定ファイル

※ネットワークブートも同じ設定

めも

スクリーン・ショット 9

syslinux.cfg - テキストメニュー

vesamenu.cfg - グラフィカルメニュー

textmenu.cfg - テキストメニュー

netw.cfg - グラフィカルメニュー

netw_txt.cfg - テキストメニュー

/KNOPPIX/vesamenu.cfg - グラフィカルメニュー

GRUB for DOS - menu.lst

PLoP Boot Manager

gpxe-git-gpxe.lkrn でのネットワークブート

備考 9

ディレクトリ一覧
作業ディレクトリ (syslinux_multi)
+---.disk
+---BCDW
+---berry90
+---bgrescue
+---boot
|   \---fonts
+---bootdisk
+---casper
+---EFI
|   \---microsoft
|       \---boot
|           \---fonts
+---freedos
+---grub
+---httpfuse
+---i386
+---i387
+---inet0731
+---INSERT
+---install
|   +---debian
|   +---fedora
|   +---ubuntu
|   \---vine
+---isolinux
+---kasper
|   +---bases
|   |   \---Stat
|   \---help
|       +---English
|       +---French
|       +---German
|       +---Italian
|       +---Polish
|       +---Russian
|       +---Spanish
|       \---TradChinese
+---KNOPPIX
|   +---images
|   \---modules
+---live
+---mylinux
+---paragon
|   +---dos
|   |   \---safe
|   \---PSR
+---ping300
+---ploplinux
|   \---myscripts
+---pmagic22
|   \---pmodules
|       \---scripts
+---puppy412
+---pxelinux.cfg
+---slax5
|   +---base
|   +---boot
|   |   \---DOS
|   +---devel
|   +---modules
|   +---rootcopy
|   |   \---usr
|   |       +---local
|   |       |   \---share
|   |       |       \---fonts
|   |       \---share
|   |           \---opera
|   |               \---locale
|   \---tools
|       \---WIN
+---slax6
|   +---boot
|   |   +---dos
|   |   +---isolinux
|   |   +---pxelinux.cfg
|   |   |   \---web
|   |   |       \---conf
|   |   \---syslinux
|   \---slax
|       +---base
|       +---modules
|       +---optional
|       +---rootcopy
|       \---tools
|           \---WIN
+---sources
+---syslinux
+---sysres10
|   +---bootdisk
|   \---maps
+---sysres12
|   +---bootdisk
|   +---maps
|   \---ntpasswd
+---ti
\---tools

マルチブートDVD/CD【BCDW】

上記で作成した作業用ディレクトリにファイルを追加して作成...

  1. ファイル追加
  2. 「Windows XP 回復コンソール」を追加
  3. イメージ作成
  4. マルチブートDVD起動確認

実験中です...。CDならあまり問題ないと思いますが、ブータブルDVDはメディアの種類やドライブの対応によって変わってくるので、かなりしっかり確認しとかないといざって時に使えないかもしれませぬ。

※とりあえずの起動確認は、VMware Player + isoイメージで。

bcdw起動メニュー

ファイル追加

【追記】ルートにある FreeDOS の kernel.syscommand.com は削除しておいた方がいいかも。選択しちゃうとややこしいことになりそうなので。

作業ディレクトリ (syslinux_multi)
│  grldr
│  
├─BCDW(ディレクトリ)
│      bcdw.bin
│      BCDW.INI
│      loader.bin
│          
├─isolinux(ディレクトリ)
│      isolinux.bin
│      isolinux.cfg
│          
├─syslinux(ディレクトリ)
│      plpbt.img
│          
├─tools(ディレクトリ)
│      cygwin1.dll
│      makeiso_bcdw.bat
│      mkisofs.exe

「Windows XP 回復コンソール」を追加

CD(DVD)でしか起動できません(多分?)

上記ページの解説を参考にしてFDイメージ内のファイルをすべて展開(重複ファイルは上書きでおk)

  • Home SP2用を i386 ディレクトリへコピー
  • Pro SP2用を i387 ディレクトリへコピー
  • 空ファイルをルートへ作成
    • WIN51
    • WIN51IC
    • WIN51IC.SP2
    • WIN51IP
    • WIN51IP.SP2
FDイメージの取り出し

下記コマンド実行でFDイメージ取り出し可能(※赤字部分が間違ってました。すみません。)

WindowsXP-KB310994-SP2-Home-BootDisk-JPN.exe /q /c /t:"%cd%\xphomesp2"
WindowsXP-KB310994-SP2-Pro-BootDisk-JPN.exe /q /c /t:"%cd%\xpprosp2"
  • FDイメージ取り出し.bat
@echo off
echo.
set home_sp2=WindowsXP-KB310994-SP2-Home-BootDisk-JPN.exe
set pro_sp2=WindowsXP-KB310994-SP2-Pro-BootDisk-JPN.exe
if exist "%home_sp2%" (
"%home_sp2%" /q /c /t:"%cd%\xphomesp2"
) else (
GOTO PROSP2
)
if "%errorlevel%"=="0" echo "%home_sp2%" おkです!
echo.

:PROSP2
if exist "%pro_sp2%" (
"%pro_sp2%"  /q /c /t:"%cd%\xpprosp2"
) else (
GOTO END
)
if "%errorlevel%"=="0" echo "%pro_sp2%" おkです!
echo.

:END
echo なんかキー押すと閉じます
pause >nul
FDイメージからファイルを取り出すには(イメージをファイルに展開)

Super ウルトラISO でできますが、下記の Universal Extractor が便利かも。 UniExtract Binary Archive はインストール不要で使えます(日本語表示も可)。

※注意:対象ファイルのパスに‘デスクトップ’など日本語が含まれるとエラーになるみたいです。

イメージ作成

※CD-R/-RWメディアでは、あまり問題ないかと。

/tools/makeiso_bcdw.bat(isoイメージ作成バッチ、toolsディレクトリから実行
  1. toolsディレクトリから一つ上の syslinux_multi ルートに移動
  2. %boot% - ブートイメージ
    • BCDW/loader.bin
    • ※大文字小文字を区別するので注意
  3. %iso% - 作成するISOイメージのパスとファイル名
    • syslinux_multi の一つ上のディレクトリの
    • BCDW.iso
  4. %source% - 構築元ディレクトリのパス
    • syslinux_multi ディレクトリのパス
mkisofs -iso-level 4 -r -hide TRANS.TBL -T -b "%boot%" -c boot.cat -no-emul-boot -boot-load-size 4 -V "BCDW" -o "%iso%" "%source%"

-udf を指定すると回復コンソールが起動しなくなった。

※【追記】ディレクトリ毎に TRANS.TBL が作成される

【追記】

BCDWのサイトでおすすめ?だとこんなかんじでいいらしい?

mkisofs.exe -iso-level 4 -joliet -joliet-long -r -hide-rr-moved -force-uppercase -volid "BCDW" -A MKISOFS -sysid "Win32" -b "%boot%" -no-emul-boot -boot-load-size 4 -hide boot.catalog -o "%iso%" "%source%"

上記同様、CDに焼くとWindows上ではすべて大文字になりますが、TRANS.TBLはなし。(※ -volid 、または -V はボリュームIDの指定)

マルチブートDVD起動確認

VMware Player・isoイメージ
  • Windows PE 2.0 -- おk(※NICを変更すると起動後にフリーズする?)
  • 回復コンソール -- おk
  • ISOLINUX ブートローダ -- 起動おk
    • KNOPPIX 5.3.1 -- おk
    • SystemRescueCd 1.0.4 -- おk
    • SystemRescueCd 1.2.1 -- おk
    • PING 3.00.02 -- おk
    • Clonezilla Live 1.2.2-14 -- おk
    • Parted Magic 2.2 -- おk(liveusb を livecd に変更すべき?)
    • Puppy Linux 4.1.2.1 -- おk
    • slax-ja-5.1.8.1-3 -- おk
    • slax-ja-6.0.9-1 -- おk
    • Ecolinux 8.0.4 -- おk
    • INSERT+ 1.2.18 -- おk(※INSERTディレクトリは大文字で)
    • FDイメージ -- 一応おk
    • Berry Linux 0.90 -- おk
      • berry_dir=/berry90/BERRY overlay=ram 指定
      • splash=silentを消す
    • PLoP Linux-v3.8.1 -- おk
    • Paragon Drive Backup 9.0 Express -- おk
DVD-RWメディア・マルチドライブ

※DVD-ROMドライブではメディア認識せず。

  • Windows PE 2.0 -- おk
  • 回復コンソール -- おk
  • ISOLINUX ブートローダ -- 起動 おk
    • KNOPPIX 5.3.1 -- おk(少し不安定?)
    • SystemRescueCd 1.0.4 -- おk
    • SystemRescueCd 1.2.1 -- おk
    • PING 3.00.02 -- だめ(相性かな?)
    • Clonezilla Live 1.2.2-14 -- おk
    • Parted Magic 2.2 -- おk(liveusb を livecd に変更すべき?) --
    • Puppy Linux 4.1.2.1 -- おk
    • slax-ja-5.1.8.1-3 -- おk
    • slax-ja-6.0.9-1 -- おk
    • Ecolinux 8.0.4 -- おk
    • INSERT+ 1.2.18 -- おk(※INSERTディレクトリは大文字で)
    • FDイメージ -- おk
    • Berry Linux 0.90 -- おk
      • berry_dir=/berry90/BERRY overlay=ram 指定
    • PLoP Linux-v3.8.1 --おk
    • Paragon Drive Backup 9.0 Express -- おk
めも
  • CDブートでのGRUBは、ファイル名の大文字小文字を区別するので注意!

う〜ん、オプション(パラメータ)やファイルの配置の調整が必要かな...

mkisofsをよくわかっていないのでオプションの指定がまずいのかもしれません。


Written by yassy