VirtualBox 支持 PCI 直通,我正尝试将我的显卡连接到客户操作系统(主机是 Windows Server 2012,客户机是 Windows 8.1 Professional - 因此它们都应该使用相同的驱动程序)。我已按照以下说明操作http://howtoware.blogspot.com/2012/01/oracle-vm-virtualbox-how-to-use-pci.html(与 VirtualBox 手册中的说明相同)进行设置。问题出现在这一步:
VBoxManage modifiedvm “虚拟机名称” --pciattach 02:00.0@01:05.0
此命令将主机中 [PCI Bus 2, Device 0, Function 0] 处的设备附加到客户机中的 [PCI Bus 1, Device 5, Function 0] 处。我应该使用什么目标(客户机)地址(PCI 总线、设备、功能)将显示适配器从主机连接到客户机?我尝试了许多不同的地址,但 VirtualBox 报告以下错误:
如果我连接到客户机上不存在的设备地址,则会收到此错误:
Failed to open a session for the virtual machine WIN8A. A virtual device is configured in the VM settings but the device implementation is missing. A possible reason for this error is a missing extension pack. Note that as of VirtualBox 4.0, certain features (for example USB 2.0 support and remote desktop) are only available from an 'extension pack' which must be downloaded and installed separately (VERR_PDM_DEVICE_NOT_FOUND). Result Code: E_FAIL (0x80004005) Component: Console Interface: IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}
我已确保已安装适合我的 VirtualBox 版本 (4.2.xxx) 的 VirtualBox 扩展。
如果我将其附加到客户机上确实存在的设备地址,我会出现此错误(看起来有人忘记阅读错误定义中的注释>_>):
Failed to open a session for the virtual machine WIN8A. General failure - DON'T USE THIS!!!. (VERR_GENERAL_FAILURE). Result Code: E_FAIL (0x80004005) Component: Console Interface: IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}
在执行这两项操作时,虚拟机都已关闭,并且我已经尝试使用装有 Windows 8 的全新虚拟机执行此操作(即使是全新的机器,虚拟机也无法启动)。
我搜索过这个异常,但没有任何结果。也许有 VirtualBox 专家可以解答?谢谢。
答案1
根据手册,这仅在 Linux 主机上受支持:
http://www.virtualbox.org/manual/ch09.html#pcipassthrough
[编辑 - 我也与 VBox 开发团队确认过。此功能不受支持(即使在 Linux 上也仍处于试验阶段)]