Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[issue]: Failed to secure boot #1024

Closed
1 task done
Sciroccogti opened this issue Jul 29, 2021 · 11 comments
Closed
1 task done

[issue]: Failed to secure boot #1024

Sciroccogti opened this issue Jul 29, 2021 · 11 comments

Comments

@Sciroccogti
Copy link

Sciroccogti commented Jul 29, 2021

Official FAQ

  • I have checked the official FAQ.

Ventoy Version

1.0.47

What about latest release

Yes. I have tried the latest release, but the bug still exist.

BIOS Mode

UEFI Mode

Partition Style

GPT

Disk Capacity

16GB

Image file checksum (if applicable)

No response


What happened?

  • ThinkPad X13 Yoga Gen2
  • i7-1165G7

使用 Linux 下的 VentoyWeb 烧录的 Ventoy U盘,已选中 安全启动,MBR、GPT格式都尝试了,在 Bios 开启 Secure Boot 开启的情况下都无法进入,回车选中启动项后黑屏一会,又返回启动项选择界面。

关闭 Secure Boot 后没有问题。

@ventoy
Copy link
Owner

ventoy commented Jul 30, 2021

录个屏看一下。

@Sciroccogti
Copy link
Author

thinkpadx13yoga.mp4

黑屏的时候什么也没有显示。

@ventoy
Copy link
Owner

ventoy commented Jul 31, 2021

使用 Linux 下的 VentoyWeb 烧录的 Ventoy U盘
只是这种方式制作的U盘有问题?其他方式(Windows上制作的或者Ventoy2Disk.sh 制作的)没问题?

@Sciroccogti
Copy link
Author

使用 Linux 下的 VentoyWeb 烧录的 Ventoy U盘
只是这种方式制作的U盘有问题?其他方式(Windows上制作的或者Ventoy2Disk.sh 制作的)没问题?

尝试了 Ventoy2Disk.sh ,不论是 MBR 还是 GPT,选中或不选中安全启动-s,四种情况都不行。

@Sciroccogti
Copy link
Author

启用 Bios 中的 Secure Boot 时的设置情况如下

1627700751311

不知道是否与 Key 有关

@ventoy
Copy link
Owner

ventoy commented Jul 31, 2021

看看 Secure Boot Mode以及 Secure Boot Key State 都有哪些选项。 还有下面的 Key Management,看看能不能直接导入。
还有看看BIOS里面有没有EFI Shell,能不能启动进入Shell,然后手动启动Ventoy盘上的BOOTX64.EFI 文件。

@Sciroccogti
Copy link
Author

看看 Secure Boot Mode以及 Secure Boot Key State 都有哪些选项。

1627706849353

还有下面的 Key Management,看看能不能直接导入。

Key Management 有四类项目:

  • Platform Key (PK)
  • Key Exchang Key (KEK)
  • Authorized Signature Database (DB)
  • Forbidden Signature Database (DBX)

后三项可以 enroll key,但是均须键入 SignatureOwner GUID.

1627706849344

还有看看BIOS里面有没有EFI Shell,能不能启动进入Shell,然后手动启动Ventoy盘上的BOOTX64.EFI 文件。

应该是没有

@Sciroccogti
Copy link
Author

在 Key Exchang Key (KEK)、Authorized Signature Database (DB) 中导入了,但依然没有变化。

@feiyax
Copy link

feiyax commented Jan 2, 2022

I am experiencing similar failure on a new HP desktop, and mine's case is due to the dbx blacklisting this specific BOOTX64.EFI file's hash.

I see that the SB hash being dbaf9e056d3d5b38b68553304abc88827ebc00f80cb9c7e197cdbc5822cd316c for this BOOTX64.EFI. (Same hash for this EFI binary in the latest release of "ValdikSS/Super-UEFIinSecureBoot-Disk")

Upon checking the default dbx of my machine, i see the above hash showing up in the blacklist. This could explain why the signature can be verified successfully against KEK and/or DB, but still failing the overall check, since the DBX is at the stage after the signature verification as in simply checks again the EFI binary part (with no regard to signature)

既然楼主也在用Linux环境,如果环境中有 mokutil 这个工具,可以用它来检查黑名单里是否有这个EFI文件的hash

mokutil --dbx | grep dbaf9e056d3d5b38b68553304abc88827ebc00f80cb9c7e197cdbc5822cd316c

个人猜测,恐怕这些大PC厂商(或者是MSFT)已经盯上了ValdikSS/Super-UEFIinSecureBoot-Disk,于是在针对性的在黑名单它的 BOOTX64.EFI

@Sciroccogti
Copy link
Author

Sciroccogti commented Jan 3, 2022

既然楼主也在用Linux环境,如果环境中有 mokutil 这个工具,可以用它来检查黑名单里是否有这个EFI文件的hash

mokutil --dbx | grep dbaf9e056d3d5b38b68553304abc88827ebc00f80cb9c7e197cdbc5822cd316c

确实有,而且甚至有 Debian 和 Canonical 的签名,之前不明白 DBX 是黑名单,还以为这表明 Thinkpad 已经优化了 Debian 的安全启动。

删除了你提到的这条 hash 后,确实可以通过安全启动进入 ventoy 了。

Upon checking the default dbx of my machine, i see the above hash showing up in the blacklist. This could explain why the signature can be verified successfully against KEK and/or DB, but still failing the overall check, since the DBX is at the stage after the signature verification as in simply checks again the EFI binary part (with no regard to signature)

感谢,终于明白了 KEK、DB 和 DBX 的含义了。

@Sciroccogti
Copy link
Author

Solved by deleting the hash dbaf9e056d3d5b38b68553304abc88827ebc00f80cb9c7e197cdbc5822cd316c in DBX of the BIOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants