UEFI 無法在沒有 nvram 條目的情況下在外部 USB 上引導 Debian 安裝
我已將 Debian Stretch 安裝到一個外部 USB 驅動器上,我計劃將其用作可在多台電腦上使用的攜帶式安裝,因此我需要能夠直接從 USB 引導它,而無需在 UEFI 中創建 nvram 條目。問題是,UEFI 沒有將驅動器視為可引導驅動器(它沒有出現在引導菜單或引導設置中)。
我以專家模式執行 Debian 安裝程序並選擇將 grub 安裝到備用位置,我已通過 nvram 啟動系統並嘗試使用手動安裝 grub
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable /dev/sde
我已經安裝了 refind 並使用
--usedefault
. 我已經確認它/boot/efi/EFI/BOOT/BOOTX64.efi
存在,但 UEFI 仍然沒有將 USB 驅動器列為我嘗試過的兩台不同機器上的引導選項。通過引導
nvram
工作正常,但我需要能夠直接從 USB 引導而不依賴nvram
主機板上的條目。有誰知道可能出了什麼問題?這是輸出
fdisk -l
:Disk /dev/sde: 59.8 GiB, 64160400896 bytes, 125313283 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 831C76FD-DE61-4D79-93F5-0DA1C5EE5978 Device Start End Sectors Size Type /dev/sde1 2048 1050623 1048576 512M EFI System /dev/sde2 1050624 1550335 499712 244M Linux filesystem /dev/sde3 1550336 125313023 123762688 59G Linux filesystem
並分開:
(parted) print Model: Samsung Flash Drive (scsi) Disk /dev/sde: 64.2GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 boot, esp 2 538MB 794MB 256MB ext2 3 794MB 64.2GB 63.4GB
/dev/sde1
是 ESP,fat32 並/boot/efi
使用esp, boot
標誌安裝在。/dev/sde2
isext2
並安裝在/boot
, 和/dev/sde3
是一個帶有root
和swap
LV 的 luks 分區。
我能夠解決這個問題,但我真的不明白為什麼我所做的工作。我最終
grub-install
再次執行而沒有通過--efi-directory
and--boot-directory
(所以命令最終是grub-install --removable --verbose
)。然後我刪除了 nvram 條目並重新啟動了一次,並且沒有檢測到驅動器,但是在再次重新啟動後,它出現在啟動列表中並且可以啟動。我在另一台電腦上經歷了相同的過程(刪除了現有的 nvram 條目並重新啟動),並且在以前沒有檢測到驅動器時也在那裡檢測到驅動器。看起來可能需要清除 nvram 條目才能讓 UEFI 掃描更多,但老實說我不確定。
nvram 條目包括 grubs 系統文件的根分區所在的位置。如果您直接啟動設備,那麼 UEFI 會告訴 grub 根目錄與 EFI 系統相同,通常這是 Linux 系統分區 /boot 目錄。這裡最簡單的解決方案是將 grub 安裝到 efi 系統分區。
grub-install –efi-directory=/boot/efi –boot-directory=/boot/efi –removable /dev/sde