本文基于Virtual Environment 7.3-3
理论上pve7系列通用。显卡是uhd630核显,如果你是其他显卡,需要修改一下vfio.conf这个文件里面的ids=
一键关闭 核显直通 和 gvt-g
从核显直通到gvt 必须 关闭 再 开启
1
2
3
4
5
6
7
8
9
10
11
12
13
| cd /root
wget -c https://file.leiyanhui.com/pve-unraid-kvm/igpu-etc-bak.tar.gz
tar -zxvf igpu-etc-bak.tar.gz
rm -rf /etc/default/grub && cp /root/igpu-etc-bak/grub /etc/default/grub
update-grub # cd /root/vtoyboot**/ && sh vtoyboot.sh
# 最好重启一下再继续
rm -rf /etc/modules && cp /root/igpu-etc-bak/modules /etc/modules
rm -rf /etc/modprobe.d/pve-blacklist.conf && cp /root/igpu-etc-bak/pve-blacklist.conf /etc/modprobe.d/pve-blacklist.conf
rm -rf /etc/modprobe.d/kvm.conf
rm -rf /etc/modprobe.d/iommu_unsafe_interrupts.conf
rm -rf /etc/modprobe.d/vfio.conf
update-initramfs -u # cd /root/vtoyboot**/ && sh vtoyboot.sh
# 重启后检查 lsmod | grep vfio
|
一键切换 核显直通
需要先关闭gvt-g
1
2
3
4
5
6
7
8
9
10
11
12
13
| cd /root
wget -c https://file.leiyanhui.com/pve-unraid-kvm/igpu-etc-passed-bak.tar.gz
tar -zxvf igpu-etc-passed-bak.tar.gz
rm -rf /etc/default/grub && cp /root/igpu-etc-passed-bak/grub /etc/default/grub
update-grub # cd /root/vtoyboot**/ && sh vtoyboot.sh
# 最好重启一下再继续
rm -rf /etc/module && cp /root/igpu-etc-passed-bak/modules /etc/modules
rm -rf /etc/modprobe.d/pve-blacklist.conf && cp /root/igpu-etc-passed-bak/pve-blacklist.conf /etc/modprobe.d/pve-blacklist.conf
rm -rf /etc/modprobe.d/kvm.conf && cp /root/igpu-etc-passed-bak/kvm.conf /etc/modprobe.d/kvm.conf
rm -rf /etc/modprobe.d/iommu_unsafe_interrupts.conf && cp /root/igpu-etc-passed-bak/iommu_unsafe_interrupts.conf /etc/modprobe.d/iommu_unsafe_interrupts.conf
rm -rf /etc/modprobe.d/vfio.conf && cp /root/igpu-etc-passed-bak/vfio.con /etc/modprobe.d/vfio.conf
update-initramfs -u # cd /root/vtoyboot**/ && sh vtoyboot.sh
# 重启后检查 lsmod | grep vfio
|
一键切换 gvt-g
1
2
3
4
5
6
7
8
9
10
11
12
13
| cd /root
wget -c https://file.leiyanhui.com/pve-unraid-kvm/igpu-etc-gvt-g-bak.tar.gz
tar -zxvf igpu-etc-gvt-g-bak.tar.gz
rm -rf /etc/default/grub && cp /root/igpu-etc-gvt-g-bak/grub /etc/default/grub
update-grub # cd /root/vtoyboot**/ && sh vtoyboot.sh
# 最好重启一下再继续
rm -rf /etc/modules && cp /root/igpu-etc-gvt-g-bak/modules /etc/modules
rm -rf /etc/modprobe.d/pve-blacklist.conf
rm -rf /etc/modprobe.d/kvm.conf
rm -rf /etc/modprobe.d/iommu_unsafe_interrupts.conf
rm -rf /etc/modprobe.d/vfio.conf
update-initramfs -u # cd /root/vtoyboot**/ && sh vtoyboot.sh
# 重启后检查 lsmod | grep vfio
|
gvt-g 备份
关闭状态开启gvt-g 只需要修改两个文件
nano /etc/default/grub
编辑GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_gvt=1"
update-grub
nano /etc/modules
添加 一行一个 vfio vfio_iommu_type1 vfio_pci vfio_virqfd kvmgt
update-initramfs -u -k all
1
2
3
4
5
| mkdir /root/igpu-etc-gvt-g-bak
cp /etc/default/grub /root/igpu-etc-gvt-g-bak
cp /etc/modules /root/igpu-etc-gvt-g-bak
tar -zcvf igpu-etc-gvt-g-bak.tar.gz igpu-etc-gvt-g-bak
|
手动处理过程
备份需要处理的文件
1
2
3
4
| mkdir /root/igpu-etc-bak
cp /etc/default/grub /root/igpu-etc-bak
cp /etc/modules /root/igpu-etc-bak
cp /etc/modprobe.d/pve-blacklist.conf /root/igpu-etc-bak
|
压缩备份文件
cd /root
tar -zcvf igpu-etc-bak.tar.gz igpu-etc-bak
处理文件
https://dev.leiyanhui.com/pve/igpu-pass/
备份处理过的文件
1
2
3
4
5
6
7
| mkdir /root/igpu-etc-passed-bak
cp /etc/default/grub /root/igpu-etc-passed-bak
cp /etc/modules /root/igpu-etc-passed-bak
cp /etc/modprobe.d/pve-blacklist.conf /root/igpu-etc-passed-bak
cp /etc/modprobe.d/kvm.conf /root/igpu-etc-passed-bak
cp /etc/modprobe.d/iommu_unsafe_interrupts.conf /root/igpu-etc-passed-bak
cp /etc/modprobe.d/vfio.conf /root/igpu-etc-passed-bak
|
压缩备份文件
cd /root
tar -zcvf igpu-etc-passed-bak.tar.gz igpu-etc-passed-bak