KVM虚拟化win10显卡直通一例

如题所述

第1个回答  2022-06-18
联想SR650 2x5218,64G,3x1.2T SAS HDD,显卡RTX2080

因为对系统要求必须是windows,windows server系统没有显卡驱动,win10又没有对应的服务器硬件驱动,尝试安装windows10,使用windows server2019驱动,系统安装安装完成后,驱动问题导致系统蓝屏,重启,无法正常使用

只能使用centos+kvm部署win10虚拟机,显卡采用直通模式,可以正常安装显卡驱动。

英文安装,virt-manager图形界面中文会显示乱码
centos版本:CentOS-7.8-x86_64-DVD-2003
采用的自动分区,不过手动更合适。

2.1设置桥接网络,名称为br0连接到eno1变为到br0
yum -y install bridge-utils

配置br0的网络参数,对照自己的网卡,配置自己的ip

修改eno1的网络参数

重启网络
systemctl restart network

2.2安装kvm

查看kvm版本,UEFI模式安装windows需要升级kvm

2.3更新qemu-kvm

查看更新后的kvm版本

2.4安装OVMF
OVMF“是一个为UEFI支持虚拟机的项目”。

2.5安装win10
使用图形界面安装,xshell的xmanager工具
virt-manager

2.5.1选择UEFI模式,暂不配置显卡直通

2.5.2如果硬盘或者CD/ROM报错不支持IDE模式不支持,请更改成SATA模式

2.5.4vnc连接配置,选择vncserver,否则可能看不到虚拟机画面,vnc客户端配置raw模式,否则可能很卡

2.6显卡直通
2.6.1开启iommu
IOMMU(i/o memory management unit)。iommu有两大功能:控制设备dma地址映射到机器物理地址(dmar),中断重映射(intremap)(可选)
确认内核是否支持iommu
cat /proc/cmdline | grep iommu 有输出则正常
如果没有输出,将intel_iommu=on添加到grub启动文件当中
编辑grub文件 :
vim /etc/default/grub

重新生成内核
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

再次验证内核支持iommu

有输出即正常
验证VT-D是否启用
dmesg |grep -e DMAR -e IOMMU

2.6.2禁用服务器上的RTX2080显卡驱动

在服务器主机上禁用显卡设备
vi /etc/modprobe.d/blacklist.conf
添加

vim /usr/lib/modprobe.d/dist-blacklist.conf
加上一行 options nouveau modeset=0

备份原来的 initramfs nouveau image镜像
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

创建新的 initramfs image镜像
dracut /boot/initramfs-$(uname -r).img $(uname -r)

2.6.3显卡加载vfio驱动
加载vfio模块

从服务器卸载4个显卡设备

验证显卡设备是否加载vfio-pci驱动,加载成功

2.6.4 win10虚拟机添加NVDIA显卡

同时可以添加服务器的USB设备直通
ps:需要另外配置下,参考链接

添加后,关机重启

要安装显卡驱动,需要修改虚拟机win10的配置文件
否则显卡驱动安装过程中自检会报错ERROR CODE 43,驱动不允许安装在虚拟机上。

重启即可安装驱动

AID64测试
相似回答