#title USB-HDD・USBメモリに通常インストールしたUbuntuを確実に起動するには * '''対象とするUbuntuのバージョン''' * 9.10, 10.04 USB-HDD・USBメモリに通常インストールしたUbuntuを、__100%確実に__起動する極めて簡単な方法です。USBデバイスからの起動に対応していないPCでは特に有効です。 (以下、「USB-HDD・USBメモリ」のことを「USBデバイス」と記載します。) USBデバイスにGRUB2などのブートローダをインストールする必要はありません。 この設定はGRUB2がインストールされた内蔵HDD上のUbuntuで行いますが、どの作業も数分程度で済みます。 また、「USB スタートアップ・ディスクの作成」 でインストールしたUbuntuも、少し改変すれば問題なく起動できます。 === 基本設定とエントリーの追加 === 1. 次のコマンドを実行して 「gedit」 を開き、1番下のスクリプト 「entry.sh」 70行を貼り付け、保存して、閉じる。 {{{ $ gedit entry.sh}}} 1. 次のコマンドを実行し、「端末」上の指示に従ってUSBデバイスをPCに接続し、エントリーの諸設定を内臓HDDに書き込む。 {{{ $ sudo chmod +x entry.sh && sudo ./entry.sh}}} 1. ファイル 「entry.sh」 を保存しておき、新たなエントリーを追加する時も上の 「2.」 を実行する。 === kernel-update ・ OS-upgrade の後の設定 === 「古いversionのエントリー」 を削除し、新たなエントリーとして追加します。内蔵HDD上のUbuntuで作業します。 1. 次のコマンドを実行してファイル 「/usb/grub/grub.cfg」 を開き、「古いversionのエントリー」 を削除し、ファイルを保存して閉じる。 ( 対応する「kernel」・「initrd」を削除してもよい。 ) {{{ $ sudo gedit /usb/grub/grub.cfg}}} 1. 「基本設定とエントリーの追加」 の 「3.」 を実行し、新たなエントリーとして追加する。 === 使い方と注意 === 1. PC起動時のGRUB2のメニューでタイトル 「Ubuntu on USB Storage Devices」 を選択すると、USBデバイス上の各エントリーのタイトルが並ぶGRUB2のメニューが現れる。 これはファイル 「/usb/grub/grub.cfg」 に書かれており、編集できる。 defaultでは、「 Ubuntu 2.6.31-14-generic  ( Maxtor 9 )  P-3 」 のように、「version」 ・ 「vendor名」 ・ 「partition番号」 の順に記載されている。 1. USBデバイス上のUbuntu以外のOSも追加できるが、エントリーのタイトルを含めて、ファイル 「/usb/grub/grub.cfg」 を編集する必要がある。 1. 最近のUbuntuではルート「/」 にリンク 「vmlinuz」 ・ 「initrd.img」 が自動的に作成されるが、これらを使っても起動できない。 1. 初心者向けにGUIによる方法も可能だが、当面CUIだけとする。 === スクリプト 「entry.sh」 === .スクリプト 「entry.sh」 {{{ #!/bin/sh # echo "\n\tUSB-HDDまたはUSBメモリをPCに接続して下さい。!\n" echo "\tそれがマウントされるまで待ち、新たにファイル・ブラウザ\n" echo "\tが開かれたら全て閉じ、「Enter」を押します。\n" read -p " " ent echo "\t----------------------------------------------------\n" DEV=`sfdisk -s | grep '/dev/' | tail -n 1 | cut -f1 -d":"` DEV_INFO=`cat /proc/scsi/scsi | grep 'Vendor' | tail -n 1` VENDOR=`echo $DEV_INFO | cut -f2 -d":" | sed 's/Model//'` NAME=`echo $DEV_INFO | cut -f3 -d":" | sed 's/Rev//'` echo "\t● その情報を確認して下さい。\n" echo "\t\tデバイスファイル: $DEV\n\t\tベンダ: $VENDOR\n\t\tモデル: $NAME\n" echo "\n\t● パーティション情報です。\n" fdisk -l $DEV | grep '^/dev/' echo "\n\t----------------------------------------------------\n" echo "\tUbuntuが入っているパーティションの番号を入力して、" echo "\t「Enter」を押します。\n" read -p " パーティションの番号 " pn DEVP="$DEV$pn" uuid=`blkid -o value $DEVP | tail -n 2 | head -n 1` echo "\n\t----------------------------------------------------\n" if [ ! -d /usb ]; then mkdir -p /usb/grub chmod -R 755 /usb cp /boot/grub/* /usb/grub/ cat > grub.cfg <> 40_custom <> grub.cfg <