kvm直通sata_KVM虚拟化win10显卡直通一例
一、硬件及需求
联想SR650 2x5218,64G,3x1.2T SAS HDD,显卡RTX2080
因为对系统要求必须是windows,windows server系统没有显卡驱动,win10又没有对应的服务器硬件驱动,尝试安装windows10,使用windows server2019驱动,系统安装安装完成后,驱动问题导致系统蓝屏,重启,无法正常使用
只能使用centos+kvm部署win10虚拟机,显卡采用直通模式,可以正常安装显卡驱动。
二、部署过程
1、安装centos7.8,安装过程省略
英文安装,virt-manager图形界面中文会显示乱码
centos版本:CentOS-7.8-x86_64-DVD-2003
采用的自动分区,不过手动更合适。
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 11M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.3G 48G 5% /
/dev/sda2 1021M 210M 811M 21% /boot
/dev/sda1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos-home 2.1T 24G 2.1T 2% /home
tmpfs 6.3G 0 6.3G 0% /run/user/0
2、安装kvm
2.1设置桥接网络,名称为br0连接到eno1变为到br0
yum -y install bridge-utils
配置br0的网络参数,对照自己的网卡,配置自己的ip
cat > /etc/sysconfig/network-scripts/ifcfg-br0 << EOF
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
NM_CONTROLLED=no
IPADDR=192.168.31.88
NETMASK=255.255.255.0
GATEWAY=192.168.31.1
DNS1=114.114.114.114
USERCTL=no
TYPE=Bridge
EOF
修改eno1的网络参数
cat > /etc/sysconfig/network-scripts/ifcfg-eno1 << EOF
DEVICE=eno1
ONBOOT=yes
BRIDGE=br0
EOF
重启网络
systemctl restart network
重启网络后ssh连接新设置的ip
检查主机机是否支持kvm
egrep '(vmx|svm)' /proc/cpuinfo
2.2安装kvm
systemctl start libvirtd
查看kvm版本,UEFI模式安装windows需要升级kvm
virsh # version
Compiled against library: libvirt 3.0.0
Using library: libvirt 3.0.0
Using API: QEMU 3.0.0
Running hypervisor: QEMU 2.8.1
2.3更新qemu-kvm
wget http://rpmfind.net/linux/centos/7.8.2003/extras/x86_64/Packages/centos-release-qemu-ev-1.0-4.el7.centos.noarch.rpm
yum install -y centos-release-qemu-ev-1.0-4.el7.centos.noarch.rpm
wget http://rpmfind.net/linux/centos/7.8.2003/extras/x86_64/Packages/centos-release-virt-common-1-1.el7.centos.noarch.rpm
yum install -y centos-release-virt-common-1-1.el7.centos.noarch.rpm
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-QEMU-EV.repo
yum --enablerepo=centos-qemu-ev -y install qemu-kvm-ev
systemctl restart libvirtd
查看更新后的kvm版本
virsh # version
Compiled against library: libvirt 4.5.0
Using library: libvirt 4.5.0
Using API: QEMU 4.5.0
Running hypervisor: QEMU 2.12.0
2.4安装OVMF
OVMF“是一个为UEFI支持虚拟机的项目”。
#REPO
vi /etc/yum.repos.d/kraxel.repo
# create new
[qemu-firmware-jenkins]
name=firmware for qemu, built by jenkins, fresh from git repos
baseurl=https://www.kraxel.org/repos/jenkins/
enabled=0
gpgcheck=0
#RPM Install
yum --enablerepo=qemu-firmware-jenkins -y install OVMF
#check ovmf directory
ls /usr/share/OVMF/
#QEMU配置以启用UEF
vim /etc/libvirt/qemu.conf
nvram = [
"/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd",
]
#重启libvirtd服务
service libvirtd restart
2.5安装win10
使用图形界面安装,xshell的xmanager工具
virt-manager
2.5.1选择UEFI模式,暂不配置显卡直通
2.5.2如果硬盘或者CD/ROM报错不支持IDE模式不支持,请更改成SATA模式
2.5.3网卡桥接模式
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
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="intel_iommu=on crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
重新生成内核
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
再次验证内核支持iommu
[root@localhost ~]# cat /proc/cmdline | grep iommu
BOOT_IMAGE=/vmlinuz-3.10.0-1127.19.1.el7.x86_64 root=/dev/mapper/centos-root ro intel_iommu=on crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=zh_CN.UTF-8
有输出即正常
验证VT-D是否启用
dmesg |grep -e DMAR -e IOMMU
ps:如果没有的开启的解决办法
2.6.2禁用服务器上的RTX2080显卡驱动
#查看NVIDIA显卡设备
[root@localhost ~]# lspci -nnk | grep -i nvidia
86:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2080 SUPER] [10de:1e81] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:13a0]
86:00.1 Audio device [0403]: NVIDIA Corporation TU104 HD Audio Controller [10de:10f8] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:13a0]
86:00.2 USB controller [0c03]: NVIDIA Corporation TU104 USB 3.1 Host Controller [10de:1ad8] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:13a0]
86:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller [10de:1ad9] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:13a0]
#根据上面显示的显卡设备编号,查看显卡驱动
lspci -vv -s 86:00.0 | grep driver
lspci -vv -s 86:00.1 | grep driver
lspci -vv -s 86:00.2 | grep driver
lspci -vv -s 86:00.3 | grep driver
#显示有3个驱动nouveau,snd_hda_intel,xhci_hcd
在服务器主机上禁用显卡设备
vi /etc/modprobe.d/blacklist.conf
添加
blacklist nouveau
blacklist snd_hda_intel
blacklist xhci_hcd
vim /usr/lib/modprobe.d/dist-blacklist.conf
加上一行options nouveau modeset=0
PS:其他情况可能还需要去掉禁用另外一张显卡,我这里没有去掉
备份原来的 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模块
modprobe vfio
modprobe vfio-pci
从服务器卸载4个显卡设备
virsh nodedev-detach pci_0000_86_00_0
virsh nodedev-detach pci_0000_86_00_1
virsh nodedev-detach pci_0000_86_00_2
virsh nodedev-detach pci_0000_86_00_3
验证显卡设备是否加载vfio-pci驱动,加载成功
[root@localhost ~]# lspci -vv -s 86:00.0 | grep driver
Kernel driver in use: vfio-pci
[root@localhost ~]# lspci -vv -s 86:00.1 | grep driver
Kernel driver in use: vfio-pci
[root@localhost ~]# lspci -vv -s 86:00.2 | grep driver
Kernel driver in use: vfio-pci
[root@localhost ~]# lspci -vv -s 86:00.3 | grep driver
Kernel driver in use: vfio-pci
2.6.4 win10虚拟机添加NVDIA显卡
同时可以添加服务器的USB设备直通
ps:需要另外配置下,参考链接
添加后,关机重启
三、显卡驱动安装
要安装显卡驱动,需要修改虚拟机win10的配置文件
否则显卡驱动安装过程中自检会报错ERROR CODE 43,驱动不允许安装在虚拟机上。
#编辑VM XML
virsh edit win 10
#修改第一行
#为
#找到节点,添加内容
...
...
#找到节点,在device后添加内容
#重启VM
virsh destroy win10
virsh start win10
重启即可安装驱动
AID64测试
kvm直通sata_KVM虚拟化win10显卡直通一例相关推荐
- ESXI 6.7全面系统教程~win10显卡直通
ESXI 6.7全面系统教程-win10显卡直通 参考文章:https://blog.csdn.net/huiwenke/article/details/109368330 在设备管理中,将显卡切换为 ...
- j3455安装linux 4k驱动,nas-j3455kvm安装win10及集成显卡直通
2019-08-25 缘起 之前的基于j3455搞的nas,物理机是win10系统,虚拟机ubuntu是基于hyper-v架构虚拟出来的. 然而运行一段时间后发现,win10系统总是会莫名其妙的重启, ...
- kvm直通sata_将双系统塞入A4主机:OSX-KVM 显卡直通教程
KVM 是 Linux 上最成熟的虚拟化框架, 结合了 qemu 的虚拟化功能并且充分利用半虚拟化技术, 提供了很强的 IO 性能. 常见的用法有直接调用 qemu commnad, 基于 libvi ...
- Ubuntu22.04.1 LTS系统上实现KVM虚拟机显卡直通(AMD/NVIDIA+板载显卡)
先告诉你们最终效果 我的服务器上有两块显卡:板载显卡+独立显卡(1U服务器半高显卡 AMD RX550) 板载显卡用于ibmc上的远程桌面控制连接,服务器日常bios操作和linux宿主机桌面操作.板 ...
- [显卡直通]Server 2016/2019 Hyper-V显卡直通Win10教学及过程中会遇到的问题搜集以及详解-第一章DDA设备以及准备
Hi,大家好我是游戏主播火线兔 火线兔讲废话环节 噗!为什么今天这么介绍自己这呢,是因为这期虚拟化的专题的启动是因为需要在直播的时候使用GPU编码技术,微软自带的RemoteFX技术是没有办法实现显卡 ...
- 双路E5平台PVE7.0系统GTX1060 显卡直通
双路E5平台PVE7.0系统GTX1060 显卡直通 刚通,熟悉的错误消失了,有点失落,有点不知所措.直通成功了,开机能跑好几套系统(win10系统还能直通显卡玩游戏). 使用鲁大师对比物理机和虚机的 ...
- ESXI 7.02 Intel 核心显卡直通开启3D加速
开始前准备: 1.操作涉及修改ESXI底层配置文件,可能导致ESXI崩溃无法修复,请操作前做好数据备份! 2.终端工具:CRT.XShell.MobaXterm.Windows PowerShell ...
- 小白玩PVE proxmox RX560D显卡直通
特此感谢pcbeta论坛的wxzmz大神耐心指点,特此分享,希望对更多人又用!!! 重要提示:直通成功后,开启虚拟机直到进入系统,直通的显示器才会有画面!!! 本人小白,最近折腾PVE显卡直通,特此把 ...
- 英伟达独立显卡直通虚拟机
显卡直通KVM虚拟机 1.确认CPU是否支持硬件虚拟化 #egrep -o '(vmx|svm)' /proc/cpuinfo vmx vmx vmx 2.确认内核开启iommu分组支持 先进入bio ...
最新文章
- springmvc3.2+spring+hibernate4全注解方式整合(一)
- mysql 多少个数据库_mysql数据库的几个基本概念
- 【设计模式】—— 外观模式Facade
- 【github干货】主流深度学习开源框架从入门到熟练
- 上升沿_PLC上升沿,下降沿的理解
- python 10个100以内随机整数编辑_你要偷偷的学Python,然后惊呆所有人(第五天) - python阿喵
- Node.js 入门详解(四)
- java 取pdf 文本域_java – 使用iText从pdf文件中提取文本列
- python中保留两位小数的编写程序_P081 保留两位小数
- static_cast, dynamic_cast, const_cast,reinterpret_cast探讨
- 记录一次有意思的XSS过滤绕过
- 使用ACCESS数据库时出现“操作必须使用一个可更新的查询”的解决办法
- SWOT分析流程图模板分享
- 【软件工程师学硬件】之 接口
- Kaggle提示:TTA(测试时间增加),小,技巧,TTAtesttimeaugmentation,增强
- 百度Apollo计划跟踪:感知与预测中神经网络的分析
- 函数周期表丨EXCEPT
- VB下载地址:Eview下载地址;Java下载地址和安装教程
- 【CV】RegNet:通用 CNN 网络设计空间(Design Spaces)设计范式
- 数据中心“出海”东南亚,秦淮数据、阿里们的生意好做吗?