
我已將 Debian Bullseye 安裝在 USB 隨身碟上。當我從中插入拇指驅動器筆記本啟動時,因為 UEFI 中有一個條目“debian”。從 UEFI 啟動管理器中選擇它後,用sudo efibootmgr -b <boot entry number> -B
拇指驅動器將其刪除後不再啟動。它不再可啟動,因為 UEFI 使用當時預設的 Windows Bootmanager 啟動項目。
之後我使用了 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 並引導系統。不過現在debian
UEFI系統又出現了。
使用--no-nvram
或不使用,沒有什麼差別。若要從此拇指驅動器啟動,UEFI 中有一個條目。如何防止這種情況發生?當從 Acronis Media 或 USB 拇指驅動器的 Ubuntu Live 媒體啟動時,它會在不修改系統 UEFI 啟動項目表的情況下啟動。所以這應該是可能的。
更新:您可以按任意鍵,然後選擇繼續啟動而不重置系統和始終繼續啟動。然後「啟動選項恢復」視窗不再顯示,而是立即顯示 grub,但作業系統仍然寫入 UEFI 啟動順序。
答案1
如果您的 USB 格式為 fat(或 vfat),您只需要在其上建立 /EFI 目錄並在其中安裝 grub。除非它不是 fat 格式,否則不需要單獨的 EFI 分割區。
BIOS 不需要知道該 EFI 條目,因此您不需要使用 efibootmgr 安裝它。但是,您可能需要告訴 BIOS 手動啟動 USB(透過在每次啟動時從手動啟動選單中選擇它)或將 USB 放入啟動順序。