• 対象とするUbuntuのバージョン

    • 9.10 Karmic Koala

カーネルのアップグレードがあっても大丈夫な方法です。
ただし、/bootディレクトリと/ディレクトリを別のパーティションにしている場合には、このページの方法ではUbuntuを起動できません。
また、お使いのパソコンがUSBメディアからの起動をサポートしていない場合には、このページの方法では起動できません。サポートしていない場合にはこちらを参照して下さい。

まず、何とかして、USB-HDD・USBメモリの中にインストールしたUbuntuを起動してください。 (USB-HDD・USBメモリの中にインストールしたUbuntuを起動できない場合、他のUbuntuを起動してchrootコマンドを使う手もあるのですが・・・。)

以下の操作では、

こんなところ

に書いてあるものをすべてドラッグして右クリックして「コピー」すれば、次に右クリックして「貼り付け」することでタイプせずとも書き込むことができます。

まず、UbuntuのインストールされたパーティションのUUIDを調べます。それには、例えば以下の方法があります。
端末を開き、

sudo blkid $(grep " / " /etc/mtab|cut -d" " -f1)

とすると、

/dev/sdc1: LABEL="hdpf250u2Ubuntu" UUID="40d66915-dcd0-4235-9c5a-4e2e5a5a3a31" TYPE="ext3" 

のように表示されます。この中で、「UUID="」からその直後の「"」までの文字列が、パーティションのUUIDになります。上の例では、UUIDは「40d66915-dcd0-4235-9c5a-4e2e5a5a3a31」になります。以後、UbuntuがインストールされたパーティションのUUIDを★と記します。

端末を開き、

sudo gedit /etc/grub.d/07_custom2

で開いたテキスト(何も記入されていないはずです)に

exec tail -n +3 $0
menuentry "Ubuntu on USB" {
search --no-floppy --fs-uuid --set ★
linux /vmlinuz root=UUID=★ ro
initrd /initrd.img
} 

を記入します。 そして、 端末で、

sudo chmod u+x /etc/grub.d/07_custom2
sudo grub-mkdevicemap
sudo update-grub

を実行します。

以上を一回だけ行えば、カーネルがアップデートされても、以上の操作を改めて行う必要はありません。
起動時にはGrub2のメニューで、一番上にある、「Ubuntu on USB」を選択してください。

ただし、UUIDでsearchさせると、失敗することがあったようです。もしも失敗する場合には、上記のうち「search」で始まる行を削除して同様に行ってみてください。

また、以後のGrub2のアップデートがあると、起動できなくなるかもしれません。その場合には、

sudo rm -f /etc/grub.d/07_custom2

で、/etc/grub.d/07_custom2を削除してください。

UbuntuJapaneseWiki: UbuntuTips/UsbInstall/UsbGrub2Boot (最終更新日時 2012-01-10 11:49:22 更新者 匿名)