如何在 Linux 系统启用 UEFI 的 Secure Boot

本文介绍了如何在 Linux 系统中启用 UEFI 的 Secure Boot,包括理解 Secure Boot 的概念、所需工具、预设条件、详细步骤,如建立 PK、KEK、db 密钥对,创建 EFI List 文件,签名文件,以及将签名写入 efivars。通过这个教程,读者可以学会在 ThinkPad 等设备上安全地启用 Secure Boot。
摘要由CSDN通过智能技术生成

如何在 Linux 系统启用 UEFI 的 Secure Boot

概述

Secure Boot 作为 UEFI 的一个选项,它可以被设置为开启或关闭 ( 有少数恶心的计算机里面, Secure Boot 被设置为开启,却不存在关闭它的选项,但系统主板内置有 Windows 系统的公钥证书签名,使其只能加载 Windows ,其他系统一律不以加载,用户没的选,不能关闭,还没法换系统,真的很恶心)。 Secure Boot 所需要的公钥证书被保存在计算机的主板的 FLASH 里面(注意不是磁盘里面哦),在主板的一小块 FLASH 里面保存着 PK , KEK, db, dbx 的证书链,所以, 在操作开始前请确保你的计算机 UEFI-BIOS 的 Secure Boot 能够被关闭,否则,发生操作失误,将导致证书不能匹配任何程序代码文件,而使主板拒绝加载任何程序代码文件,就会导致主板变砖 (虽然它不是 BIOS ,但是许多人都这么称呼它为 UEFI-BIOS ,所以,这里也这么称呼其为 UEFI-BIOS) 。

这里说一下 Fedora 是如何做到在 Secure Boot 开启时加载的,它实际上是 Fedora 开源项目向微软垄断公司购买了私钥来签名达到的, Fedora 被系统的主板识别为和 Windows 一样的东西,这种购买行为在开源社区是不鼓励的,但是 Fedora 几乎可以在任何可以加载 Windows 系统上被加载(我上面写不能换系统,有点苛刻了,实际上,只要微软同意,是可以换系统的,呵呵)

本人只在 ThinkPad 测试成功,其他机器未曾实验过,不过仅从理论来看,应该也会成功。

工具

以下工具是必不可少的:

  • openssl
  • efitools
  • sbsigntools

如果你是第三方编译好的软件包来安装的,可以忽略此步:

在用源代码编译 efitools 时,需要 Perl 的一个模块,名字为 File Slurp,在 cpan 可以找到。

预先准备

开机进入系统的 UEFI-BIOS 页面,在安全页面里找到 Secure Boot 选项,先关掉 Secure Boot (如果没有关的话),再删除或清空所有证书文件,使机器从 User Mode 转到 Setup Mode 即为正常,如果这两步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值