我可以将 VT-D 与 Windows 主机一起用于虚拟机吗?

我可以将 VT-D 与 Windows 主机一起用于虚拟机吗?

我有一个相当强大的游戏系统,我偶尔也会在上面运行虚拟机。它目前运行 Windows 8 和内置的 Hyper V 虚拟机软件,并配有一个 Core i7 3770(与解锁型号不同,它应该支持 VT-D)、一个华硕 P8Z77V 和一个 gforce 660 显卡(也是华硕)。

我认为,如果我可以使用 VT-D,那么我就可以为 VM 添加便宜的专用 3d 卡,以防我想要的不仅仅是“基本功能”。我知道 KVM 和 Xen 在 Linux 上在一定程度上支持这一点,但我可以在 Windows 上这样做吗?如果需要,我愿意切换 VM 软件。

答案1

简短回答 - 不支持,在 Windows 上不支持。在 Windows 中运行的 VM 软件均不支持 VT-d,而且我不确定只要它们继续在 Windows 中运行(而不是在 Windows 及其内部运行的其他所有程序),它们是否支持 VT-d。但是,如果您只关心运行 Windows 和 Linux(两者都可以访问 GPU),那么可以使用支持 VT-d 的虚拟机管理程序(如 XEN、KVM 或 ESX)来实现效果。遗憾的是,虽然 hyper-v 是虚拟机管理程序类型的 VM 软件(如 Xen、KVM 和 ESX),但它不像它们那样支持 VT-d,并且不会将 PCI 设备提供给除 Windows 主安装之外的任何东西。

除此之外,我下面列出的其他问题也会影响您的系统,除非近期发生重大变化。总结一下,并非所有主板都支持 vt-d,廉价的 AMD GPU 比廉价的 NVidia GPU 更容易发送到虚拟机领域。

首先,我强烈建议您告诉我们您的主板型号,因为 VT-d 也必须在芯片组和 BIOS/UEFI 中得到支持,而且并非所有型号都支持,即使它们在技术上具有正确的芯片组和 CPU 组合。华硕没有生产与 VT-d 兼容的主板,华擎和技嘉的大多数 Z77/H77/Q77 主板都支持,尤其是华擎。我还没有调查过 MSI、英特尔或任何其他公司的支持水平。

其次,将 VGA 卡传递给虚拟机似乎比通过更简单的声卡、USB 主机适配器、NIC 或 Sata 适配器(我都这样做过,它们工作正常,没有任何问题)要复杂一些。我只听说过 Xen、KVM 和 ESXi 等虚拟机管理程序可以做到这一点。Hyper-V 不支持 VT-d,因此也不支持 VGA 直通。AMD 显卡的成功率比 NVidia 高得多。我的经验是使用 Xen,从我当时收集到的信息来看,KVM 支持不太成熟,而且我没有尝试 ESX。

我的 Radeon HD 6950s 和 Radeon HD 3750 运行正常,但每个 VM 一次只能运行一个(因此无法实现交火)。另一方面,我的 NVidia GTX 480s 根本无法运行,其他人也发现很难让高端 Quadro 以外的 NVidia 卡运行。步骤包括从具有修改代码的 XEN 源代码特定修订版进行编译、从卡中拉出 GPU bios 并让 XEN 在 VM 启动时从硬盘手动运行它,以及找出 NVidia 卡正在使用的内存范围并强制 VM 使用这些范围,因为它无法自动执行此操作。希望 NVidia 卡变得更容易处理,但我不会为此祈祷。

相关内容