• 対象とする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」は書き換えられてしまうので、その度にこの編集が必要となります。

編集の方法

  1. USBデバイスをPCに接続し、それがマウントされファイル・ブラウザが開かれるまで待ち、Ubuntuの 「/boot/grub」 ディレクトリに入る。
  2. ファイル「grub.cfg」を右クリックし、「場所:   /media/・・・・・・/boot/grub」 から右側のパスをコピーする。
  3. そのパスで、次のコマンドを実行し、書き込み可能でファイル 「grub.cfg」を開く。
            $ sudo chmod 644 /media/・・・・・・/boot/grub/grub.cfg
            $ sudo gedit /media/・・・・・・/boot/grub/grub.cfg
  4. 「### 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
    }
  5. この内、「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
    }
  6. USBデバイス側のGRUB2のメニューは必要ないので、「### BEGIN /etc/grub.d/10_linux ###」 の行より上にある 「set  timeout=10」 の 「10」 を 「0」 にする。ファイルを保存して終了。

kernel-update ・ OS-upgrade の後の編集

  1. kernel-update ・ OS-upgrade の後の編集は、USBデバイス上のUbuntuで行えるので極めて簡単。上の「3.」から始め、次のコマンドでファイル「grub.cfg」を開き編集する。
            $ sudo gedit /boot/grub/grub.cfg

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