システム EFI にエントリを書き込まずに、USB サムドライブ上で完全にポータブルな Linux 用の GRUB を作成するにはどうすればよいでしょうか?

システム EFI にエントリを書き込まずに、USB サムドライブ上で完全にポータブルな Linux 用の GRUB を作成するにはどうすればよいでしょうか?

USB サムドライブに Debian Bullseye をインストールしました。サムドライブを接続すると、UEFI に「debian」というエントリがあったため、ノートブックがそこから起動sudo efibootmgr -b <boot entry number> -Bしました。サムドライブを取り外した後、UEFI ブートマネージャーから選択しても起動しなくなりました。UEFI がデフォルトの Windows ブートマネージャー ブート エントリを使用していたため、起動できなくなりました。

その後、Ubuntu Liveシステムを使用して発行しました

sudo mount /dev/sdXY /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install --no-nvram --removable /dev/sdX
update-grub  

ここで説明されているようにhttps://askubuntu.com/a/831241オプションの追加について--no-nvram --removableは、https://www.systutorials.com/docs/linux/man/8-grub-install/

EFI ブートマネージャーからサムドライブを選択すると、起動しますが、「ブート オプションの復元」というメッセージが表示されます。これは約 6 秒以内にキャンセルできます。その後、システムが再起動し、grub がロードされてシステムが起動します。ただし、今度はdebianUEFI システムに再び存在します。

使用して--no-nvramもしなくても違いはありません。このサムドライブから起動するには、UEFI にエントリがあります。これを防ぐにはどうすればよいですか? Acronis Media または USB サムドライブの Ubuntu Live メディアから起動する場合、システムの UEFI ブート エントリ テーブルを変更せずに起動します。したがって、これは可能であるはずです。

更新: 任意のキーを押して、システムをリセットせずに起動を続行し、常に起動を続行することを選択できます。すると、「ブート オプションの復元」ウィンドウは表示されなくなり、代わりに grub がすぐに表示されますが、OS は UEFI ブート順序に書き込まれたままになります。

答え1

USB が fat (または vfat) としてフォーマットされている場合は、/EFI ディレクトリを作成してそこに grub をインストールするだけです。 fat 形式でない限り、別の EFI パーティションは必要ありません。

BIOS は EFI エントリを認識する必要がないため、efibootmgr を使用してインストールする必要はありません。ただし、手動で (各ブート時に手動ブート メニューから選択する)、または USB をブート順序に追加して、BIOS に USB をブートするように指示する必要がある場合があります。

関連情報