"UbuntuTips/UsbInstall/UsbBootCD"の差分


10と19のリビジョン間の差分 (その間の編集: 9回)
2010-04-11 12:36:43時点のリビジョン10
サイズ: 1860
編集者: MozTra
コメント:
2010-04-23 14:56:19時点のリビジョン19
サイズ: 3830
編集者: MozTra
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 2: 行 2:
行 3: 行 4:
  * 9.04, 9.10, 10.04

「USB スタートアップ・ディスクの作成」でUSBメモリにインストールしたUbuntuを起動する「BootCD」の極めて簡単な作成法です。
  * 9.04, 9.10, 10.04
[[BR]] 「USB スタートアップ・ディスクの作成」 でUSBメモリにインストールしたUbuntuを起動する 「BootCD」 の簡単な作成法です。
行 8: 行 8:
(ここでは、USBメモリにUbuntuを1つだけインストールした場合に限ります。)
行 10: 行 9:
ここでは、USBメモリにUbuntuを1つだけインストールした場合に限ります。
行 11: 行 11:
=== 「BootCD」の作成 === また、「スタートアップ・ディスク」 という趣旨から、コマンドを使わない方法だけを記載します。
行 13: 行 13:
 1. [attachment:mkbootcd.tar.gz ここ] をクリックして「mkbootcd.tar.gz を開く」のウィンドウが出たら、「プログラムで開く」にチェックを入れ、「OK」をクリック。次のウィンドウで「mkbootcd.tar.gz」をクリックし、続く2つのウィンドウで「展開」をクリック、最後に「終了」をクリックする。 === 「BootCD」の作成法 ===
 1. 「gedit」 を開いて、一番下のスクリプト 「boot.sh」 50行を貼り付け、ファイル名を 「boot.sh」 としてホームディレクトリに保存し、閉じる。
行 15: 行 16:
 1. ホームディレクトリにファイル「mkbootcd.sh」を確認する。  1. ファイル 「boot.sh」 を右クリックし、「プロパティ」 から 「アクセス権」 に入り、「プログラムとして実行できる」 にチェックを入れて閉じる。
行 17: 行 18:
 1. ファイル「mkbootcd.sh」をダブルクリックし、「端末内で実行する」をクリックする。開かれた「端末」上の指示に従って USBメモリをPCに接続し、「BootCD」のイメージファイル「bootcd.iso」を作成する。  1. ファイル 「boot.sh」 をダブルクリックし、「端末内で実行する」 をクリックする。 開かれた 「端末」 上の指示に従って USBメモリをPCに接続し、イメージファイル 「bootcd.iso」 を作成する。 作業時間は20秒程度。
行 19: 行 20:
 1. ホームディレクトリに出来ているファイル「bootcd.iso」を「Brasero」などを使ってCD-R(-RW)に焼く。
.
 '''<< お願い >>''' このTipを改変される方は、まずフォーラムで誤りを指摘して下さい。著者は簡明を旨としており、汚い・読みにくい・内容が分かりにくい・冗長な記述を憎悪します。security上の問題があればそちらで指摘して下さい。
 1. ホームディレクトリに出来ているファイル 「bootcd.iso」 を CD-R (-RW) に焼く。
=== スクリプト「boot.sh」 ===
 . スクリプト「boot.sh」
{{{
#!/bin/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}}}

[[BR]]
 .hir0さんへ:
スクリプトを修正して下さるのは大変有難いのですが、同時に 「 『BootCD』 の作成法 」 の 「1.」 のスクリプトの行数の部分も修正して頂かないと混乱を招き兼ねません。 全くの初心者はスクリプトが読める訳ではありませんから、コピーする際に行数が大事になります。 また、言い訳めいて恐縮ですが、短時間でやっつけたために御指摘の部分以外にも不要なものがありましたので、修正しました。 本当に有難うございました。 なお、この文は一週間以内に削除します。
  • 対象とするUbuntuのバージョン

    • 9.04, 9.10, 10.04

BR 「USB スタートアップ・ディスクの作成」 でUSBメモリにインストールしたUbuntuを起動する 「BootCD」 の簡単な作成法です。

USBデバイスからの起動に対応していないPCでは特に有効です。名刺大のCD-Rに焼いてUSBメモリと共に携帯し、多くのPCでUbuntuを起動できます。

ここでは、USBメモリにUbuntuを1つだけインストールした場合に限ります。

また、「スタートアップ・ディスク」 という趣旨から、コマンドを使わない方法だけを記載します。

「BootCD」の作成法

  1. 「gedit」 を開いて、一番下のスクリプト 「boot.sh」 50行を貼り付け、ファイル名を 「boot.sh」 としてホームディレクトリに保存し、閉じる。
  2. ファイル 「boot.sh」 を右クリックし、「プロパティ」 から 「アクセス権」 に入り、「プログラムとして実行できる」 にチェックを入れて閉じる。
  3. ファイル 「boot.sh」 をダブルクリックし、「端末内で実行する」 をクリックする。 開かれた 「端末」 上の指示に従って USBメモリをPCに接続し、イメージファイル 「bootcd.iso」 を作成する。 作業時間は20秒程度。
  4. ホームディレクトリに出来ているファイル 「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

BR

  • hir0さんへ:

スクリプトを修正して下さるのは大変有難いのですが、同時に 「 『BootCD』 の作成法 」 の 「1.」 のスクリプトの行数の部分も修正して頂かないと混乱を招き兼ねません。 全くの初心者はスクリプトが読める訳ではありませんから、コピーする際に行数が大事になります。 また、言い訳めいて恐縮ですが、短時間でやっつけたために御指摘の部分以外にも不要なものがありましたので、修正しました。 本当に有難うございました。 なお、この文は一週間以内に削除します。