ProxmoxVE6.1显卡直通

环境:I7-4790 华擎B85M 微星750Ti 8G内存
1. 主板BIOS开启VT-D、CPU虚拟化、多显示器支持,并使用UEFI安装pve、默认显示输出改为板载
2. pve内核开启iommu支持
# 使用nano编辑器打开内核配置
nano /etc/default/grud
# GRUB_CMDLINE_LINUX_DEFAULT="quiet"
# 修改这一行代码
# 英特尔CPU在quiet后面加入 空格intel_iommu=on
# AMDCPU在quiet后面加入 空格amd_iommu=on
# 修改完成后按 Ctrl+X退出 Y保存 回车确定文件名

# 修改完毕后使用update-grub更新grub
update-grub

图例:
ProxmoxVE6.1显卡直通_第1张图片

3. 添加模块支持
# 使用nano修改模块配置文件
# 添加以下4行
# vfio
# vfio_iommu_type1
# vfio_pci
# vfio_virqfd
# 修改完成后按 Ctrl+X退出 Y保存 回车确定文件名
nano /etc/modules

图例:
ProxmoxVE6.1显卡直通_第2张图片

4. pve下禁用独立显卡、允许不安全中断

<1> 查看显卡设备ID

lspci -nn

ProxmoxVE6.1显卡直通_第3张图片
在返回的结果里找到显卡和显卡音频两个设备的位置和ID
图例里显卡位置为:01:00.0 设备ID:10de:1380
显卡音频设备位置为:01:00.1 设备ID:10de:0fbc

<2> 禁用显卡并打开不安全的中断

# 在/etc/modprobe.d目录下创建配置文件vfio.conf
nano /etc/modprobe.d/vfio.conf
# 第一行写入禁用显卡和显卡音频  ID已逗号隔开
# options vfio-pci ids=10de:1380,10de:0fbc
# 第二行允许不安全的中断
# options vfio_iommu_type1 allow_unsafe_interrupts=1

ProxmoxVE6.1显卡直通_第4张图片
<3> 更新initramfs并重启pve
修改/etc/modules和/etc/modprobe.d/*.conf的配置文件后都需要执行此命令更新initramfs并重启pve

# 更新initramfs
update-initramfs -u -k all

<4> 验证更改

# 显示pci设备列表和详情
lspci -nnk

ProxmoxVE6.1显卡直通_第5张图片
可以看到显卡和显卡音频01:00.0 01:00.1的Kernel driver in use都为vfio-pci

5. 创建虚拟机

创建虚拟机
CPU:host
SCSI控制器:VirtIO SCSI
BIOS:OVMF(UEFI) 不添加EFI硬盘
硬盘:SCSI接口
内存:取消 Ballooning设备
光驱:添加virtio-win驱动光盘
网卡:VirtIO (半虚拟化)
ProxmoxVE6.1显卡直通_第6张图片

6. 安装操作系统并打开远程桌面

过程略,安装系统过程中需要加载virtio-win内的硬盘驱动,安装完毕后需要安装virtio-win内的网卡驱动,远程桌面如果不打开后续将无法操作

7. 添加显卡

安装系统完成后修改Machine为q35并添加PCI设备,选择显卡位置后勾选所有功能、主GPU、ROM-Bar、PCI-Express
ProxmoxVE6.1显卡直通_第7张图片
最终配置:
ProxmoxVE6.1显卡直通_第8张图片
修改完毕后打开虚拟机使用mstsc远程桌面连接虚拟机打驱动就OK了

8. 完成

ProxmoxVE6.1显卡直通_第9张图片

你可能感兴趣的:(ProxmoxVE)