英特尔的可信执行技术 (TXT):是否在 BIOS 中启用?

英特尔的可信执行技术 (TXT):是否在 BIOS 中启用?

我有一个新的戴尔 7530 移动工作站,刚刚开始配置。

这台机器采用英特尔至强 E-2186M并具有 32 GB 的 ECC DRAM。此 CPU 完全支持最新的硬件虚拟化技术 (VT-x、VT-d、EPT)。

由于没有时间切换操作系统,这台机器最初将运行 Windows 10。我真的希望大约一年后有时间投资切换到 Linux,因为我讨厌 Bea$t 新的间谍软件即服务业务模式。在此期间,我肯定会在其上运行 Linux 虚拟机。

我首先要做的就是进入 BIOS 并浏览所有设置。我很高兴看到戴尔的默认设置大部分都很好,只需要进行一些更改。例如,它默认配置为安全启动。

在其虚拟化支持部分,他们默认启用了“英特尔虚拟化技术”(VT-x)和“直接 I/O 的 VT”(VT-d),这也很好。

但是,英特尔的可信执行技术 (TXT) 的第 3 个选项已被禁用。我认为 BIOS 描述是这样的:

此选项指定测量虚拟机监视器 (MVMM) 是否可以利用英特尔可信执行技术提供的额外硬件功能。必须启用 TPM 虚拟化技术和直接 I/O 虚拟化技术才能使用此功能。

可信执行——默认情况下禁用。

我说“认为”是因为7530 BIOS 的戴尔官方文档截至今天,还没有提到该选项。上面的文字是戴尔 Latitude E7470,尽管我记得我的 BIOS 是这么说的。

根据上述描述,再加上英特尔白皮书,这听起来像是我想要启用的东西,因为我肯定会使用 VirtualBox(将来还会使用更强大的东西,如 KVM 或 Xen)。不幸的是,网上搜索没有找到支持该理论的证据。

相反,我发现只有几份报告说要关闭 VirtualBox 和 KVM,尤其是在戴尔系统上:链接1链接2。(我原来的问题在这里放了更多链接,但当我尝试提交时,这个网站声称我的问题是垃圾邮件......)

有人知道确切的答案吗?

我注意到一些链接说不要启用它是几年前的,所以也许它曾经是正确的建议,但现在不再有效了?

答案1

我认为应该启用这个选项。

我已禁用它,我想检查 IOMMU 是否已启用。

当然我之前已经附加intel_iommu=on参数/etc/default/grub并更新了 grub 并重启了系统。

当我发出命令时,我的显卡出现了错误:

dmesg | grep -E (”DMAR | IOMMU”)它给了我两行:

DMAR: IOMMU enabled

DMAR: BIOS has allocated no shadow GTT; disabling IOMMU for graphics.

因此,我的显卡的 IOMMU 被禁用了。然后,我在 BIOS 中将“Intel 可信执行技术”设置为启用,现在命令:

dmesg | grep -E (”DMAR | IOMMU”)产生的输出:

[    0.057735] ACPI: DMAR 0x00000000CA9B0718 0000B8 (v01 INTEL  CP_DALE  00000001 INTL 00000001)

[    0.417895] DMAR: IOMMU enabled

[    0.504475] DMAR: Host address width 36

[    0.504476] DMAR: DRHD base: 0x000000fed90000 flags: 0x0

[    0.504483] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c9008020e30272 ecap 1000

[    0.504484] DMAR: DRHD base: 0x000000fed91000 flags: 0x0*

[    0.504487] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap c0000020230272 ecap 1000

[    0.504488] DMAR: DRHD base: 0x000000fed93000 flags: 0x1

[    0.504493] DMAR: dmar2: reg_base_addr fed93000 ver 1:0 cap c9008020630272 ecap 1000

[    0.504494] DMAR: RMRR base: 0x000000ca971000 end: 0x000000ca985fff

[    0.504496] DMAR: RMRR base: 0x000000cdc00000 end: 0x000000cfffffff

[    1.635058] DMAR: Disabling batched IOTLB flush on Ironlake

[    2.201405] DMAR: No ATSR found

[    2.201519] DMAR: dmar1: Using Register based invalidation

[    2.201541] DMAR: dmar0: Using Register based invalidation

[    2.201568] DMAR: dmar2: Using Register based invalidation
[    2.201599] DMAR: Setting RMRR:

[    2.201821] DMAR: Setting identity map for device 0000:00:02.0 [0xcdc00000 - 0xcfffffff]

[    2.202736] DMAR: Setting identity map for device 0000:00:1a.0 [0xca971000 - 0xca985fff]

[    2.202898] DMAR: Setting identity map for device 0000:00:1d.0 [0xca971000 - 0xca985fff]

[    2.202941] DMAR: Prepare 0-16MiB unity mapping for LPC

[    2.203069] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]

[    2.233832] DMAR: Intel(R) Virtualization Technology for Directed I/O

[   14.362393] [drm] DMAR active, disabling use of stolen memory

我认为现在 IOMMU 处于活动状态。希望这能帮助您做出决定。

相关内容