GRUBを使用したxubuntu起動USBメモリ作成

(作成自体もxubuntu上で行いました)


用意するもの
xubuntuの動くマシン
USBメモリ(今回は、4GBのものを使用しました)
xubuntuのdesktop用isoファイル(xubuntu-7.10-desktop-i386.iso)


desktop用isoファイル(xubuntu-7.10-desktop-i386.iso)をダウンロード
install用isoでないことに注意

USBメモリを挿すと、私の環境では/dev/sdcとして認識されました

USBメモリパーティション確認

$sudo fdisk -l
バイス Boot Start End Blocks Id System
/dev/sdc1 1 29651 4032508 b W95 FAT32


削除するためアンマウント
$sudo umount /dev/sdc1

fdiskにてUSBメモリ上にブートフラグを付け以下のようなパーティションを作成する。

$sudo fdisk /dev/sdc

バイス Boot Start End Blocks Id System
/dev/sdc1 * 1 5027 683664 b W95 FAT32
/dev/sdc2 * 5028 29650 3348728 83 Linux


ブートフラグを付けて上記のようにパーティションを作成

ファイルシステムの作成

$sudo mkfs.vfat -F 32 -n ubuntu /dev/sdc1
$sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdc2


マウント用ディレクトリを用意し、マウントしなおす

$sudo mkdir /mnt/ubuntu
$sudo mkdir /mnt/casper-rw

$sudo mount /dev/sdc1 /mnt/ubuntu
$sudo mount /dev/sdc2 /mnt/casper-rw

desktop用isoを一時マウントするためのマウントポイント用ディレクトリの作成

$sudo mkdir /mnt/tmp
$sudo mount -o loop /media/disk/xubuntu-7.10-desktop-i386.iso /mnt/tmp
(/media/diskにisoイメージがある前提)


システムファイルをコピー

$cd /mnt/tmp
$sudo cp -r casper/ dists/ install/ pics/ pool/ preseed/ .disk/ ../ubuntu/

FAT32上ではシンボリックリンクが作成できないため、以下のエラーが出るが無視
cp: cannot create symbolic link `../ubuntu/dists/stable': Operation not permitted
cp: cannot create symbolic link `../ubuntu/dists/unstable': Operation not permitted


残りのファイルもコピー

$sudo cp md5sum.txt ../ubuntu/


boot用のディレクトリを作成

$sudo mkdir /mnt/ubuntu/boot


GRUBのインストール

$sudo grub-install --root-directory=/mnt/ubuntu --no-floppy /dev/sdc


できあがった/mnt/ubuntu/boot/grub/ディレクトリに移動

$cd /mnt/ubuntu/boot/grub/


今使っているmenu.lstをベースにするためコピー

$sudo cp /boot/grub/menu.lst .


以下のようにmenu.lstを作成する。

# menu.lst - Customized for Xubuntu Live Desktop 7.10

default 0
timeout 10
color white/blue yellow/blue

title Xubuntu Live Desktop (Persistent)
root (hd0,0)
kernel /casper/vmlinuz boot=casper persistent ramdisk_size=1048576 root=/dev/ram rw quiet splash--
initrd /casper/initrd.gz
boot

title Xubuntu Live Desktop
root (hd0,0)
kernel /casper/vmlinuz boot=casper ramdisk_size=1048576 root=/dev/ram rw quiet splash--
initrd /casper/initrd.gz
boot

title Xubuntu Live Desktop (Safe Graphics Mode, Verbose Startup)
root (hd0,0)
kernel /casper/vmlinuz boot=casper xforcevesa ramdisk_size=1048576 root=/dev/ram rw --
initrd /casper/initrd.gz
boot

title Memory Test
root (hd0,0)
kernel /install/mt86plus
boot


上記で作成したUSBメモリを挿したままPCの電源を入れると
無事USBメモリの方のxubuntuで起動できました。


参考URL
https://wiki.ubuntu.com/LiveUsbPendrivePersistent
http://ubuntuforums.org/showpost.php?p=1229101&postcount=158