PVE安装Win10并直通显卡(独显)
注:pve的安装过程省略
博主的主机配置如下:
处理器 | i3-10100T(带核显) |
内存 | 16G |
显卡 | NVIDIA GeGorce GT 730(1GB) |
准备
- 下载相关镜像
- cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso
- virtio-win-0.1.208.iso
- 上传至PVE中的local -> ISO镜像
安装过程
- 点击创建虚拟机
- 一般:输入名称:Win10
- 操作系统
a. ISO镜像:win10的ISO镜像
b. 访客OS:windows - 系统
a. 显卡:标准VGA
b. 机器:q35
c. qemu代理:开启
d. BIOS:SeaBios(默认) - 硬盘保持默认IDE硬盘,大小32G
- CPU
a. 核:4
b. 类别:host
c. 启用NUMA:开启 - 内存:8192
- 网络:模型:VirtIO (半虚拟化)
- 完成后,在硬件中添加CD/DVD -> 选择virtio-win-0.1.208.iso镜像
接下来就是常规window安装过程,省略,安装后记得打开windows的远程访问功能
驱动安装
Window启动成功后,需要安装相关驱动
安装方式2种
- 一种是,我的电脑 -> virtio-win的驱动盘 -> 双击virto-win-gt-x64手动安装,一步步下一步即可
- 另一种方法是,在开始菜单右键 -> 设备管理器 -> 找到有问题的设备 -> 更新驱动程序 -> 手动选择virto-win所有盘根目录即可
最后,都需要手动安装下virto-win/guest-agent/qemu-ga-x86_64,来使PVE的概要信息中展示虚拟机的ip地址
PVE配置
编辑我用的vim,大家可自行选择
- 编辑/etc/default/grub,
a. 修改,开启iommu,这是intel CPU的配置
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb textonly nomodeset video=efifb:off"
b. pve-efiboot-tool refresh
c. update-grub
d. reboot重启
e. 可用dmesg | grep -e DMAR -e IOMMU
查看是否开启 - 编辑/etc/modules
a. 添加下面4行内容vfio vfio_iommu_type1 vfio_pci vfio_virqfd
- 查看设备信息
lspci -nn
,找到显卡的设备号,此处博主为以下内容,记住10de:1287及10de:0e0f,屏蔽要用01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 730] [10de:1287] (rev a1) 01:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)
- 编辑/etc/modprobe.d/vfio.conf,添加下面内容,其中ids即为上面的设备号
options vfio-pci ids=10de:1287,10de:0e0f
- 编辑/etc/modprobe.d/pve-blacklist.conf,添加以下内容,有的版本说是blacklist.conf为了保证生效,可以copy一份pve-blacklist.conf
blacklist nvidiafb blacklist nouveau blacklist nvidia blacklist radeon blacklist amdgpu blacklist snd_hda_intel blacklist snd_hda_codec_hdmi blacklist snd_hda_codec blacklist snd_hda_core
- 执行
update-initramfs -k all -u
,reboot重启 - 执行
lspci -v
,查看你的显卡设备使用的驱动是否都已被屏蔽,类似:Kernel modules: nvidiafb, nouveau
- 编辑/etc/modprobe.d/kvm.conf(有的文章说不需要,博主添加了),添加,并重启
options kvm ignore_msrs=1
直通
- 在PVE虚拟机的硬件中添加PCI设备,选择你的显卡,选中除主显卡外的其他所有选项
- 启动虚拟机,并联网自动更新驱动
- 关闭虚拟机,并将默认显卡关闭,同时将PCI的显卡设置为主显卡,再次启动虚拟机
- 此时直通成功,但只能通过远程访问windows