无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 11137|回复: 17
打印 上一主题 下一主题

[讨论] grub2 通过secure boot签名的办法

[复制链接]
跳转到指定楼层
1#
发表于 2016-5-13 11:05:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Ubuntu也是grub2,能够通过签名认证。
那么,如果直接提取这个grub用作引导,是否可以解决grub2无法通过签名认证的问题?
本机可以通过修改ubuntu的启动菜单引导其他系统,不知移动到其他电脑是否通用。
推荐
发表于 2016-5-13 19:46:00 | 只看该作者
大多数的PC只对win8 win10的已签名引导文件预置认证。
有些机器可以提供自己导入认证公钥或许可已签名的引导文件。
回复

使用道具 举报

3#
发表于 2016-5-13 11:32:09 | 只看该作者
这东西不可以吧
回复

使用道具 举报

4#
发表于 2016-5-13 12:10:18 来自手机 | 只看该作者
谷歌安卓86群也在研究这个问题
回复

使用道具 举报

5#
发表于 2016-5-13 13:07:49 | 只看该作者
本帖最后由 hxwgz 于 2016-5-13 13:13 编辑

理论上可以.
主要问题在于PC的EFI是否预置了验证的公钥.
回复

使用道具 举报

6#
发表于 2016-5-13 17:00:07 | 只看该作者
grub2也只能在预装了UBUNTU的密钥的电脑上通过SECUREBOOT
回复

使用道具 举报

7#
 楼主| 发表于 2016-5-13 18:41:36 | 只看该作者
楼上二位的意思,是说这个密石是安装在某个不可知的地方?
我理解签名验证仅仅是验证grub2.efi文件的数字签名。ubuntu的grub如果已经签名,就可以拷贝到其他电脑。
如果还有个密石保存在不可知的地方,那就是说拷贝出这个grub也没用,那就只能提取ubuntu的安装文件,再做一次不完全(比如只安装grub)安装了。
回复

使用道具 举报

8#
 楼主| 发表于 2016-5-13 18:47:48 | 只看该作者
我想起来,好像bios里面有保存类似的key-pairs,难道是说有的电脑没有ubuntu的密石,就算安装ubuntu也无法secure boot ?这样的话垄断意图就太过明显了。
回复

使用道具 举报

9#
 楼主| 发表于 2016-5-13 20:10:09 | 只看该作者
原来如此。我的可以直接通过ubuntu的签名认证。
回复

使用道具 举报

10#
发表于 2016-5-14 07:37:38 来自手机 | 只看该作者
用乌班图现成的就应该可以。

Screenshot_2016-05-14-07-26-11.png (42.25 KB, 下载次数: 138)

Screenshot_2016-05-14-07-26-11.png
回复

使用道具 举报

11#
发表于 2016-5-14 14:56:16 | 只看该作者
回头试一试
回复

使用道具 举报

12#
发表于 2016-5-15 13:27:43 | 只看该作者
可以通过签名认证。
签名的记录是附加在efi文件上的,不是保存在系统中的。
已经签名的文件叫做 grub-efi-amd64-signed 直接解压得到efi文件,就可以放在移动硬盘中使用。
(以前的签名文件是shimx64.efi)
回复

使用道具 举报

13#
发表于 2016-5-15 16:02:32 来自手机 | 只看该作者
刚刚测试了,自己定制不明智,还是用现成的,签过名的引导不会被win的引导排后,BIOS也会主动添加,背景也会自动全屏,自己定制的2.02b3不会被排后,但不能全屏显示背景,也不能主动添加,必须手动设置。
回复

使用道具 举报

14#
发表于 2016-5-19 09:26:48 来自手机 | 只看该作者
最新版的乌班图是什么版本的grub2?
回复

使用道具 举报

15#
发表于 2018-6-8 18:59:58 | 只看该作者

大神,你那个定制包要怎么给efi签名
回复

使用道具 举报

16#
发表于 2018-6-10 12:10:10 | 只看该作者
wintoflash 发表于 2018-6-9 09:16
在Linux下,安装sbsigntool

谢谢大神!!!,然后就将那定制的efi放到那个secure boot 目录,运行那个sh对吗
回复

使用道具 举报

17#
发表于 2018-6-16 23:52:56 | 只看该作者
wintoflash 发表于 2018-6-10 12:37
gencrt.sh是用openssl生成证书的示例脚本。你需要先创建自己的证书,然后再用sbsign签名。
windows下应 ...

大神,我在用keytool更换PK.auth的时候,提示Failed to update variable:(26)Security Violation,加KEK、DB的时候也是,删除了自带的PK KEK DB还是这样,有解吗?
回复

使用道具 举报

18#
发表于 2018-6-24 23:45:54 | 只看该作者
本帖最后由 newswan 于 2018-6-24 23:47 编辑

只要能从uefi拿到公钥,

grub-install grub-mkimage ... 有参数:

-k, --pubkey=FILE          embed FILE as public key for signature checking
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 06:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表