倍控工控机i7 7500U PVE下核显HD620 HDMI直通成功

admin8个月前服务器运维839

引用 https://blog.tapasy.com/倍控工控机i7-7500u-pve下核显hd620-hdmi直通成功.html

参考 https://www.10bests.com/win10-htpc-on-pve/




折腾软路由的工控机 6口 i7 7500U的时候想把HDMI接口之前接入显示器显示虚拟机WIN10的界面,查了老半天才解决,下面顺一下我的步骤。

本教程在6.0测试通过

检查CPU是否支持VT-d

虚拟机创建的时候注意一下4点:

1.不要设置开机自启动

2.如果只是直通核显设备,不要像网上那些教程那样改什么BIOS和Machine,跟我一样就行。

 3.一般直通GPU给虚拟机,虚拟机都是用Windows吧,我发现Proxmox上装Windows硬盘的总线/设备改为IDE,格式改为Raw的性能是最好的,另外如果宿主机是单盘(没有RAID阵列)就不要设置Writeback模式了,默认的最好。

4.CPU的模式选择Host,即尽量保证虚拟机内的CPU指令集和宿主机内一致。

image (1).png

现在配置直通相关的东西。

首先编辑GRUB配置文件:

nano /etc/default/grub

开启IOMMU支持:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"

如果是AMD的CPU:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=efifb:off"

更新GRUB:

update-grub

添加所需的系统模块(驱动):

echo "vfio" >> /etc/modules
echo "vfio_iommu_type1" >> /etc/modules
echo "vfio_pci" >> /etc/modules
echo "vfio_virqfd" >> /etc/modules

接着添加模块(驱动)黑名单,即让GPU设备在下次系统启动之后不使用这些驱动,把设备腾出来给vfio驱动用:

Intel核显:

echo "blacklist snd_hda_intel" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/pve-blacklist.conf

N卡/A卡:

echo "blacklist nouveau" >> /etc/modprobe.d/pve-blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/pve-blacklist.conf

如果是N卡还需要加入下面的配置到kvm.conf(据老外说是避免一些莫名其妙的错误):

echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf

更新内核:

update-initramfs -u

重启机器:

reboot

重启上来之后检查模块是否正常加载:

lsmod | grep vfio

有类似回显说明正常:

vfio_pci               45056  1vfio_virqfd            16384  1 vfio_pci
irqbypass              16384  13 vfio_pci,kvm
vfio_iommu_type1       24576  1vfio                   28672  5 vfio_iommu_type1,vfio_pci

查看GPU设备ID:

lspci -nn | grep VGA

类似我的回显:

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)

再执行下面的命令:

lspci -vvv -s 00:02.0

看有没有Kernel driver in use这一行,正常情况下应该是没有的。

如果有那么就说明你之前肯定是哪里没配置好(一般是i915的驱动没屏蔽成功)。

直通完成后的截图:

image-1 (1).png

现在把需要直通给虚拟机的设备ID写到vfio.conf内,注意这次这里的ID不是00:02.0而是自己查看自己设备的ID,ID查看在上面回显里:

echo "options vfio-pci ids=8086:1912" >> /etc/modprobe.d/vfio.conf

回到Proxmox的WEB界面,给需要直通GPU的虚拟机添加对应的PCI设备:

切记直通核显不要勾选这个主GPU的选项。

关键的步骤来了,直通独显GPU,打开文件  /etc/pve/qemu-server/500.conf(我的Win10在PVE顺序是500,添加这两行内容后保存:

args: -device vfio-pci,host=00:02.0,addr=0x18,x-igd-opregion=on
vga: std
image-2 (1).png

需要注意的是:host=00:02.0这个00:02.0需要与前面lspic显示的核显编号对应上。

PVE主机的HDMI接口接到显示器并接上键盘鼠标(注意需要在PVE添加相关的SUB设备,我添加了USB键盘和USB鼠标),打开Win10虚拟机电源,先用远程桌面进入系统,安装直通核显的驱动后重启Win10,再利用在PVE主机上的键盘按WIN+P设置为“复制”,并设置好分辨率。

最终完成,开机直接显示,愉快的当下载机。

相关文章

宝塔命令大全

nginx安装目录/www/server/nginx启动/etc/init.d/nginx start停止/etc/init.d/nginx stop重启/etc/init.d/nginx resta...

织梦如何重置密码(织梦忘记密码)

织梦如何重置密码(织梦忘记密码)

织梦是现在很常见的建站系统,但是当我们忘记后台密码的时候该怎么办呢,下面讲一下织梦后台忘记密码的重置方法:     织梦(dedecms)建站系统的管理员密码是使用的md...

.htaccess强制http转https 的ssl证书方式

在 .htaccess 文件里 所有规则前面加 RewriteCond %{SERVER_PORT} !^443$   RewriteRu...

Linux挂载第二块硬盘操作方法

Linux挂载第二块硬盘操作方法

Linux挂载第二块硬盘操作方法 - 一个运维的日常 - 博客园远程SSH登录上Centos服务器后,进行如下操作提醒:挂载操作会清空数据,请确认挂载盘无数据或者未使用第一步:列出所有已挂载磁盘 命令...

蚂蚁笔记私有部署

说明其实官方的教程中已经写得很清楚了,我写这个主要是为了记录一下我自己当时安装的过程,方便后续查询官方文档请查阅:https://github.com/leanote/leanote/wiki环境要求...

linux空间查看与分析Linux centos7 磁盘总是满,如何查找都是哪些文件或文件夹占用空间大、多

linux空间查看与分析Linux centos7 磁盘总是满,如何查找都是哪些文件或文件夹占用空间大、多

du -sh * | sort -n上面命令能快速查出哪个目录占用空间情况 https://blog.csdn.net/shaojianjun521/article/details/9137...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。