1

背景

Ubuntu 21.10 可以通过安全启动加载到我的电脑上,shim 版本是 15.4。然后参考官方教程,我在 Ubuntu 21.10 中通过 PPA 安装了 rEFInd v0.13.2(我发这篇博客时的最新版本)。但是,当我重新启动系统并加载 rEFInd 时,它总是失败并显示消息Verification failed:(0x1A)Security Violation。我确定两者refind_local.cer都已通过注册refind.cer(尽管仅需要通过 PPA 安装)。EFI/refind/keys/MokManagerrefind_local.cer

4

1 回答 1

1

原因

这篇文章中,我了解到 rEFInd 目前(v0.13.2)缺少该.sbat部分。对于 shim 15.3 及更高版本,SBAT是强制性的,导致无法启动 rEFInd。

该帖子还表明rEFInd的作者目前正在研究如何解决相关问题。我希望以后的版本可以解决这个问题。

解决方案

总而言之,您需要使用 shim 15 来解决这个问题。为此,您可以执行以下步骤(适用于amd64。如果您在其他架构上,步骤也类似):

  1. 从Ubuntu 启动板获取 MokManager 和 Microsoft 签名的 shim efi 文件。为此,请下载shim_15+1552672080.a4a1fbe-0ubuntu2_amd64.debshim-signed_1.45+15+1552672080-064ubuntub_bed64.deb
  2. 解压下载的shim_15+1552672080.a4a1fbe-0ubuntu2_amd64.deb,取出mmx64.efi文件。( data.tar.xz-> .-> usr/lib/shim/mmx64.efi)
  3. 解压下载的shim-signed_1.45+15+1552672080.a4a1fbe-0ubuntu2_amd64.deb,取出shimx64.efi.dualsigned文件。( data.tar.xz-> .-> usr/lib/shim/shimx64.efi.dualsigned) 将其重命名为shimx64.efi.
  4. 去下载refind-bin-0.13.2.zip。然后新建一个文件夹,把取出来的两个文件和下载的zip文件一起放到新文件夹中。
  5. 在上述文件夹中打开终端,然后执行以下命令:
unzip refind-bin-0.13.2.zip
cd refind-bin-0.13.2
sudo ./refind-install --shim ../shimx64.efi

如果在安装过程中遇到任何确认,直接输入y确认即可。

  1. 重启后,如果提示Verification failed,请参考官方教程的步骤9 。选择 Enroll key from disk,然后选择安装 rEFInd 的 ESP 磁盘。最后,选择EFI/refind/keys/refind.cer要导入的路径文件。
  2. 如果您的计算机上使用的是非 Ubuntu Linux 系统,您可以继续EFI/refind/keys如上导入与您的发行版对应的 cer 文件。否则可能会导致您的 Linux 发行版无法通过 rEFInd 启动。
于 2021-10-27T15:28:18.417 回答