我发现我可以使用以下代码确定是否启用了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中没有启用它的选项。
答案 0 :(得分:1)
检测对Intel VT-d支持的唯一方法是存在ACPI表“ DMAR”。如果在BIOS中禁用了VT-d,则该表将不存在,并且无法找出是否可以启用该功能。