Nvidia的驱动中对Geforce的显卡做了检查,消费级显卡不允许在虚拟机中运行,只允许专业卡比如P4000进行虚拟化。所以我们将Geforce显卡做了直通的时候,驱动就会自己检查报错停止工作。在Windows虚拟中安装完显卡驱动后会显示驱动异常43#错误,导致显卡无法正常工作。

      要在虚拟机中使用GeForce显卡穿透:

  1. 修改grub.cfg,请注意Legacy和UEFI两种模式文件位置不同。在引导项中加入:
    GRUB_CMDLINE_LINUX="...intel_iommu=on kvm-intel.nested=1 vfio_iommu_type1.allow_unsafe_interrupts=1 iommu=pt video=vesafb:off,efifb:off kvm.ignore_msrs=1 intremap=no_x2apic_optout modprobe.blacklist=nouveau,i2c_smbus pci-stub.ids=10de:1b80,10de:10f0"

    pci-stub.ids= 后面的内容请按显卡实际值修改。

  2. 虚拟机系统必须使用UEFI安装。KVM中目前最佳的解决方案就是使用OVMF,每种发行版安装方式可能略有差异,自行百度即可解决。 
    RedHat 系列可以安装EDK2软件包:
    a. 下载此文件http://www.kraxel.org/repos/firmware.repo并将其拷贝到node主机上的/etc/yum.repo.d/目录下
    b. 执行“yum install -y edk2.git-ovmf-x64
    c. 执行“mv /usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd /usr/share/OVMF/OVMF_VARS_EFI.fd”
     
  3.  修改虚拟机配置文件,增加以下配置:
    <features>
        ...
        <hyperv>
          <vendor_id state='on' value='0123456789ab'/>
        </hyperv>
        <kvm>
          <hidden state='on'/>
        </kvm>
        ...
    </features>
    

      Good Luck!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐