答案1
64 位客户操作系统的虚拟化支持不依赖于英特尔的 VT-d 技术。VT-x 本身就足以满足 64 位客户操作系统的要求。
Intel 的 VT-d 用于 I/O 直通(也称为 PCI 直通)。
I/O MMU 虚拟化(AMD-Vi 和 Intel VT-d):
输入/输出内存管理单元 (IOMMU) 允许客户虚拟机通过 DMA 和中断重映射直接使用外围设备,例如以太网、加速显卡和硬盘控制器。这有时称为 PCI 直通
另请参阅 David Ott 的文章软件.intel.com:
在撰写本文时,VT-d 包括四个关键功能
I/O 设备分配。此功能允许管理员以任何所需的配置将 I/O 设备分配给虚拟机。
DMA 重映射。支持设备 DMA 数据传输的地址转换。
中断重映射。提供虚拟机路由和设备中断隔离。
可靠性特性。报告并记录系统软件 DMA 和中断错误,否则这些错误可能会损坏内存或影响虚拟机隔离。
请注意,VT-d 不依赖于 VT-x。也就是说,启用 VT-x 的系统可以在没有 VT-d 的情况下运行,或者在未启用或配置 VT-d 的情况下运行。您只是错过了该功能的好处。很多人都问过这一点。
这里还有一篇参考资料,特别提到 VT-d 与虚拟机中的 64 位客户机功能无关。摘自 Virtualbox 论坛的 Canonical 帖子“我有一个 64 位主机,但无法安装 64 位客户机”:
通常,您需要在主机 PC BIOS 中启用 VT-x/AMD-v。您需要查阅 PC 手册或支持论坛,以了解如何启动到 BIOS 屏幕。VirtualBox 论坛可能无法为您提供帮助。到达那里后,您需要在菜单中寻找隐藏的内容,可能是在安全类别中。该选项可能被称为“启用虚拟化技术”。如果您看到“虚拟定向 I/O”(VT-d/AMD-Vi),那么那是另一回事。请记住在进行并保存 BIOS 更改后关闭主机电源并循环 - 在这种情况下,需要从关闭电源完全重启,仅重新启动或从休眠状态恢复可能无法完成这项工作。