Uefi

恢復 EFI 引導分區

  • April 2, 2017

我正在三次啟動 Ubuntu、Debian 和 Fedora。當我從 liveCD 安裝 Fedora 時,我很興奮並繼續點擊下一步,沒有意識到我安裝的不是 GPT,而是 LVM。

這樣做後,我無法從硬碟啟動。EFI 菜單甚至沒有將我的硬碟驅動器顯示為啟動選項(儘管它在硬體中檢測到它)。

我目前有一個解決方法,它的工作方式很奇怪,我使用 liveboot USB (Yumi) 並選擇從硬碟驅動器執行 Linux,我可以在我電腦上的發行版之間進行選擇。但是我需要這個 USB 引導到一個發行版。

我不確定如何恢復我的系統。

我的電腦安裝了 Ubuntu,華碩 XC200(上網本)。我打電話給華碩技術支持,他們想重新映像..我不會那麼輕易放棄。

我的/dev/sda1(fat32,帶有引導標誌)上有一個EFIUbuntu 目錄(假設 Ubuntu 正在載入 GRUB> 鍊式載入 Debian)。

我該如何開始解決這個問題?人們需要什麼資訊?

(我沒有 CD/DVD 播放器)

注意efibootmgr

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

當我跑步modprobe時,efivars 什麼都沒有。


更新/到目前為止我嘗試過的事情:


我目前嘗試了 [ 1 ]、[ 2 ] 下面發布的答案,很好的研究,在大多數情況下,我相信它們會起作用。然而,在我的情況下,他們沒有。

目前工具

磁碟——

  • 使用 Kali 失去了額外的快閃記憶體驅動器
  • & 德比安
  • & Ubuntu 14.04
  • Ubuntu 12.04 仍然有 Yumi。

最近採取的步驟(在以下答案之後):

  • 跑現場 Ubuntu
  • 擦除/dev/sda除胖分區 (GPT/ESP)
  • 嘗試安裝 Ubuntu,我的 GPT 分區上的 grub 和 EFI 沒有問題
  • 以防fsck萬一(罰款)
  • 使用 parted/gparted 擦除所有分區,然後製作 GPT 和其他分區(在 ESP 上設置引導標誌)
  • 再次嘗試安裝(沒有工作同樣的錯誤)
  • 分區看起來很有趣,(缺少空格)… 抓頭
  • 擦除分區/為 LiveUSB 製作分區到硬碟
  • 用於dd將 LiveUSB 寫入/dev/sda4(相信這是數字)
  • 這已啟動,但需要我的 USB 就位,所以沒用
  • 嘗試使用gfdisk,讓我重新啟動失去的會話
  • 拆分我的 LiveUSB
  • 下載 Arch .iso,並dd’d 到第二個 USB 分區 (LiveUSB)
  • 保持 Ubuntu LiveUSB 會話啟動,完成部分安裝(在實時會話中直到 Arch 的 chroot)
  • 工作正常有問題
  • Ran Arch Live,完成安裝(分區的切換和初始創建比在 parted/gparted 上工作得更好)
  • 使用說明syslinux(來自 Arch 安裝指南)
  • 基本上將我所有的 efi 重寫為全新的
  • 在 Arch 上執行良好
  • 不確定是否/如何回答我自己的問題

完全忘記grub——這只不過是一種分心。它甚至不再是引導載入程序了。在 EFI 系統上,引導載入程序內置於韌體中。grub在這種情況下,它只是一個引導管理器——而且幾乎肯定是完全多餘的。更重要的是 - 它可能是grub首先破壞一切的安裝。

這些是您需要的東西:

  1. 類型為ef00的 FAT 格式的 GPT 分區。
  2. 位於該分區上的 UEFI 兼容系統核心*(例如 linux 核心)*。
  3. 該系統核心的路徑保存到 UEFI 環境變數*(通常Boot0000-{UUID},但這也取決於 的值BootOrder-{UUID})*。

嚴格來說,僅此而已。您只需使用命令行工具即可實現上述gdisk設置efibootmgr

務實地說,引導管理器確實有意義——但grub它是所有可用管理器中最複雜的。正如其他地方推薦的那樣,rEFInd可能是最好的。

rEFInd在此之前,我已經編寫了關於如何分區、格式化和設置啟用 EFI 系統分區的分步教程這裡也是關於這個主題的另一個答案,您可能會在其中找到關於我在這裡所做的斷言的進一步解釋。

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