我有一台运行 Ubuntu 18.04 的 Dell XPS 13。系统将不会启动已签名的 EFI 引导程序grubx64.efi
。系统仅启动shimx64.efi
。
每次更新 grub 包时,它都会触发grub-install
,删除有效的shimx64.efi
启动项,并用损坏的无法启动项替换它grubx64.efi
。
启动时显示的错误信息是:
Failed to open EFI\boot\grubx64.efi - Not found
Failed to load image EFI\boot\grubx64.efi: Not found
start_image() returned Not found
这并不是因为找不到文件,而是因为 Dell EFI 启动不信任该签名;它只信任 shimx64.efi 签名。
我如何才能grub-install
安装正确的引导加载程序?
答案1
我的问题是我已经shim
安装了该软件包,但是不是 shim-signed
。
安装shim-signed
解决了我的问题。
grub-install
现在安装 shimx64.efi 而不是 grubx64.efi。安装该软件包shim
是不够的。
答案2
我在使用 XPS 13 7390、Ubuntu 20.04 LTS 时遇到了这个问题。我停用了安全启动,切换到 AHCI(从 RAID)并在启动时破坏了 Windows,当我能够在实时模式下使用 Ubuntu 时,我收到了您在安装过程中遇到的错误。
对我来说,可行的方法是格式化整个磁盘(确保您之前已备份),并创建一个 500MB 的小分区“EFI 系统分区”作为主分区,如下所示:Ubuntu 18.10 没有 EFI 系统分区选项
剩余的分区可以按照通常的方式组织。最简单的方法是将一个分区 ext4 作为根分区,/
并留有剩余的磁盘空间。就是这样!
更多细节:就我而言,我所做的是在安装过程中第一次选择选项Erase disk and install Ubuntu
,但出现了同样的错误。然后,我看到某处说要选择选项Something else
,然后从那里创建了:
- 如前所述,将 500MB 的小分区“EFI 系统分区”设置为“主分区”(您可能需要删除它然后重新创建它)
- 创建了一个 ext4 分区,以使用所有剩余磁盘空间作为 root /
然后继续安装,令人惊讶的是,它成功了!
对于磁盘分区,Redhat(https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s2-diskpartrecommend-x86) 建议您为 x86、AMD64 和 Intel 64 系统创建以下分区:
A swap partition
A /boot partition
A / partition
A home partition
A /boot/efi partition (EFI System Partition) - only on systems with UEFI firmware
A swap partition (at least 256 MB) — Swap partitions support virtual memory: data is written to a swap partition when there is not enough RAM to store the data your system is processing.