Boot

UEFI引導選項立即返回而不做任何事情是什麼意思?

  • April 21, 2022

更新答案

對於任何想要權威來源的人,請參閱描述目錄結構的標準第 13.3.1.3 節。

客觀的

製作一個 UEFI 可引導的 Ubuntu Linux USB 驅動器,該驅動器帶有一個用於引導的 EFI 分區和一個單獨的 EXT4 分區上的 Linux。(注意:這不是我的想法,我不能偏離這些條件,否則我會做一些更直接的事情。)

我做了什麼

  1. 啟動了一張 live CD 並完成了通常的安裝順序
  2. 當我開始分區時,創建了一個 512MB EFI 分區並使其可啟動
  3. 將 Ubuntu 設置為/在 EXT4 文件系統上使用一個帶有掛載點的分區
  4. 正常安裝
  5. 將 USB 驅動器移至另一台電腦,嘗試啟動

結果

在此處輸入圖像描述

您點擊EFI USB Device,螢幕短暫閃爍黑色,然後立即返回同一螢幕。但是,如果我在最初安裝的電腦上啟動 USB 驅動器 - 它可以工作。

我的診斷

我對 EFI 引導過程的理解是在這個階段該選項應該指向 grub.efi 文件,此時 grub 應該啟動然後接管引導序列。

看起來 grub 沒有根據我所看到的開始?如果是這樣,我不明白為什麼沒有。我的理解是,這裡發生的是系統韌體掃描所有儲存介質以查找可行的 EFI 分區。這個被填充的事實告訴我,它一定是在 USB 上正確找到了這個,但是這裡 EFI 分區中的東西不起作用。我查看了 EFI 分區,令我感到奇怪的是,有一個名為 EFI 的文件夾,其中一個文件夾具有我的系統名稱,然後是一個名為 grubx64.efi 的文件。裡面應該有更多嗎?

當您嘗試啟動 EFI 可移動驅動器時,韌體會在/EFI/BOOT/BOOTX64.EFI(或/EFI/BOOT/BOOTIA32.EFI如果系統是 32 位)查找執行檔。如果系統是可移動的,這是引導載入程序應該存在的通常位置。

Ubuntu 安裝預計驅動器將是不可移動的,因此將 GRUB 安裝到 /EFI 下的其他位置。這通常不是問題,因為它還會創建一個包含 GRUB 位置的 EFI 引導條目。但是,引導條目是特定於機器的,因此如果您移動驅動器,另一台電腦將無法找到 GRUB。

解決方案是引導到安裝它的原始機器上的系統(它仍應包含所需的引導條目)。如果不可能,另一種方法是從其他 Linux 機器 chroot 進入您的 Ubuntu。然後,您可以grub-install使用該--removable標誌執行以將 GRUB 安裝到可移動引導載入程序路徑之一。

引用自:https://unix.stackexchange.com/questions/698897