检查主板/ BIOS / UEFI和CPU是否支持VT-D / IOMMU

时间:2018-07-11 22:16:18

标签: linux bash virtual-machine kvm iommu

我发现我可以使用以下代码确定是否启用了VT-D / IOMMU:

if compgen -G "/sys/kernel/iommu_groups/*/devices/*" > /dev/null; then
    echo "AMD's IOMMU / Intel's VT-D is enabled in the BIOS/UEFI."
else
    echo "AMD's IOMMU / Intel's VT-D is not enabled in the BIOS/UEFI"
fi

但是在未启用它的情况下,我一直无法找到一种方法来检查系统是否首先支持该选项。

我知道Intel / AMD已经记录了它们的哪些CPU支持VT-D / IOMMU,但是我想确定整个系统(主板+ UEFI / BIOS + CPU +芯片组)是否将支持此功能,因为例如,笔记本电脑具有支持它的CPU,但是UEFI中没有启用它的选项。

1 个答案:

答案 0 :(得分:1)

检测对Intel VT-d支持的唯一方法是存在ACPI表“ DMAR”。如果在BIOS中禁用了VT-d,则该表将不存在,并且无法找出是否可以启用该功能。