USBからLiveCDを起動する方法を尋ねているのではありません。
Ubuntuを2つインストールしています。1つはコンピューターの内部ハードドライブに、もう1つはUSBドライブにインストールしています。
USBフラッシュドライブにインストールしたUbuntu OSを起動するためにGRUB2メニューエントリを(内部ハードドライブのGRUBに)追加する方法はありますかおよび USBインストールでLinuxカーネルをアップグレードした後も、同じメニューエントリは機能しますか?
ドライブのUUIDを使用する方法を見つけました。ブート時に複数のドライブが接続されている場合に便利です。 /vmlinux
および/initrd.img
シンボリックリンクに関するメモに対するoldfredの功績。
これをファイル/etc/grub.d/40_custom
に追加し、UUID=XXXX-YYYY
をパーティションUUIDに置き換えます(コマンドblkid
でUUIDを取得します)
menuentry "Boot from USB Drive" {
set root=UUID=XXXX-YYYY
linux /vmlinuz root=UUID=XXXX-YYYY ro quiet splash
initrd /initrd.img
}
外部でカーネルをアップグレードするたびに、これを実行して、内部ドライブの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
}
/etc/grub.d/40_custom
のUbuntu Live USBメニューエントリから起動するには、次のようになります(DRIVE_UUID
をパーティションの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