解决启用安全启动的情况下使用shim无法启动rEFInd

背景

笔者电脑中,Ubuntu 21.10 可以通过安全启动引导,shim 版本为 15.4。参考官方教程,随后在 Ubuntu 21.10 中通过 PPA 安装 rEFInd v0.13.2(截止本博客发布时为最新版)。但是重启系统进入 rEFInd,却总是提示 Verification failed:(0x1A)Security Violation,已经确信通过 MokManager 导入了 EFI/refind/keys/ 目录下的 refind_local.cer, refind.cer(即使通过PPA安装应该只需导入refind_local.cer)。

原因

此贴中,得知 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.a4a1fbe-0ubuntu2_amd64.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。随后新建一个文件夹,将刚刚取出的两个文件于下载的文件一并放入。在该文件夹下打开终端。
  5. 随后依次执行下述命令:
unzip refind-bin-0.13.2.zip
cd refind-bin-0.13.2
sudo ./refind-install --shim ../shimx64.efi

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

  1. 之后重启,如果提示Verification failed,参考官方教程的第九步,选择Enroll key from disk,然后选择你安装rEFInd的ESP盘,依次选择路径EFI/refind/keys/refind.cer 导入即可。
  2. 如果你电脑中使用了非Ubuntu的linux系统,还可以同上继续导入EFI/refind/keys中对应其它发行版cer文件,如果不这样做可能会导致系统无法通过rEFInd启动。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值