我在 MacBookAir6,2 上运行 Ubuntu 16.04酷睿i7-4650UCPU 并尝试启用 VT-d/IOMMU,以便我可以将硬件直通到虚拟机 (QEMU/KVM)。根据 CPU 规格,支持 VT-d。
因此我intel_iommu=on
按照指示添加了 GRUB 配置这里。这导致启动失败,并显示如下消息:
DMAR: DRHD: handling fault status reg 2
DMAR: DMAR:[DMA Write] Request device [04:00.1] fault addr fffe00
建议对此进行可能的修复这里:替换intel_iommu=on
为intel_iommu=pt
。这修复了主机启动过程,但是,尝试启动添加了 PCI 设备的 KVM 计算机仍然会导致“启动域时出错:不支持的配置:主机不支持主机 PCI 设备的直通“。
进一步谷歌搜索导致的 DMAR 错误导致intel_iommu=on
怀疑硬件作为一个整体可能实际上不支持 VT-d,即使 CPU 本身支持。我发现这一页告诉哪些英特尔芯片组支持VT-d,但我找不到我的MacBook有什么芯片组(如果有的话)。这个答案暗示在我的情况下 VT-d 将完全由 CPU 提供,但仍然需要方法才能确定。
那么,在尝试在 Ubuntu 中启用/排除故障之前,如何确定 MacBook Air 是否支持 VT-d?
更新
我刚刚确认 VT-d 可以在我的 MacBook Air 上运行。PCI 直通可以在 CentOS 7 上运行intel_iommu=on
;尽管出现了与 Ubuntu 相同的启动错误,但系统启动正常。