WeHack BBS
关于 Boot Guard 检测方法的一些问题 - 可打印的版本

+- WeHack BBS (https://bbs.wehack.space)
+-- 版块: 计算机技术 (https://bbs.wehack.space/forum-5.html)
+--- 版块: 固件技术讨论区 (https://bbs.wehack.space/forum-8.html)
+--- 主题: 关于 Boot Guard 检测方法的一些问题 (/thread-136.html)



关于 Boot Guard 检测方法的一些问题 - vimacs - 03-15-2020

为了找一台可以移植 coreboot 的 Haswell 及之后 Intel Core 处理器笔记本电脑,需要先检测有没有 Boot Guard.

coreboot 社区以前收录了 intelmetool,它的 Boot Guard 检测是查看一个 CPU MSR 的值,但是这个方法恐怕不准确,有的没有 Boot Guard 的机器也被认为有。

另一个是 win-raid.com 论坛提供的 MEInfo 工具,它有各个 32/64 位 Windows 和 GNU/Linux 操作系统的版本,还有 DOS 版和 EFI 版。我看了下 Skylake 版本的检测工具,它的 GNU/Linux 版本的二进制居然没有去除符号,可以看到里面各个函数的名字。再结合 EFI 版本一起逆向,可以发现它是使用 HECI 查看 Secure Boot 的一些策略信息,来获得系统有没有使用 Verified/Measured Boot 这个信息的。并没有在里面看到有 rdmsr 指令的出现。

最后我考虑用 UEFITool NE 来看 flash 里面的固件。我从 laboneinside.com 那里下了不少 ROM,之前听说 Dell Latitude E7240 没有 Boot Guard,但是用 UEFITool 打开 E7240 的 ROM 之后发现有 Boot Guard,但是 Parser 却给了一个信息:

checkProtectedRanges: old AMI protected range [6F0000h:A65C00h] hash mismatch, opened image may refuse to boot

而 E7440 也是这样。最奇怪的是,用常压 Haswell CPU 的 E6440 也有这个现象,说明 AMI 可能对所有机器的固件都写入了 Boot Guard 的配置,但是不一定有启用。

此外我还看了几个 HP EliteBook 的固件,发现 840 G1 和 840 G2 似乎都没有 Boot Guard,我打算有时间入几个 EliteBook 试一下。


RE: 关于 Boot Guard 检测方法的一些问题 - dalao - 03-16-2020

发现HD4600 DP输出到4k屏有点慢,播放个4k影片CPU就会100%。
然后发现还有魔改的CPU用HD5200的那种听说性能不错,但是有的人说魔改CPU在Thinkpad上没有DP输出 https://comptoxguy0f47.blogspot.com/2019/03/thinkpad-t440pt540p-iris-pro-5200-gpu.html 不知道只有Thinkpad是这样还是其它笔记本也这样,要是能有正常的就好了。


RE: 关于 Boot Guard 检测方法的一些问题 - vimacs - 04-10-2020

昨晚我刷了coreboot到E7240并能启动,事实证明了E7240并没有Verified Boot. MEInfo表明BootGuard的FPF是禁用了的。


RE: 关于 Boot Guard 检测方法的一些问题 - vimacs - 04-14-2020

刚才在 IRC 上讨论,有人提供了一个咖啡湖的包含BootGuard MSR的头文件:
https://github.com/slimbootloader/slimbootloader/blob/master/Silicon/CoffeelakePkg/Include/Register/CpuRegs.h#L22


RE: 关于 Boot Guard 检测方法的一些问题 - vimacs - 10-12-2020

coreboot的intelmetool更新了,改了要检测的MSR位,这次可能就对了。