USBドライブにインストールされたUbuntuを起動するためのGRUB2メニューエントリを追加する方法


23

LiveCDをUSBから起動する方法を尋ねているのではありません。

Ubuntuを2つインストールしています。1つはコンピューターの内蔵ハードドライブに、もう1つはUSBドライブにインストールしています。

私はUSBフラッシュドライブにインストールしたUbuntuのOSをブートするために(私の内部ハードドライブ上のGRUBに)GRUB2のメニューエントリを追加する方法がある私はLinuxカーネルをアップグレードした後に、この同じメニュー項目にはまだ仕事を持っているがUSBインストールで?

回答:


33

外部でカーネルをアップグレードするたびに、これを実行して、内部ドライブのgrubのブートスタンザを更新できます。

sudo update-grub

ただし、特定のカーネルではなく、パーティションをブートするブートスタンザをgrub2の40_customに追加することもできます。Ubuntuは、/(ルート)にリンクをインストールして、最新のインストールを起動します。必要に応じて、ドライブとパーティションに以下の例を調整します。grubを使用したブートドライブは常にhd0ですが、他のドライブはBIOSによって報告される順序であり、異なる場合があります。

で編集:

gksudo gedit /etc/grub.d/40_custom

それから加えて:

menuentry "Install on sdb1" {
    set root=(hd1,1)
    linux /vmlinuz root=/dev/sdb1 ro quiet splash
    initrd /initrd.img
}

上記は機能しますが、フラッシュドライブまたはその他のUSBデバイスを接続すると、ドライブが変更される場合があります。そこで、ラベルを使用するように変換しています。

menuentry "Cosmic 18.10 on sdb12 test" {
    search --set=root --label cosmic_b --hint hd2,gpt12
    configfile /boot/grub/grub.cfg 
}

1
ではなくパーティションのUUIDを使用する方法はあり/dev/sdb1ますか?
キリ

sudo update-grubは素晴らしい働きをしました、ありがとう!
セルギーミグダルスキー14

2
(hd1,1)の代わりに何をすべきかをどのように把握する必要がありますか?これらの数字がどこに収まるようにするのですか?別の問題をまっすぐに設定するためにこれが必要になる場合があります:askubuntu.com/questions/573502/…-
マット

4
最初の番号は、BIOSによって報告されるドライブです。ただし、ブートドライブは常にhd0であるため、ドライブの順序は変更できます。2番目の番号はパーティション番号です。sdaであるドライブから起動する場合、sda3はhd0,3です。ただし、sdbから起動する場合は、hd1,3である可能性があります。時々あなたはただ実験する必要があります。
オールドフレッド

sudo update-grubはWindowsエントリの追加でも機能します
-superl2

9

ドライブのUUIDを使用する方法を見つけました。ブート時に複数のドライブが接続されている場合に便利です。oldfredのメモ/vmlinux/initrd.imgシンボリックリンクに関するクレジット。

これをファイルに追加し、パーティションUUIDに/etc/grub.d/40_custom置き換えますUUID=XXXX-YYYY(コマンドでUUIDを取得blkid

menuentry "Boot from USB Drive" {
    set root=UUID=XXXX-YYYY
    linux /vmlinuz root=UUID=XXXX-YYYY ro quiet splash
    initrd /initrd.img
}

8
これは間違いなく上記の質問に対する答えではありません。あなたはoldfredの返事を受け入れたはずです。
デミスパルマツ

1
@kiri:他の人の答えをコピーして、自分にクレジットを与えるのは悪い習慣と考えられています。はい、UUIDパーツを追加しても。
レナート・ローランド

2

Ubuntu Live USBメニューエントリから起動するには、次の/etc/grub.d/40_customようになります(パーティションのuuidに置き換えDRIVE_UUIDます)。

menuentry "Boot from LIVE USB Drive" {
   search --set=root --fs-uuid DRIVE_UUID
   linux ($root)/casper/vmlinuz boot=casper quiet splash --
   initrd ($root)/casper/initrd.lz
}

変更を適用するには、次を実行します。

sudo update-grub
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.