【问题标题】:A solution to rEFInd unable to load using shim when Secure Boot is enabled启用 Secure Boot 时 rEFInd 无法使用 shim 加载的解决方案
【发布时间】:2021-12-12 21:49:12
【问题描述】:

背景

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

【问题讨论】:

    标签: linux shim refind


    【解决方案1】:

    原因

    this post,我得到了 rEFInd 当前(v0.13.2)缺少.sbat 部分。对于 shim 15.3 及更高版本,SBAT 是强制的,导致无法启动 rEFInd。

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

    解决方案

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

    1. Ubuntu launchpad获取MokManager和微软签名的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,参考官方tutorial的步骤9。选择Enroll key from disk,然后选择安装rEFInd的ESP盘。最后选择路径EFI/refind/keys/refind.cer的文件进行导入。
    2. 如果您的计算机上使用的是非Ubuntu Linux系统,您可以如上继续在EFI/refind/keys中导入您的发行版对应的cer文件。否则可能会导致您的 Linux 发行版无法通过 rEFInd 启动。

    【讨论】:

      猜你喜欢
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 2021-05-29
      • 2014-08-30
      相关资源
      最近更新 更多