Boot

安裝缺少的 Windows 10 efi 文件 /boot/efi/EFI/Microsoft 後彈出!_OS

  • June 26, 2020

安裝 Pop!_OS 後,我無法啟動到 Windows 10,efibootmgr -v輸出為

BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0005,0006,9999,0000,0001
Boot0000  ubuntu    HD(1,GPT,ab8f019d-3b03-42b0-b780-36e72172e012,0x800,0x3c800)/File(\EFI\ubuntu\shimx64.efi)
Boot0001  Windows Boot Manager  HD(1,GPT,ab8f019d-3b03-42b0-b780-36e72172e012,0x800,0x3c800)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...h................
Boot0005* Pop!_OS 20.04 LTS HD(1,GPT,8aef89ff-532e-40c6-b8c7-9820bd395c44,0x800,0xf9fff)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0006* Solid State Disk  PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,00-25-38-56-91-50-BE-B1)/HD(1,GPT,8aef89ff-532e-40c6-b8c7-9820bd395c44,0x800,0xf9fff)..BO
Boot9999* USB Drive (UEFI)  PciRoot(0x0)/Pci(0x1d,0x0)/USB(16,0)..BO

並且sudo ls -alh /boot/efi/EFI

drwx------ 6 root root 4.0K 6月  26 04:42 .
drwx------ 5 root root 4.0K 1月   1  1970 ..
drwx------ 2 root root 4.0K 6月  26 02:17 BOOT
drwx------ 2 root root 4.0K 6月  26 02:17 Linux
drwx------ 2 root root 4.0K 6月  26 02:17 Pop_OS-95cc6f8e-6c19-4fa1-ad32-6ee13ef0e786
drwx------ 2 root root 4.0K 6月  26 02:17 systemd

不存在,我該Microsoft/Boot/bootmgfw.efi如何解決?謝謝!我嘗試將 windows 複製C:\windows\Boot\EFI\bootmgfw.efi到 linux /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi,但仍然無法啟動。

兩者都沒有子目錄ubuntu/boot/efi/EFI所以很遺憾,您在安裝 Pop!_OS 時可能已經覆蓋了整個磁碟。或者至少,您不小心格式化了 EFI 系統分區,導致您安裝的任何其他作業系統的引導載入程序失去。

Windows 引導載入程序需要許多文件:其中一個BCD是為您的系統量身定制的,因此無法複製,但需要專門為您的系統重新生成。

如果磁碟上仍然存在 Windows 的系統分區,恢復 Windows 引導載入程序的最簡單方法是從 Windows 安裝媒體啟動,選擇“修復電腦”、“疑難解答”,然後選擇“自動修復”。這裡有圖片說明。

之後,您可能會發現 Windows 已將自己設置為預設啟動選項,但這應該可以通過轉到 BIOS 設置並調整啟動順序以使“Pop!_OS 20.04 LTS”再次成為第一個選項來解決。

如果您還安裝了 Ubuntu,您可能還想重新安裝其 GRUB:雖然 Pop!_OS 的 GRUB 可能會自動檢測 Ubuntu 並在其 GRUB 引導菜單中將其作為選項提供,但 Ubuntu 將依賴於 Pop!_OS 的引導載入程序直到你重新安裝它。因此,如果您將來刪除 Pop!_OS,除非您先修復此問題,否則您將無法進入 Ubuntu。

您還可能在將核心和/或 GRUB 更新安裝到 Ubuntu 時遇到一些小問題,因為更新包可能會嘗試更新 GRUB 配置並發現它不再位於預期位置。

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