修正在 UEFI 系統上安裝 Debian 後出現的「找不到可啟動裝置」錯誤

在 UEFI 系統中,「找不到可啟動設備」究竟是什麼意思?

在 UEFI 機器上,此訊息通常表示韌體找不到可以啟動的 EFI 啟動路徑。但這並不一定意味著 Debian 本身已損壞。已安裝的根檔案系統可能完好無損,但韌體條目、EFI 系統分割區 (ESP) 或開機載入程式檔案可能缺失或無法辨識。

截至 2026 年 10 月,Debian 13 “Trixie” 是目前的穩定版本。在 amd64 系統上,Debian 通常使用 GRUB 進行 UEFI 啟動,並提供已簽署的 shim 和 GRUB 元件以支援安全啟動。 Debian 的 UEFI 文件解釋說,韌體通常會從 ESP 目錄載入廠商特定的 EFI 可執行文件,例如位於 `/etc/debian/src/` 目錄下的檔案EFI/debian/。請參閱Debian UEFI 文件和Debian 13 amd64 安裝指南。

最有用的第一步是確定哪一層出了問題:安裝程式啟動模式、ESP 佈局、EFI 檔案、NVRAM 啟動項目、安全啟動相容性或韌體行為。

1. Debian 安裝程式是否以 UEFI 模式啟動?

一個常見的誤解是,在韌體設定中選擇「UEFI」就能保證安裝程式本身以 UEFI 模式啟動。許多系統會將同一個 U 盤暴露兩次:一次作為 UEFI 啟動項,另一次作為傳統模式或 CSM 啟動項。如果安裝程式以傳統模式啟動,它可能會安裝 BIOS 風格的開機載入程序,而不是韌體所需的 UEFI 路徑。

UEFI 啟動管理器顯示 Windows 啟動管理器、UEFI USB 設備,以及「未找到可啟動設備」訊息。

標題:韌體可以列出支援 UEFI 的設備,但仍無法在內部磁碟上找到 Debian 啟動項目。

已驗證: Debian 安裝程式支援 UEFI,並在 UEFI 模式下安裝時建立 EFI 系統分割區。 Debian 安裝程式文件也區分了 UEFI 和 BIOS 相容模式。

具體情況取決於您的機器:啟動選單中的文字顯示可能為“UEFI: USB”、“EFI USB Device”,或使用 USB 裝置型號名稱,而不會明確提及 UEFI。

操作:再次啟動 Debian 安裝程式或 Live 環境,並刻意選擇其 UEFI 啟動項目。修復過程中請避免使用 CSM 或傳統啟動模式。

2. 救援環境本身是否在 UEFI 下運作?

在修復 NVRAM 條目之前,請確認目前系統(包括 Live 系統和救援系統)具有 UEFI 運行時存取權限。如果系統以傳統模式啟動,efibootmgr即使安裝的 Debian 系統本身沒有問題,修復也可能失敗。

test -d /sys/firmware/efi && echo "UEFI mode" || echo "Legacy mode"
efibootmgr
Debian 終端機確認救援會話正在 UEFI 模式下運行,並顯示 efibootmgr 輸出

標題:/sys/firmware/efi 的存在證實了目前救援會話是透過 UEFI 啟動的。

已驗證: Debian 的 GRUB EFI 復原文件建議以 UEFI 模式啟動救援媒體並檢查/sys/firmware/efi或運作efibootmgr。

操作:如果目錄不存在,請先將 USB 裝置重新啟動到 UEFI 模式,然後再繼續。除非您有意進行僅備用安裝,否則請勿嘗試從傳統啟動的救援工作階段中修復 UEFI NVRAM。

3. EFI 系統分割區是否存在且是否正確掛載?

在正常的 GRUB 設定中,UEFI 韌體不會直接從 Linux 根檔案系統啟動。它會從 ESP 分割區讀取 EFI 可執行文件,而 ESP 分割區通常是標記為 EFI 使用的 FAT 檔案系統。

lsblk -f
blkid
findmnt /boot/efi
Debian 終端機顯示一個掛載在 /boot/efi 的 FAT EFI 系統分割區和一個 ext4 Debian 根分割區。

圖註:典型的 Debian UEFI 安裝會將 FAT ESP 掛載到 /boot/efi,與 Linux 根檔案系統並列。

已驗證: Debian 安裝程式文件將 EFI 系統分割區標識為用於 UEFI 啟動檔的分割區。 Debian 13 指南建議為目前的啟動流程使用容量較大的 ESP 分割區;Debian UEFI wiki 目前建議使用 768 MB 的 ESP 分割區,並至少預留 300 MB 的可用空間,不過如果現有較小的 ESP 分割區有足夠的可用空間,也可能可以正常運作。

不要假設: ESP 必須是第一個分割區,或必須使用特定的裝置名稱,例如/dev/sda1.NVMe 系統通常使用諸如/dev/nvme0n1p1.

操作:透過檔案系統類型和分區元資料識別 ESP,而不是從範例複製設備名稱。如果 ESP 不存在,建立 ESP 可能需要重新分割區,並有資料遺失的風險;變更分割表之前請務必備份資料。

4. Debian EFI 啟動檔案是否實際存在?

如果 ESP 掛載正常,請檢查其 Debian 目錄。在使用 GRUB 的 amd64 Debian 系統上,通常會在 目錄下找到檔案/boot/efi/EFI/debian/。如果安裝了安全啟動支持,通常會在載入簽名 GRUB 之前執行 shim 操作。

ls -la /boot/efi/EFI/debian/
find /boot/efi/EFI -maxdepth 2 -type f
Debian 終端機列出 /boot/efi/EFI/debian 目錄下的 GRUB 和 shim EFI 文件

圖註:EFI/debian 下的 Debian EFI 載入程式檔案表明,即使韌體目前未選擇這些文件,引導程式檔案仍然存在。

已驗證: Debian 的 UEFI 文件列出了正常的供應商路徑,EFI/debian/並將 GRUB EFI 描述為 Debian 的預設 UEFI 引導程式。 Debian 的安全啟動文件指出,已簽署的 Debian 核心和 shim 整合可用。

操作:如果EFI/debian已填充,請在重新安裝任何內容之前先檢查 NVRAM。如果未填充,則更有必要重新安裝 GRUB EFI。

5. UEFI NVRAM 中是否有 Debian 條目?

韌體通常將啟動項儲存在 NVRAM 中。 ESP 分割區可能包含完全有效的 Debian 文件,但韌體中卻沒有指向這些文件的條目。

efibootmgr -v
Debian 終端機顯示 efibootmgr 詳細輸出,其中包含指向 EFI/debian/shimx64.efi 的 Debian 條目

標題:指向 EFI/debian 的 Debian Boot#### 條目確認韌體已記錄到 Debian 載入器的路徑。

已驗證: Debian 的 UEFI 文件將正常的 UEFI 模型描述為一個指向 ESP 上特定供應商 EFI 載入器的啟動變數。

具體情況取決於韌體:有些機器會重新排序、過濾、遺失或忽略 NVRAM 條目。 Debian 的 UEFI 文件特別指出,韌體實作各不相同,有些韌體在處理啟動順序或廠商條目時會表現異常。

操作:如果 Debian 啟動項目存在但位於其他啟動項目之後,您可以使用韌體設定選單將 Debian 的啟動順序提升。您也可以使用 `--boot` 指令來變更啟動順序efibootmgr -o,但請使用系統中實際的 Boot#### 值,而不是從範例複製數字。

6. 如何從 Debian 救援媒體重新安裝 GRUB EFI?

當 Debian EFI 檔案缺失、NVRAM 條目不存在或安裝程式明顯未能完成 GRUB 安裝時,請使用此路徑。掛載已安裝的根檔案系統及其 ESP,綁定所需的偽檔案系統,然後 chroot 到已安裝的系統。

以下設備名稱僅為範例。請將您識別的分割區替換為lsblk.

mount /dev/ROOT_PARTITION /mnt
mount /dev/ESP_PARTITION /mnt/boot/efi

mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run

chroot /mnt

在使用 GRUB EFI 的 amd64 系統上,請確保已安裝正確的軟體包,然後重新安裝載入程式並重建其選單:

apt update
apt install --reinstall grub-efi-amd64 grub-efi-amd64-bin
apt install --reinstall shim-signed

grub-install --target=x86_64-efi   --efi-directory=/boot/efi   --bootloader-id=debian   --recheck

update-grub
efibootmgr -v
Debian救援終端掛載已安裝的系統,進入chroot環境,重新安裝x86_64 EFI GRUB,並執行update-grub指令。

標題:從 UEFI 啟動的救援環境重新安裝 GRUB EFI 會恢復載入程式文件,並且通常會重新建立 Debian 韌體條目。

已驗證: Debian 文件中提供了從 live 或 rescue 媒體重新安裝 GRUB EFI 的方法,並且當前grub-install手冊支援--target、--efi-directory和--bootloader-id。請參閱Debian GRUB EFI 重新安裝指南和Debian 的 grub-install 手冊。

操作說明:--no-nvram如果您希望 GRUB 建立韌體條目,請勿在正常修復過程中使用此選項。此選項會明確禁止 NVRAM 更新。

7. 如果韌體忽略了有效的 Debian NVRAM 條目會怎樣?

另一個常見的誤解就出在這裡:即使efibootmgr -v顯示有效的 Debian 啟動項,重複重新安裝 GRUB 也可能無法解決問題。韌體本身可能忽略或刪除了該啟動項目。

UEFI 為可移動媒體定義了一個備用路徑。在 x86-64 系統中,這通常是EFI/BOOT/BOOTX64.EFI.GRUB 的--removable選項,它會將程式安裝到該備用路徑。

grub-install --target=x86_64-efi   --efi-directory=/boot/efi   --removable

ls -la /boot/efi/EFI/BOOT/
Debian 終端機顯示 grub-install 指令,並啟用了可移除選項,EFI/BOOT 目錄下有一個 BOOTX64.EFI 檔案。

說明:UEFI 回退載入程式路徑可以協助解決韌體拒絕執行正常的 Debian NVRAM 條目的問題。

已驗證: Debian 在目前grub-install手冊中記錄--removable了 EFI 選項。 Debian 的 UEFI 文件也討論了回退路徑,作為解決韌體問題的一種變通方案。

權衡:備用路徑的描述性不如廠商指定的常規 NVRAM 條目,並且可能與其他也需要該 NVRAM 的作業系統或工具發生衝突EFI/BOOT/BOOTX64.EFI。請將其用作相容性變通方案,而非首選方案。

操作:優先使用標準的 Debian NVRAM 條目。只有當韌體明顯忽略該條目時,才使用備用方案。

8. 安全啟動會不會是真正的原因?

安全啟動經常被認為是導致 UEFI 啟動失敗的原因,但「未找到可啟動設備」本身並不能證明是安全啟動簽章問題。當安全啟動拒絕某個引導程式時,許多系統會顯示與安全相關的錯誤,而不是聲稱沒有可啟動裝置。

Debian 在支援的架構上使用簽名 shim 和 GRUB 元件支援安全啟動。 Debian 13 也繼續預設提供簽名核心軟體包。

mokutil --sb-state
dpkg -l | grep -E 'shim-signed|grub-efi.*signed'

已驗證: Debian 的安全啟動文件描述了已簽署的 shim/GRUB 鏈。

具體情況取決於多種因素:自訂核心、本地建置的 GRUB 二進位檔案、未簽署的第三方模組或修改的安全啟動金鑰都可能改變結果。

操作:如果您安裝的是標準 Debian 軟體包,請勿自動停用安全啟動。請先確認shim-signed已安裝對應的簽章啟動組件。暫時停用安全啟動可以作為診斷測試,但如果這是系統啟動的唯一方式,請在認為問題已解決之前,先確定簽章路徑失敗的原因。

9. Debian 是否安裝到了一個磁碟上,而 ESP 分割區位於另一個磁碟上?

多磁碟系統會產生另一種故障模式:根檔案系統可能位於一個磁碟上,而安裝過程中使用的 ESP 分割區位於另一個磁碟上。如果第二個磁碟被移除、停用,或之後被移到不同的控制器後面,即使 Debian 的根分割區運作正常,韌體也可能報告沒有可啟動裝置。

lsblk -o NAME,SIZE,FSTYPE,PARTTYPE,PARTUUID,MOUNTPOINTS
findmnt /
findmnt /boot/efi

操作:確認您正在修復的 ESP 分割區位於一個將保留在系統中且韌體可識別的磁碟上。在 RAID 或鏡像系統中,請確定是否需要在多個實體磁碟機上建立可啟動的 ESP 分割區。 Debian 的 GRUB 文件指出,UEFI RAID 設定要求系統啟動所使用的磁碟機上必須包含 ESP 分割區的內容。

10. 在移除USB之前,如何驗證修復是否成功?

不要僅僅依賴成功grub-install提示訊息。在救援環境仍然​​可用時,請檢查檔案、韌體條目和啟動順序。

efibootmgr -v
ls -la /boot/efi/EFI/debian/
ls -la /boot/efi/EFI/BOOT/ 2>/dev/null || true
update-grub
UEFI 啟動管理器顯示,Debian 啟動項目優先於 Windows 啟動管理器和網路啟動選項。

標題:最強有力的最終檢查是韌體可以選擇的可見 Debian 啟動項,然後移除救援 USB 後成功啟動。

然後退出 chroot 環境,正常卸載 USB 設備,關機,移除 USB 設備,並從內建硬碟啟動。如果 Debian 出現在韌體選單中但仍然無法啟動,則故障已超出「找不到可啟動裝置」的範疇,需要進行 GRUB、核心、initramfs、儲存或檔案系統方面的故障排除。

你應該選擇哪一種維修方案?

你所觀察到的最適當的行動為什麼
救援環境處於傳統模式在 UEFI 模式下明確重新啟動 USBNVRAM 修復需要 UEFI 執行時期存取權限
不存在超感官知覺(ESP)。先進行備份,然後使用受支援的分區方案建立/配置 ESP。UEFI 需要一個 EFI 可讀的系統分割區
ESP存在,但EFI/debian缺失了。chroot 並重新安裝 GRUB EFI正常的 Debian 載入器檔案缺失
EFI 檔案存在,但不存在 Debian Boot#### 條目重新安裝 GRUB 或重新建立韌體條目韌體沒有記錄 Debian 路徑
存在有效的 Debian 條目,但韌體忽略了它。調整韌體啟動順序;如有必要,請考慮備用EFI/BOOT路徑單獨重複重新安裝 GRUB 可能無法修復韌體行為問題。
只有在停用安全啟動的情況下,啟動功能才能正常運作。驗證 shim/簽章 GRUB 軟體包和安全啟動狀態問題可能出在已簽署的啟動鏈上,而不是普通的啟動順序。
根檔案系統和ESP分割區位於不同的磁碟上。確保 ESP 磁碟始終存在,或在目標啟動磁碟上安裝合適的 ESP 磁碟。韌體無法從缺少的磁碟載入 ESP 分割區。

應該避免什麼?

  • 如果根檔案系統完好無損,只有 UEFI 啟動路徑損壞,請不要立即重新安裝 Debian。
  • 請勿在未檢查 Windows 或其他作業系統是否也在使用該分割區的情況下格式化現有的 EFI 系統分割區。
  • 不要僅僅因為教程中使用了 GPT 就創建新的分區表;請先檢查當前的佈局。
  • 不要將另一台機器的啟動號碼####複製到efibootmgr指令中。
  • 請勿使用 BIOS 目標 GRUB 指令,例如--target=i386-pc在修正 amd64 UEFI 安裝時。
  • 除非您有證據表明已簽署的 Debian 啟動鏈無法滿足您的環境需求,否則請勿永久停用安全啟動。
  • 不要以為成功重新安裝 GRUB 就能保證韌體會遵循產生的 NVRAM 項目。

目前 Debian 環境

Debian 13 “Trixie” 仍是 2026 年 10 月的穩定版本;Debian 13.7 已於 2026 年 9 月 12 日發布。目前 Trixie 的官方安裝指南版本是 Debian 安裝程式團隊編寫的 2025 年版 Debian 13 安裝指南。如果您要修復的是較舊的 Debian 版本,軟體包名稱和安全啟動細節可能有所不同,因此請使用與該版本相符的文件。請參閱Debian 穩定版本資訊。

官方參考資料

留下評論

修正在 UEFI 系統上安裝 Debian 後出現的「找不到可啟動裝置」錯誤

修正在 UEFI 系統上安裝 Debian 後出現的「找不到可啟動裝置」錯誤

透過檢查安裝程式啟動模式、EFI 系統分割區、NVRAM 條目、GRUB EFI 檔案、安全啟動和韌體回退來修復 Debian UEFI 啟動失敗。

如何在 Ubuntu 桌面系統上設定 Btrfs 自動快照

如何在 Ubuntu 桌面系統上設定 Btrfs 自動快照

配置 Snapper 以在 Ubuntu 桌面上建立和清理定時產生的 Btrfs 快照。首先檢查子磁碟區佈局,啟用 systemd 定時器,並安全地驗證保留策略。

安全修復 SUSE Linux Enterprise LVM 精簡配置空間不足的問題

安全修復 SUSE Linux Enterprise LVM 精簡配置空間不足的問題

透過區分資料耗盡和元資料耗盡、擴展儲存、修復元資料和啟用自動擴展,診斷和恢復 SUSE Linux Enterprise 上的完整 LVM 精簡池。

Debian 12 CIS 加固指南:伺服器基線逐步指南

Debian 12 CIS 加固指南:伺服器基線逐步指南

使用安全的伺服器工作流程(包括更新、SSH、防火牆、AppArmor、稽核和驗證),對 Debian 12 Bookworm 進行強化,使其符合目前的 CIS 基準 v2.0.0 標準。

如何在 Gooroom OS 上安裝 Flatpak 和 Snap 應用

如何在 Gooroom OS 上安裝 Flatpak 和 Snap 應用

在 Gooroom OS 上安裝 Flatpak 和 Snap 應用,包括版本檢查、終端命令以及相容性、安全控制、更新和儲存的實際比較。

如何修正 GPG 錯誤:Ubuntu 中無法驗證以下簽名

如何修正 GPG 錯誤:Ubuntu 中無法驗證以下簽名

安全地修復 Ubuntu APT 簽章錯誤。無需停用軟體包驗證,即可識別 NO_​​PUBKEY、EXPKEYSIG、BADSIG、時脈和軟體來源設定問題。

如何在 SLES 15 上設定 DM-Multipath:實用指南

如何在 SLES 15 上設定 DM-Multipath:實用指南

在 SLES 15 上設定 DM-Multipath,實現安全發現、服務設定、最小 multipath.conf 變更、initramfs 更新和路徑健康檢查。

SLES Btrfs Snapper 更新失敗後回滾:安全復原指南

SLES Btrfs Snapper 更新失敗後回滾:安全復原指南

使用 Btrfs 和 Snapper 在更新失敗後恢復 SLES。比較回滾選項,安全地測試快照,恢復系統,並驗證儲存庫。

如何在 Pardus 用戶端部署自訂桌布和策略

如何在 Pardus 用戶端部署自訂桌布和策略

使用 Liderahenk 和 Ahenk 來設定自訂的 Pardus GNOME 桌布,使用 dconf 鎖定選定的設置,並透過經過測試的試點專案推出其他客戶端策略。

Ubuntu 伺服器啟動進入緊急模式:逐步救援指南

Ubuntu 伺服器啟動進入緊急模式:逐步救援指南

診斷 Ubuntu 伺服器進入緊急模式的原因,安全地修復常見的 /etc/fstab 和掛載問題,檢查檔案系統,並驗證正常重新啟動。