USBメモリーにGRUB2とUbuntu isoイメージを入れて、そのUSBメモリーから起動して、GRUBからイメージを選択起動する。
まず、fdiskで対象のUSBメモリーのデバイスを開く。
fdisk /dev/sdX1つのFAT partitionのみある場合は、それのbootable (起動可)フラグがonであることを確認する。
ここでパーティション作成・変更が必要な場合は、前述の通りに設定する。
[注意] 2番目以降のpartitionはWindowsでは認識しない。そのうえ、通常のUSBメモリーとは異なる形式での認識になる。
FAT16またはFAT32でformatする。
任意でよいが、説明のため、ボリューム・ラベルは「USB_GRUB」、ボリュームIDは「5678-09AF」であるとして話を進める。
syslinuxのMBRプログラム(bootstrap)を書き込む。syslinuxのmbr.binを用意する。
dd bs=440 count=1 conv=notrunc if=syslinux/mbr/mbr.bin of=/dev/sdXPBRにboot.img(GRUB2のローダー)を、(USB disk)/boot/grubにGRUBのプログラム・設定ファイルを入れる。
grub-install --allow-floppy --root-directory=(例: /media/USB_GRUB) --force /dev/sdX1設定ファイル (USB disk)/boot/grub/grub.cfg を作成する。
set timeout=none
menuentry "ubuntu-ja-12.04-desktop-i386.iso" {
set iso="/boot/ubuntu-ja-12.04-desktop-i386.iso"
search --set=root --fs-uuid 5678-09AF (例)
loopback loop $iso
linux (loop)/casper/vmlinuz iso-scan/filename=$iso boot=casper quiet noprompt locale=ja_JP.UTF-8 --
initrd (loop)/casper/initrd.lz
}
Ubuntu Live CD の isoイメージを起動する項目を記述した例
isoファイルは /boot/ubuntu-ja-12.04-desktop-i386.iso
ボリュームIDで対象のUSBメモリーを認識して、起動する。(--fs-uuid オプション)
あとは、起動するisoファイルを前述の通りに配置し、必要なファイルを揃える。
BIOSの起動メニューで対象のUSBメモリーを指定して起動するか、BIOSの起動ドライブの順序を変更して起動する。
他の公開された作成方法では、HDDエミュレーションでのみ起動できるものが多いが、この方法ではFDDエミュレーションでも起動できる。
http://tri.dw.land.to/doc/1205290BootableUSB_GRUB.html
Last-Modified: