5
在内核中启用IOMMU以实现图形卡传递
简短问题: 如何intel_iommu在Linux内核中打开设置?我使用grub2引导程序运行Debian主机。我见过的文档说编辑/boot/grub/menu.lst,似乎只与grub 1.x相关,因为我没有该文件。 据我了解(也是我能想到的最后一个选项),更改此启动选项可能会消除以下错误消息: /var/log/kern.log vboxpci: No IOMMU domain (attach) 长问题: 使访客操作系统直接访问图形卡 我最近意识到,可以将PCI Express设备传递给Virtualbox中运行的来宾OS。酷,我想!我有两块NVIDIA Quadro FX图形卡(具有SLI桥接器连接,希望不会引起麻烦),并且希望将第二张图形卡专用于来宾OS,以便可以在其中使用OpenGL功能。 Photoshop等。 NVIDIA销售这种“ SLI Multi-OS ”配置,这基本上是我多年来一直想要设置的配置,但是我不想花太多时间在虚拟化软件(Parallels极限工作站)上。使用VirtualBox已有很多年了。 主机系统 我正在相当高端的工作站设备(具有Intel ICH10R芯片组和Xeon W3680 CPU的Asus P6T7 WS超级计算机主板)上从Debian存储库中运行linux-3.5.0-19,并希望在内核中打开IOMMU支持。 ,最好不必自己编译。 的BIOS 在BIOS设置中,启用了VT-x和VT-d支持。不过,我看不到任何特别提及IOMMU的内容。 连接PCI设备 这真是令人惊讶的简单!官方的VirtualBox文档在这里。我发现不那么模棱两可的是,打开了nvidia-settings,选择了辅助图形卡并记下了总线ID(在我的情况下为“ PCI:5:0:0”)。然后,从主机的命令行: VBoxManage modifyvm "Windows Guest" --pciattach 05:00.0 (当我第一次运行此程序时,出现了一个错误,因为VirtualBox在模拟PIIX芯片组;它说PCI直通仅适用于ICH9芯片组。因此,我在VirtualBox VM System设置中将芯片组更改为ICH9,并打开了guest虚拟机。以安装必要的新驱动程序。稍后重新启动,一切正常,因此我关闭了来宾,然后重新运行命令。) 没有输出,我几乎立即返回到命令行。 从来宾使用主机GPU 在打开guest虚拟机之前,我首先通过virtualbox-dkms重新启动了主机,以防内核中发生未记录的事件。当我在没有sudo特权的情况下运行上一个命令时,我怀疑是否进行了任何更改。 当我下一次启动客户机时,Windows Update开始执行它的工作,并自动检测并安装了正确的NVIDIA驱动程序。到目前为止一切都很好。不过,在使用设备之前,我必须重新启动访客。 问题 现在,图形卡驱动程序已安装在客户机上,并且已连接PCI设备,现在我无法进入Windows桌面了。我进入Windows登录屏幕,然后登录后,屏幕冻结,只说“ …