恢復 EFI 引導分區
我正在三次啟動 Ubuntu、Debian 和 Fedora。當我從 liveCD 安裝 Fedora 時,我很興奮並繼續點擊下一步,沒有意識到我安裝的不是 GPT,而是 LVM。
這樣做後,我無法從硬碟啟動。EFI 菜單甚至沒有將我的硬碟驅動器顯示為啟動選項(儘管它在硬體中檢測到它)。
我目前有一個解決方法,它的工作方式很奇怪,我使用 liveboot USB (Yumi) 並選擇從硬碟驅動器執行 Linux,我可以在我電腦上的發行版之間進行選擇。但是我需要這個 USB 引導到一個發行版。
我不確定如何恢復我的系統。
我的電腦安裝了 Ubuntu,華碩 XC200(上網本)。我打電話給華碩技術支持,他們想重新映像..我不會那麼輕易放棄。
我的
/dev/sda1
(fat32,帶有引導標誌)上有一個EFI
Ubuntu 目錄(假設 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
首先破壞一切的安裝。這些是您需要的東西:
- 類型為ef00的 FAT 格式的 GPT 分區。
- 位於該分區上的 UEFI 兼容系統核心*(例如 linux 核心)*。
- 該系統核心的路徑保存到 UEFI 環境變數*(通常
Boot0000-{UUID}
,但這也取決於 的值BootOrder-{UUID}
)*。嚴格來說,僅此而已。您只需使用命令行工具即可實現上述
gdisk
設置efibootmgr
。務實地說,引導管理器確實有意義——但
grub
它是所有可用管理器中最複雜的。正如其他地方推薦的那樣,rEFInd
可能是最好的。
rEFInd
在此之前,我已經編寫了關於如何分區、格式化和設置啟用 EFI 系統分區的分步教程。這裡也是關於這個主題的另一個答案,您可能會在其中找到關於我在這裡所做的斷言的進一步解釋。