我已经运行启动修复并尝试通过更改 BIOS 中的启动顺序并禁用 SECURED BOOT 来修复这个问题。
我还进入 EFI 树,从列表中选择并选择 shim 文件,将 shim 文件保存为可信来源。
我用的是 Acer Aspire E-15。我之前在这台机器上安装了 Ubuntu 17.04,但由于 Ubuntu 停止了 17.04 的服务,所以不得不降级。
这是我从启动修复实用程序中提取的 Pastebin: http://paste.ubuntu.com/26455063/
我还从 Boot-Repair 获得了此说明:请不要忘记让您的 BIOS 在 sda1/EFI/ubuntu/shimx64.efi 文件上启动!
我曾尝试研究过这个问题,但我对 Linux 还比较陌生(作为一名开发人员)。我有一个紧迫的截止日期,需要一些帮助。我不想让事情变得更糟。
如果需要更多信息,请告诉我。我目前在从 USB 启动后进入 Ubuntu。请告诉我我应该运行哪些其他诊断信息。我肯定在寻找能够帮助我更好地理解这些问题的工具和信息。
似乎当 BIOS 尝试将进程交给 GRUB 时会发生错误,但就我而言,我不明白该怎么办。
我刚刚运行了这个。
以下是 sudo efibootmgr -v 的输出:
ubuntu@ubuntu:~$ sudo efibootmgr -v
BootCurrent: 0006
Timeout: 0 seconds
BootOrder: 0007,0006,0000,0001,0002,0003,2001,2002,2003
Boot0000* grubx64efi PciRoot(0x0)/Pci(0x17,0x0)/Sata(0,0,0)/HD(1,GPT,c37adb46-d040-4d9f-a35e-762e7eb3a993,0x800,0x100000)/File(\EFI\ubuntu\grubx64.efi)A01 ..
Boot0001* bootx64efi PciRoot(0x0)/Pci(0x17,0x0)/Sata(2,0,0)/HD(1,GPT,5010c24e-500a-4a49-ac3e-11ff0465388f,0x800,0x100000)/File(\EFI\Boot\bootx64.efi)A01 ..
Boot0002* mmx64efi PciRoot(0x0)/Pci(0x17,0x0)/Sata(2,0,0)/HD(1,GPT,5010c24e-500a-4a49-ac3e-11ff0465388f,0x800,0x100000)/File(\EFI\ubuntu\mmx64.efi)A01 ).
Boot0003* yes PciRoot(0x0)/Pci(0x17,0x0)/Sata(2,0,0)/HD(1,GPT,5010c24e-500a-4a49-ac3e-11ff0465388f,0x800,0x100000)/File(\EFI\ubuntu\grubx64.efi)A01 9.
Boot0004* Unknown Device: HD(1,GPT,f12cbd92-6d5a-4510-9fce-b0b44bd5f83c,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)RC
Boot0005* Unknown Device: HD(1,GPT,e81fed6b-c3d1-4ea4-ae38-83bfe129b045,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)RC
Boot0006* Linux HD(1,MBR,0x21,0x2de0dc,0x1240)/File(\EFI\Boot\grubx64.efi)RC
Boot0007* ubuntu HD(1,GPT,f12cbd92-6d5a-4510-9fce-b0b44bd5f83c,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC
答案1
由于您的系统仅允许设备启动,因此必须使用默认媒体路径(/EFI/BOOT/bootx64.efi)
首先让我们清理一些。从您的 LiveCD 启动并使用 efibootmgr 删除启动条目 0000 到 0007:
efibootmgr -b 0000 -B
您必须一次删除每一个。
接下来,使用 gparted 暂时删除 efi 分区上的 ESP 标志,以便我们可以挂载它。删除 /EFI/BOOT/bootx64.efi 现在,将 /EFI/ubuntu 的内容复制到 /EFI/BOOT。将 shimx64.efi 重命名为 bootx64.efi。卸载 efi 分区并重置 ESP 标志。
重启并进入固件设置。为 bootx64.efi 设置可信执行。现在应该可以启动了。