关注分享主机优惠活动
国内外VPS云服务器

kvm显卡向win10虚拟机透明传输的方法

环境中安装了Nvidia图形驱动操作系统:CentOS Linux 7 . 9 . 2009版(核心)内核:Linux 5 . 4 . 135-1 . El 7 . El repo . x86 _ 64显卡型号:RTX600KVM版本:virsh版本针对库编译:libvirt4.5.0使用库:lib virt 4.5.0使用API : QEMU 4.5.0运行hypervisor: QEMU 1.5.3

解除GPU设备1的绑定。配置GRUB_CMDLINE_LINUX(实测有效),查询设备解除绑定,记录设备id号。

Lspci-nn | grenvidia | grepva或lspci-nn | grenvidiakvm显卡向win10虚拟机透明传输的方法-主机频道

2.修改/etc/default/grub文件的GRUB_CMDLINE_LINUX

Vi /etc/default/grub以下是内容,有新的GRUB_CMDLINE_LINUX行:Intel _ io MMU = on PCI -stub . ids = 10de:1e 30 " GRUB _ time out = 5 GRUB _ distributor = " $(sed的,release。* $,,g '/etc/system -release)" GRUB _ DEFAULT = savedGRUB _ DISABLE _ SUBMENU = true GRUB _ TERMINAL _ OUTPUT = " console " GRUB _ CMDLINE _ LINUX = " Intel _ io MMU = on crash kernel = auto spectre _ v2 = ret poline rhgb Quiet black list = nouveau PCI -stub . ids = 10de:1e 30 " GRUB _ DISABLE _ recovery = " true " 3 .更新grub2 conf并执行以下命令

grub 2-mkconfig -o/boot/grub 2/grub . CFG 4 .重新启动系统

重新启动以验证和查看nvidia显卡

1.执行nvidia-smi,看不到显卡,证明显卡已经解除绑定。

# NVIDIA -SMI NVIDIA -SMI失败,因为它无法与NVIDIA驱动程序通信。确保安装并运行最新的NVIDIA驱动程序。2.验证内核是否支持iommu。

Cat /proc/cmdline | grep iommu结果输出:intel_iommu=onkvm显卡向win10虚拟机透明传输的方法-主机频道

3.验证VT-D是否已启用。

dmesg |grep -e DMAR -e IOMMUkvm显卡向win10虚拟机透明传输的方法-主机频道

安装win10虚拟机

QEMU -img create -f qco w2/home/KVM -machines/shayan . qco w2 200 gvirt -install --name邵岩--ram 4096 --vcpu = 8 --os-type = windows --accelerate --cdrom =/home/KVM _ images/Win 10 . iso --disk path =/home/KVM -machines/shayan . qco w2,format = qcow2,bus = ide -

Yum+y groups安装' gnome desktop ' virt -manager virt -viewer dejavu -LG C-sans -fonts显卡加载vfio驱动程序1。显卡加载vfio驱动程序

探头vfiomodprobe vfio-PCI 2。从服务器上卸载4个1显卡的设备

虚拟节点de v-DetachPCI _ 0000 _ B1 _ 00 _ 0虚拟节点de v-DetachPCI _ 0000 _ B1 _ 00 _ 1虚拟节点de v-DetachPCI _ 0000 _ B1 _ 00 _ 2虚拟节点Dev-DetachPCI _ 0000 _ B1 _ 00 _ 33

# lspci -vv -s b1:00.0 | grep驱动程序正在使用的内核驱动程序:vfio-pci

3.检查显卡

kvm显卡向win10虚拟机透明传输的方法-主机频道

安装视频卡驱动程序1。要安装显卡驱动,需要修改虚拟机win10的配置文件。否则安装时显卡驱动自检会报错误码43,驱动不允许安装在虚拟机上。

# edit VM XMLvirsh edit邵岩#修改第一行< domain type = ' kvm ' & gt# is < domain type = ' KVM ' xmlns:QEMU = ' http://lib virt . org/schemas/domain/QEMU/1.0 ' & gt;# Found 节点,添加内容

# cat/etc/lib virt/QEMU/shaoyan . XML & lt;!--警告:这是auto -生成的文件。对它的更改可能会被覆盖并丢失。应该使用virsh edit shaoyanor或其他使用libvirt API.-->的应用程序对xml配置进行更改。& lt域类型= ' kvm ' & gt& lt名称& gt邵岩&lt/name & gt;& ltuuid & gte 06 c 6 C3 b -0a 57-43e 8-9d6f -02 FD 1e 2 aad 83 & lt;/uuid & gt;& lttitle & gtgpu & lt/title & gt;& lt描述& gtgpu & lt/description & gt;& lt记忆单元= ' KiB ' & gt;16777216 & lt/memory & gt;& lt当前存储单元= ' KiB ' & gt;16777216 & lt/current memory & gt;& ltvcpu位置='static'&gt。16 & lt/vcpu & gt;& ltos & gt& lttype arch = ' x86 _ 64 ' machine = ' pc-i440 FX -rhel 7 . 0 . 0 ' & gt;hvm & lt/type & gt;& ltboot dev = ' HD '/& gt;& lt/OS & gt;& lt功能& gt& ltacpi/>;& ltapic/>& lthyperv & gt& lt松弛状态= ' on '/& gt;& ltvapic state = ' on '/& gt;& lt自旋锁状态='on '重试次数= ' 8191 '/& gt;& lt/hyper v & gt;& lt/功能& gt& ltCPU mode = ' host -pass through ' check = ' none '/& gt;& lt时钟偏移= ' localtime ' & gt& lttimer name = ' RTC ' tick policy = ' catch up '/& gt。& lttimer name = ' pit ' tick policy = ' delay '/& gt;& lttimer name = ' hpet ' present = ' no '/& gt;& lttimer name = ' hyper clock ' present = ' yes '/& gt;& lt/clock & gt;& lton _ poweroff & gt销毁& lt/on _ power off & gt;& lton _ reboot & gt重新启动& lt/on _ reboot & gt;& lton _ crash & gt销毁& lt/on _ crash & gt;& ltpm & gt& ltsuspend -to -mem enabled = ' no '/& gt;& ltsuspend -to -磁盘启用= ' no '/& gt;& lt/pm & gt;& lt设备& gt& lt模拟器& gt/usr/bin/QEMU -KVM & lt;/emulator & gt;& lt磁盘类型= '文件'设备= '磁盘' & gt& lt驱动程序名称='qemu '类型= ' qco w2 '/& gt;& lt源文件= '/data/KVM/shaoyan . qco w2 '/& gt;& lttarget dev = ' hda ' bus = ' ide '/& gt;& lt地址类型='drive '控制器='0 '总线='0 '目标='0 '单元= ' 0 '/& gt;& lt/disk & gt;& lt控制器类型='usb '索引='0 '型号= ' ich 9-ehci 1 ' & gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x04 '功能= ' 0x 7 '/& gt;& lt/controller & gt;& lt控制器类型='usb '索引='0 '型号= ' ich 9-uhci 1 ' & gt;& lt主start port = ' 0 '/& gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x04 '功能='0x0 '多功能= '开'/& gt;& lt/controller & gt;& lt控制器类型='usb '索引='0 '型号= ' ich 9-uhci 2 ' & gt;& lt主start port = ' 2 '/& gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x04 '功能= ' 0x 1 '/& gt;& lt/controller & gt;& lt控制器类型='usb '索引='0 '型号= ' ich 9-uhci 3 ' & gt;& lt主start port = ' 4 '/& gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x04 '功能= ' 0x 2 '/& gt;& lt/controller & gt;& lt控制器类型='pci '索引='0 '型号= ' PCI -根'/& gt;& lt控制器类型= ' ide ' index = ' 0 ' & gt& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x01 '功能= ' 0x 1 '/& gt;& lt/controller & gt;& lt接口类型= ' bridge ' & gt& ltmac地址= ' 52:54:00:48:B2:5a '/& gt;& lt源桥= ' br0 '/& gt;& ltmodel type = ' e 1000 '/& gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x03 '功能= ' 0x 0 '/& gt;& lt/interface & gt;& lt串行类型= ' pty ' & gt& lttarget type = ' is a-serial ' port = ' 0 ' & gt;& ltmodel name = ' is a-serial '/& gt;& lt/target & gt;& lt/serial & gt;& lt控制台类型= ' pty ' & gt& lt目标类型= '串行'端口= ' 0 '/& gt;& lt/console & gt;& lt输入类型= ' tablet ' bus = ' usb ' & gt& lt地址类型='usb '总线='0 '端口= ' 1 '/& gt;& lt/input & gt;& lt输入类型= ' mouse ' bus = ' PS2 '/& gt;& lt输入类型= ' keyboard ' bus = ' PS2 '/& gt;& ltgraphics type = ' VNC ' port = ' 5910 ' autoport = ' no ' listen = ' 0 . 0 . 0 . 0 ' & gt;& ltlisten type = ' address ' address = ' 0 . 0 . 0 '/& gt;& lt/graphics & gt;& lt视频& gt& ltmodel type = ' VGA ' VRAM = ' 16384 ' heads = ' 1 ' primary = ' yes '/& gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x02 '功能= ' 0x 0 '/& gt;& lt/video & gt;& lthost dev mode = ' subsystem ' type = ' PCI ' managed = ' yes ' & gt;& ltsource & gt& lt地址域='0x0000 '总线='0xb1 '槽='0x00 '功能= ' 0x 0 '/& gt;& lt/source & gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x06 '功能= ' 0x 0 '/& gt;& lt/hostdev & gt;& lthost dev mode = ' subsystem ' type = ' PCI ' managed = ' yes ' & gt;& ltsource & gt& lt地址域='0x0000 '总线='0xb1 '槽='0x00 '功能= ' 0x 1 '/& gt;& lt/source & gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x07 '功能= ' 0x 0 '/& gt;& lt/hostdev & gt;& lthost dev mode = ' subsystem ' type = ' PCI ' managed = ' yes ' & gt;& ltsource & gt& lt地址域='0x0000 '总线='0xb1 '槽='0x00 '功能= ' 0x 2 '/& gt;& lt/source & gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x08 '功能= ' 0x 0 '/& gt;& lt/hostdev & gt;& lthost dev mode = ' subsystem ' type = ' PCI ' managed = ' yes ' & gt;& ltsource & gt& lt地址域='0x0000 '总线='0xb1 '槽='0x00 '功能= ' 0x 3 '/& gt;& lt/source & gt;& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x09 '功能= ' 0x 0 '/& gt;& lt/hostdev & gt;& ltmemballoon model='virtio'&gt。& lt地址类型='pci '域='0x0000 '总线='0x00 '槽='0x05 '功能= ' 0x 0 '/& gt;& lt/memballoon & gt;& lt/devices & gt;& lt/domain & gt;3.登录win10虚拟机以配置网络

4.安装驱动程序,选择具体型号下载并安装驱动程序。

https://www.nvidia.cn/Download/index.aspx?·朗=cn

5.检查显卡设备

kvm显卡向win10虚拟机透明传输的方法-主机频道

kvm显卡向win10虚拟机透明传输的方法-主机频道

至此,win10通过kvm虚拟化透明GPU显卡完成!

关于kvm透明显卡转win10虚拟机的这篇文章到此结束。关于kvm透明显卡win10虚拟机的更多信息,请搜索之前关于主机频道zhujipindao的文章。或者继续浏览下面的相关文章。希望大家支持主机频道zhujipindao。以后多来com!

未经允许不得转载:主机频道 » kvm显卡向win10虚拟机透明传输的方法

评论 抢沙发

评论前必须登录!