対象とするUbuntuのバージョン
- 9.04, 9.10, 10.04
BR 「USB スタートアップ・ディスクの作成」 でUSBメモリにインストールしたUbuntuを起動する 「BootCD」 の簡単な作成法です。
USBデバイスからの起動に対応していないPCでは特に有効です。名刺大のCD-Rに焼いてUSBメモリと共に携帯し、多くのPCでUbuntuを起動できます。
ここでは、USBメモリにUbuntuを1つだけインストールした場合に限ります。
また、「スタートアップ・ディスク」 という趣旨から、コマンドを使わない方法だけを記載します。
「BootCD」の作成法
- 「gedit」 を開いて、一番下のスクリプト 「boot.sh」 50行を貼り付け、ファイル名を 「boot.sh」 としてホームディレクトリに保存し、閉じる。
- ファイル 「boot.sh」 を右クリックし、「プロパティ」 から 「アクセス権」 に入り、「プログラムとして実行できる」 にチェックを入れて閉じる。
- ファイル 「boot.sh」 をダブルクリックし、「端末内で実行する」 をクリックする。 開かれた 「端末」 上の指示に従って USBメモリをPCに接続し、イメージファイル 「bootcd.iso」 を作成する。 作業時間は20秒程度。
- ホームディレクトリに出来ているファイル 「bootcd.iso」 を CD-R (-RW) に焼く。
スクリプト「boot.sh」
- スクリプト「boot.sh」
#
[ -n "$DEBUG" ] && set -x
#
# Main Routine
#
if [ `whoami` != "root" ]; then
sudo $0 $@
exit
fi
cd `dirname $0`
echo "\n\tUSBメモリをPCに接続して下さい。!\n"
echo "\tUSBメモリがマウントされるまで待ち、新たにファイル・"
echo "\tブラウザが開いたら全て閉じ、「Enter」を押します。\n"
read -p " Enter " end
echo "\t----------------------------------------------------\n"
DEV=`sfdisk -s | grep '/dev/' | tail -n 1 | cut -f1 -d":"`
UBT=`fdisk -l ${DEV} | grep '^/dev/' | grep '*' | cut -f1 -d" "`
mkdir /media/mnt
MTPT="/media/mnt"
umount ${UBT} ; mount ${UBT} ${MTPT}
mkdir -p uiso/casper
INIT=`ls ${MTPT}/casper | grep initrd`
echo "\tUSBメモリ上のフォルダやファイルをコピーします。\n"
cp ${MTPT}/casper/vmlinuz ${MTPT}/casper/${INIT} uiso/casper/
cp -rf ${MTPT}/syslinux uiso/isolinux
cp -rf ${MTPT}/.disk uiso/
mv uiso/isolinux/syslinux.cfg uiso/isolinux/isolinux.cfg
sed -i 's/300/50/' uiso/isolinux/isolinux.cfg
rm uiso/isolinux/boot.cat
echo "\n\tファイル「bootcd.iso」を作成します。\n"
genisoimage -R -J -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -o bootcd.iso uiso
umount ${MTPT}
rm -rf ${MTPT} uiso
echo "\n\n\t作業は完全に終了しました。\n"
echo "\tこの端末を閉じて下さい。\n"
sleep 20
exit 0- hir0さんへ:
スクリプトを修正して下さるのは大変有難いのですが、同時に「『BootCD』の作成法」の「1.」のスクリプトの行数の部分も修正して頂かないと混乱を招き兼ねません。 全くの初心者はスクリプトが読める訳ではありませんから、コピーする際に行数が大事になります。 また、言い訳めいて恐縮ですが、短時間でやっつけたために御指摘の部分以外にも不要なものがありましたので、修正しました。 本当に有難うございました。 なお、この文は一週間以内に削除します。