対象とするUbuntuのバージョン
- 9.10, 10.04
USB-HDD・USBメモリにUbuntuを通常インストールし、ブートローダとしてGRUB2をインストールした場合に、USBデバイスから起動できるPCでそれを直接起動する簡単な方法です。(以下、「USB-HDD・USBメモリ」のことを「USBデバイス」と記載します。)
GRUBの「menu.lst」と同様に、例えば (hd2,1) を (hd0,1) と書き換えても起動できません。
USBデバイスにインストールされたGRUB2のファイル「grub.cfg」の6行を削除する簡単な作業ですが、kernel-update ・ OS-upgradeの際に「grub.cfg」は書き換えられてしまうので、その度にこの編集が必要となります。
編集の方法
- USBデバイスをPCに接続し、それがマウントされファイル・ブラウザが開かれるまで待ち、Ubuntuの 「/boot/grub」 ディレクトリに入る。
- ファイル「grub.cfg」を右クリックし、「場所: /media/・・・・・・/boot/grub」 から右側のパスをコピーする。
- そのパスで、次のコマンドを実行し、書き込み可能でファイル 「grub.cfg」を開く。
$ sudo chmod 644 /media/・・・・・・/boot/grub/grub.cfg $ sudo gedit /media/・・・・・・/boot/grub/grub.cfg - 「### BEGIN /etc/grub.d/10_linux ###」 の行を手掛かりにして、1番上のエントリーを見つける。例えば次のようである。
### BEGIN /etc/grub.d/10_linux ### menuentry "Ubuntu, Linux 2.6.31-12-generic" { recordfail=1 save_env recordfail set quiet=1 insmod ext2 set root=(hd0,1) search --no-floppy --fs-uuid --set 7ebcfe33......859f7396933 linux /boot/vmlinuz-2.6.31-12-generic root=UUID=7ebcfe33......859f7396933 ro quiet splash initrd /boot/initrd.img-2.6.31-12-generic } - この内、「recordfail=1」 から 「search --no-floppy ・・・・・・・ f7396933」 までの6行を削除する。結果は、次の様になる。
menuentry "Ubuntu, Linux 2.6.31-12-generic" { linux /boot/vmlinuz-2.6.31-12-generic root=UUID=7ebcfe33......859f7396933 ro quiet splash initrd /boot/initrd.img-2.6.31-12-generic } - USBデバイス側のGRUB2のメニューは必要ないので、「### BEGIN /etc/grub.d/10_linux ###」 の行より上にある 「set timeout=10」 の 「10」 を 「0」 にする。ファイルを保存して終了。
kernel-update ・ OS-upgrade の後の編集
- kernel-update ・ OS-upgrade の後の編集は、USBデバイス上のUbuntuで行えるので極めて簡単。上の「3.」から始め、次のコマンドでファイル「grub.cfg」を開き編集する。
$ sudo gedit /boot/grub/grub.cfg