PVE的All in one 篇二:PVE虚拟机核显直通及返回宿主机显示

2022-07-01 17:12:45 26点赞 166收藏 22评论

追加修改(2022-07-02 12:44:22):
钩子脚本复制到snippets目录这一步,如果是直接安装的PVE7.2,需要先创建目录,mkdir /var/lib/vz/snippets,然后再复制文件。因为直接安装PVE7.2默认没有snippets目录,但从之前版本升级到7.2是有这个目录的。

本文是我的B站视频《PVE虚拟机核显直通及返回宿主机显示钩子脚本》的文字说明版,如果有看不明白的地方,可以参照我视频中的操作。


首先介绍一下我的PVE核显直通方案能够实现怎样的效果。
 1. 可以正常驱动,对核显驱动版本没有特别需求,OpenCL使用正常。
 2. 显示器能输出画面和HDMI音频,分辨率正常,可以显示虚拟机开机画面。
 3. PVE开机能够正常显示,对于大多硬件配置还能在PVE上安装KDE界面不受影响。
 4. 虚拟机关机后直通的硬件返回到宿主机,PVE恢复正常显示输出。
注:本文操作在PVE7.2下没有问题,选择PVE7.1.8是有其他的原因。

硬件平台及BIOS设置

本篇仅针对支持legacy启动的intel核显机器,建议intel 7~10代。
我们知道11代开始intel核显只支持UEFI启动,很多人说核显不能直通了…其实不对,关于纯UEFI启动的核显直通会有一些差别,这个以后再讲。(目前我已经在N5105工控机上实现了UEFI启动核显直通Windows虚拟机,但还不太完善)

BIOS设置

首先确保VT-D是启用的状态,然后要开启CSM,PCI或Video等项目选择legacy

PVE虚拟机核显直通及返回宿主机显示

PVE直通设置

简单说,就是只对IOMMU和Kernel Modules进行基本的配置,不要屏蔽核显和声卡
修改/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

如果你之前添加了”video=efifb:off,vesafb:off”请删除
运行命令使grub修改生效

update-grub

modprobe设置

修改/etc/modules,添加以下内容

vfio

vfio_iommu_type1

vfio_pc

vfio_virqfd

看看你是否在黑名单中添加了下面的内容
修改/etc/modprobe.d/pve-blacklist.conf,删除以下内容
(某些硬件需要添加以下内容才能正常直通,此类硬件可能不能实现本文完整效果)

blacklist i915

blacklist snd_hda_intel

blacklist snd_hda_codec_hdmi

如果您此前将核显和声卡ID添加到vfio,请删除/etc/modprobe.d/vfio.conf

运行命令刷新initramfs,使以上修改生效

update-initramfs -u -k all

Win虚拟机设置

重启PVE之后新建Windows虚拟机
BIOS设置为默认的“SeaBIOS”,显示设置为“无”,机型设置为“i440fx”
直接通过web页面添加核显、声卡等PCI设备
如果需要直通NVME固态硬盘,目前需要将pve-qemu-kvm降级至6.1.1-2(截止6.2.0-10较新版本均不可直通NVME)

apt update

apt install pve-qemu-kvm=6.1.1-2

虚拟机添加CD驱动器,挂载Windows系统安装ISO镜像以及VirtIO驱动ISO镜像
编辑/etc/pve/qemu-server/<VMID>.conf
在直通核显一行后面添加“legacy-igd=1”,如下所示

hostpci0: 0000:00:02.0,legacy-igd=1

在首行添加以下内容

args: -set device.hostpci0.x-igd-gms=1

PVE虚拟机核显直通及返回宿主机显示

启动虚拟机,即可在物理显示器中使用键鼠安装系统。
系统安装完成后,打开挂载的VirtIO驱动盘安装相关驱动,然后可以直接通过Windows更新自动安装核显驱动。
注意:驱动安装完成后,请务必关闭系统休眠。
现在虚拟机核显已经可以正常使用了,OpenCL正常。

钩子脚本设置

如果前面的操作没有问题,可以增加钩子脚本实现虚拟机关机后直通的硬件返回宿主机。
克隆我的相关代码仓库到/root目录

PVE虚拟机核显直通及返回宿主机显示

添加可执行权限

cd pvevm-hooks

chmod a+x *.sh *.pl

使用lspci -v命令查看你的硬件相关信息,根据你的实际情况对vm-stop.sh等脚本中相关内容进行修改

PVE虚拟机核显直通及返回宿主机显示

复制perl脚本至snippets目录

cp hooks-igpupt.pl /var/lib/vz/snippets

将钩子脚本应用至虚拟机

qm set <VMID> -hookscript local:snippets/hooks-igpupt.pl

如果你想对钩子脚本进行其他修改,可参照我的脚本与PVE模板文件进行对比 /usr/share/pve-docs/examples/guest-example-hookscript.pl
应用钩子脚本后即可实现虚拟机关机后返回到PVE宿主机的显示。

PVE图形界面相关

我们知道PVE是基于Debian的,所以可以像普通Debian一样安装图形界面,在安装图形界面后需要做以下修改。
vfio-startup.sh和vfio-teardown.sh 默认情况下不会被调用,但在PVE安装图形界面的情况下,就需要用到这两个脚本。
取消vm-start.sh中(dirname0)/vfio-startup.sh该行注释
取消vm-stop.sh中(dirname0)/vfio-teardown.sh该行注释
感谢 @ledisthebest 提供的脚本vfio-startup.sh和vfio-teardown.sh

重要设置

PVE安装图形界面后与LXC会有冲突,导致启动LXC时CPU占用过高
运行以下命令停用udisks2服务可解决这一问题

systemctl mask udisks2.service

systemctl stop udisks2.service

KDE桌面启动虚拟机图标

输入以下命令创建脚本并赋予可执行权限

echo -e '#!/bin/bashnqm start &' > start_win.sh

chmod a+x start_win.sh

桌面新建“链接到应用程序”,应用程序命令中选择创建的脚本,“高级选项”中“用户”填写“root”
双击图标,输入密码即可启动Windows虚拟机。

PVE平台基于legacy启动的核显直通基本就是这样了,之后可以和大家聊聊怎么给PVE安装KDE图形界面,以及KDE界面下输入法和浏览器视频硬解等操作。
至于较新平台UEFI启动的核显直通操作,11代及之后硬件和N5105之类的工控机需要基于UEFI做核显直通,(其实10代及之前的硬件做UEFI核显直通也有一个好处,就是能安装黑苹果)等我弄得比较清楚了再来和大家分享。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

159元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

106元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

308元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

299元起

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

279元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

189元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

676.4元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

Microsoft 微软 office365家庭版15个月 203元

Microsoft 微软 office365家庭版15个月 203元

198元起

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

1288元起

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

234元起
22评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
166
扫一下,分享更方便,购买更轻松