在PVE9.0下使用NVIDIA vGPU19.0显卡虚拟化拆分技术--应用于Windows/Ubuntu系统
记录6.14内核的PVE9.0.3版本配置NVIDIA vGPU19.0版本的显卡虚拟化拆分,NVIDIA vGPU是一项由 NVIDIA 开发的虚拟化技术。它允许单个物理的 NVIDIA GPU(显卡)被多个虚拟机(VM)同时、直接地共享使用。注意它不是一个免费的项目,需要购买软件许可vGPU License才能完整的使用vGPU。本文涉及的vGPU功能基于技术社区方案实现,仅限个人测试、学习及非商业用途,禁止用于商业生产环境。
硬件配置
演示的显卡依旧是哥布林救出来的“女生一手自用P106-100”显卡
配置 | 型号 |
---|---|
系统 | PVE 9.0.3 |
内核 | Linux pve9 6.14.8-2-pve |
pve-qemu-kvm | 10.0.2-4 |
CPU | Intel Core CC150 @ 3.5GHz 8核16线程 |
显卡 | 七彩虹 P106-100 6144 MB |
vGPU驱动 | 580.65.05 |
显卡支不支持vGPU虚拟化,可以点开下边列表进行查阅。
点我展开
以下 Maxwell\Pascal\Turing架构的显卡均支持vGPU,Ampere架构的30系及之后的消费卡暂不支持
Maxwell 架构:(GTX 9xx、Quadro Mxxxx、Tesla Mxx)
Pascal 架构:(GTX 10xx、Quadro Pxxxx、Tesla Pxx)
Turing 架构:(GTX 16xx、RTX 20xx、Quadro RTXxx、Tesla Txx)
设备ID | 显卡型号 | vGPU模拟型号 |
---|---|---|
21c4 | TU116 GeForce GTX 1660 SUPER | Quadro RTX 6000 |
21d1 | TU116BM GeForce GTX 1660 Ti Mobile | Quadro RTX 6000 |
21c2 | TU116 | Quadro RTX 6000 |
2182 | TU116 GeForce GTX 1660 Ti | Quadro RTX 6000 |
2183 | TU116 | Quadro RTX 6000 |
2184 | TU116 GeForce GTX 1660 | Quadro RTX 6000 |
2187 | TU116 GeForce GTX 1650 SUPER | Quadro RTX 6000 |
2188 | TU116 GeForce GTX 1650 | Quadro RTX 6000 |
2191 | TU116M GeForce GTX 1660 Ti Mobile | Quadro RTX 6000 |
2192 | TU116M GeForce GTX 1650 Ti Mobile | Quadro RTX 6000 |
21ae | TU116GL | Quadro RTX 6000 |
21bf | TU116GL | Quadro RTX 6000 |
2189 | TU116 CMP 30HX | Quadro RTX 6000 |
1fbf | TU117GL | Quadro RTX 6000 |
1fbb | TU117GLM Quadro T500 Mobile | Quadro RTX 6000 |
1fd9 | TU117BM GeForce GTX 1650 Mobile Refresh | Quadro RTX 6000 |
1ff9 | TU117GLM Quadro T1000 Mobile | Quadro RTX 6000 |
1fdd | TU117BM GeForce GTX 1650 Mobile Refresh | Quadro RTX 6000 |
1f96 | TU117M GeForce GTX 1650 Mobile / Max-Q | Quadro RTX 6000 |
1f99 | TU117M | Quadro RTX 6000 |
1fae | TU117GL | Quadro RTX 6000 |
1fb8 | TU117GLM Quadro T2000 Mobile / Max-Q | Quadro RTX 6000 |
1fb9 | TU117GLM Quadro T1000 Mobile | Quadro RTX 6000 |
1f97 | TU117M GeForce MX450 | Quadro RTX 6000 |
1f98 | TU117M GeForce MX450 | Quadro RTX 6000 |
1f9c | TU117M GeForce MX450 | Quadro RTX 6000 |
1f9d | TU117M GeForce GTX 1650 Mobile / Max-Q | Quadro RTX 6000 |
1fb0 | TU117GLM Quadro T1000 Mobile | Quadro RTX 6000 |
1fb1 | TU117GL T600 | Quadro RTX 6000 |
1fb2 | TU117GLM Quadro T400 Mobile | Quadro RTX 6000 |
1fba | TU117GLM T600 Mobile | Quadro RTX 6000 |
1f42 | TU106 GeForce RTX 2060 SUPER | Quadro RTX 6000 |
1f47 | TU106 GeForce RTX 2060 SUPER | Quadro RTX 6000 |
1f50 | TU106BM GeForce RTX 2070 Mobile / Max-Q | Quadro RTX 6000 |
1f51 | TU106BM GeForce RTX 2060 Mobile | Quadro RTX 6000 |
1f54 | TU106BM GeForce RTX 2070 Mobile | Quadro RTX 6000 |
1f55 | TU106BM GeForce RTX 2060 Mobile | Quadro RTX 6000 |
1f81 | TU117 | Quadro RTX 6000 |
1f82 | TU117 GeForce GTX 1650 | Quadro RTX 6000 |
1f91 | TU117M GeForce GTX 1650 Mobile / Max-Q | Quadro RTX 6000 |
1f92 | TU117M GeForce GTX 1650 Mobile | Quadro RTX 6000 |
1f94 | TU117M GeForce GTX 1650 Mobile | Quadro RTX 6000 |
1f95 | TU117M GeForce GTX 1650 Ti Mobile | Quadro RTX 6000 |
1f76 | TU106GLM Quadro RTX 3000 Mobile Refresh | Quadro RTX 6000 |
1f07 | TU106 GeForce RTX 2070 Rev. A | Quadro RTX 6000 |
1f08 | TU106 GeForce RTX 2060 Rev. A | Quadro RTX 6000 |
1f09 | TU106 GeForce GTX 1660 SUPER | Quadro RTX 6000 |
1f0a | TU106 GeForce GTX 1650 | Quadro RTX 6000 |
1f10 | TU106M GeForce RTX 2070 Mobile | Quadro RTX 6000 |
1f11 | TU106M GeForce RTX 2060 Mobile | Quadro RTX 6000 |
1f12 | TU106M GeForce RTX 2060 Max-Q | Quadro RTX 6000 |
1f14 | TU106M GeForce RTX 2070 Mobile / Max-Q Refresh | Quadro RTX 6000 |
1f15 | TU106M GeForce RTX 2060 Mobile | Quadro RTX 6000 |
1f2e | TU106M | Quadro RTX 6000 |
1f36 | TU106GLM Quadro RTX 3000 Mobile / Max-Q | Quadro RTX 6000 |
1f0b | TU106 CMP 40HX | Quadro RTX 6000 |
1eb5 | TU104GLM Quadro RTX 5000 Mobile / Max-Q | Quadro RTX 6000 |
1eb6 | TU104GLM Quadro RTX 4000 Mobile / Max-Q | Quadro RTX 6000 |
1eb8 | TU104GL Tesla T4 | Quadro RTX 6000 |
1eb9 | TU104GL | Quadro RTX 6000 |
1ebe | TU104GL | Quadro RTX 6000 |
1ec2 | TU104 GeForce RTX 2070 SUPER | Quadro RTX 6000 |
1ec7 | TU104 GeForce RTX 2070 SUPER | Quadro RTX 6000 |
1ed0 | TU104BM GeForce RTX 2080 Mobile | Quadro RTX 6000 |
1ed1 | TU104BM GeForce RTX 2070 SUPER Mobile / Max-Q | Quadro RTX 6000 |
1ed3 | TU104BM GeForce RTX 2080 SUPER Mobile / Max-Q | Quadro RTX 6000 |
1f02 | TU106 GeForce RTX 2070 | Quadro RTX 6000 |
1f04 | TU106 | Quadro RTX 6000 |
1f06 | TU106 GeForce RTX 2060 SUPER | Quadro RTX 6000 |
1ef5 | TU104GLM Quadro RTX 5000 Mobile Refresh | Quadro RTX 6000 |
1e81 | TU104 GeForce RTX 2080 SUPER | Quadro RTX 6000 |
1e82 | TU104 GeForce RTX 2080 | Quadro RTX 6000 |
1e84 | TU104 GeForce RTX 2070 SUPER | Quadro RTX 6000 |
1e87 | TU104 GeForce RTX 2080 Rev. A | Quadro RTX 6000 |
1e89 | TU104 GeForce RTX 2060 | Quadro RTX 6000 |
1e90 | TU104M GeForce RTX 2080 Mobile | Quadro RTX 6000 |
1e91 | TU104M GeForce RTX 2070 SUPER Mobile / Max-Q | Quadro RTX 6000 |
1e93 | TU104M GeForce RTX 2080 SUPER Mobile / Max-Q | Quadro RTX 6000 |
1eab | TU104M | Quadro RTX 6000 |
1eae | TU104M | Quadro RTX 6000 |
1eb0 | TU104GL Quadro RTX 5000 | Quadro RTX 6000 |
1eb1 | TU104GL Quadro RTX 4000 | Quadro RTX 6000 |
1eb4 | TU104GL T4G | Quadro RTX 6000 |
1e04 | TU102 GeForce RTX 2080 Ti | Quadro RTX 6000 |
1e07 | TU102 GeForce RTX 2080 Ti Rev. A | Quadro RTX 6000 |
1e2d | TU102 GeForce RTX 2080 Ti Engineering Sample | Quadro RTX 6000 |
1e2e | TU102 GeForce RTX 2080 Ti 12GB Engineering Sample | Quadro RTX 6000 |
1e30 | TU102GL Quadro RTX 6000/8000 | Quadro RTX 6000 |
1e36 | TU102GL Quadro RTX 6000 | Quadro RTX 6000 |
1e37 | TU102GL GRID RTX T10-4/T10-8/T10-16 | Quadro RTX 6000 |
1e38 | TU102GL | Quadro RTX 6000 |
1e3c | TU102GL | Quadro RTX 6000 |
1e3d | TU102GL | Quadro RTX 6000 |
1e3e | TU102GL | Quadro RTX 6000 |
1e78 | TU102GL Quadro RTX 6000/8000 | Quadro RTX 6000 |
1e09 | TU102 CMP 50HX | Quadro RTX 6000 |
1dba | GV100GL Quadro GV100 | Tesla V100 32GB PCIE |
1e02 | TU102 TITAN RTX | Quadro RTX 6000 |
1cfa | GP107GL Quadro P2000 | Tesla P40 |
1cfb | GP107GL Quadro P1000 | Tesla P40 |
1d01 | GP108 GeForce GT 1030 | Tesla P40 |
1d10 | GP108M GeForce MX150 | Tesla P40 |
1d11 | GP108M GeForce MX230 | Tesla P40 |
1d12 | GP108M GeForce MX150 | Tesla P40 |
1d13 | GP108M GeForce MX250 | Tesla P40 |
1d16 | GP108M GeForce MX330 | Tesla P40 |
1d33 | GP108GLM Quadro P500 Mobile | Tesla P40 |
1d34 | GP108GLM Quadro P520 | Tesla P40 |
1d52 | GP108BM GeForce MX250 | Tesla P40 |
1d56 | GP108BM GeForce MX330 | Tesla P40 |
1d81 | GV100 TITAN V | Tesla V100 32GB PCIE |
1cb6 | GP107GL Quadro P620 | Tesla P40 |
1cba | GP107GLM Quadro P2000 Mobile | Tesla P40 |
1cbb | GP107GLM Quadro P1000 Mobile | Tesla P40 |
1cbc | GP107GLM Quadro P600 Mobile | Tesla P40 |
1cbd | GP107GLM Quadro P620 | Tesla P40 |
1ccc | GP107BM GeForce GTX 1050 Ti Mobile | Tesla P40 |
1ccd | GP107BM GeForce GTX 1050 Mobile | Tesla P40 |
1ca8 | GP107GL | Tesla P40 |
1caa | GP107GL | Tesla P40 |
1cb1 | GP107GL Quadro P1000 | Tesla P40 |
1cb2 | GP107GL Quadro P600 | Tesla P40 |
1cb3 | GP107GL Quadro P400 | Tesla P40 |
1c70 | GP106GL | Tesla P40 |
1c81 | GP107 GeForce GTX 1050 | Tesla P40 |
1c82 | GP107 GeForce GTX 1050 Ti | Tesla P40 |
1c83 | GP107 GeForce GTX 1050 3GB | Tesla P40 |
1c8c | GP107M GeForce GTX 1050 Ti Mobile | Tesla P40 |
1c8d | GP107M GeForce GTX 1050 Mobile | Tesla P40 |
1c8e | GP107M | Tesla P40 |
1c8f | GP107M GeForce GTX 1050 Ti Max-Q | Tesla P40 |
1c90 | GP107M GeForce MX150 | Tesla P40 |
1c91 | GP107M GeForce GTX 1050 3 GB Max-Q | Tesla P40 |
1c92 | GP107M GeForce GTX 1050 Mobile | Tesla P40 |
1c94 | GP107M GeForce MX350 | Tesla P40 |
1c96 | GP107M GeForce MX350 | Tesla P40 |
1ca7 | GP107GL | Tesla P40 |
1c36 | GP106 P106M | Tesla P40 |
1c07 | GP106 P106-100 | Tesla P40 |
1c09 | GP106 P106-090 | Tesla P40 |
1c20 | GP106M GeForce GTX 1060 Mobile | Tesla P40 |
1c21 | GP106M GeForce GTX 1050 Ti Mobile | Tesla P40 |
1c22 | GP106M GeForce GTX 1050 Mobile | Tesla P40 |
1c23 | GP106M GeForce GTX 1060 Mobile Rev. 2 | Tesla P40 |
1c2d | GP106M | Tesla P40 |
1c30 | GP106GL Quadro P2000 | Tesla P40 |
1c31 | GP106GL Quadro P2200 | Tesla P40 |
1c35 | GP106M Quadro P2000 Mobile | Tesla P40 |
1c60 | GP106BM GeForce GTX 1060 Mobile 6GB | Tesla P40 |
1c61 | GP106BM GeForce GTX 1050 Ti Mobile | Tesla P40 |
1c62 | GP106BM GeForce GTX 1050 Mobile | Tesla P40 |
1bb8 | GP104GLM Quadro P3000 Mobile | Tesla P40 |
1bb9 | GP104GLM Quadro P4200 Mobile | Tesla P40 |
1bbb | GP104GLM Quadro P3200 Mobile | Tesla P40 |
1bc7 | GP104 P104-101 | Tesla P40 |
1be0 | GP104BM GeForce GTX 1080 Mobile | Tesla P40 |
1be1 | GP104BM GeForce GTX 1070 Mobile | Tesla P40 |
1c00 | GP106 | Tesla P40 |
1c01 | GP106 | Tesla P40 |
1c02 | GP106 GeForce GTX 1060 3GB | Tesla P40 |
1c03 | GP106 GeForce GTX 1060 6GB | Tesla P40 |
1c04 | GP106 GeForce GTX 1060 5GB | Tesla P40 |
1c06 | GP106 GeForce GTX 1060 6GB Rev. 2 | Tesla P40 |
1b87 | GP104 P104-100 | Tesla P40 |
1ba0 | GP104M GeForce GTX 1080 Mobile | Tesla P40 |
1ba1 | GP104M GeForce GTX 1070 Mobile | Tesla P40 |
1ba2 | GP104M GeForce GTX 1070 Mobile | Tesla P40 |
1ba9 | GP104M | Tesla P40 |
1baa | GP104M | Tesla P40 |
1bad | GP104 GeForce GTX 1070 Engineering Sample | Tesla P40 |
1bb0 | GP104GL Quadro P5000 | Tesla P40 |
1bb1 | GP104GL Quadro P4000 | Tesla P40 |
1bb3 | GP104GL Tesla P4 | Tesla P40 |
1bb4 | GP104GL Tesla P6 | Tesla P40 |
1bb5 | GP104GLM Quadro P5200 Mobile | Tesla P40 |
1bb6 | GP104GLM Quadro P5000 Mobile | Tesla P40 |
1bb7 | GP104GLM Quadro P4000 Mobile | Tesla P40 |
1b06 | GP102 GeForce GTX 1080 Ti | Tesla P40 |
1b07 | GP102 P102-100 | Tesla P40 |
1b30 | GP102GL Quadro P6000 | Tesla P40 |
1b38 | GP102GL Tesla P40 | Tesla P40 |
1b70 | GP102GL | Tesla P40 |
1b78 | GP102GL | Tesla P40 |
1b80 | GP104 GeForce GTX 1080 | Tesla P40 |
1b81 | GP104 GeForce GTX 1070 | Tesla P40 |
1b82 | GP104 GeForce GTX 1070 Ti | Tesla P40 |
1b83 | GP104 GeForce GTX 1060 6GB | Tesla P40 |
1b84 | GP104 GeForce GTX 1060 3GB | Tesla P40 |
1b39 | GP102GL Tesla P10 | Tesla P40 |
1b00 | GP102 TITAN X | Tesla P40 |
1b01 | GP102 GeForce GTX 1080 Ti 10GB | Tesla P40 |
1b02 | GP102 TITAN Xp | Tesla P40 |
1b04 | GP102 | Tesla P40 |
179c | GM107 GeForce 940MX | Tesla M10 |
17c2 | GM200 GeForce GTX TITAN X | Tesla M60 |
17c8 | GM200 GeForce GTX 980 Ti | Tesla M60 |
17f0 | GM200GL Quadro M6000 | Tesla M60 |
17f1 | GM200GL Quadro M6000 24GB | Tesla M60 |
17fd | GM200GL Tesla M40 | Tesla M60 |
1617 | GM204M GeForce GTX 980M | Tesla M60 |
1618 | GM204M GeForce GTX 970M | Tesla M60 |
1619 | GM204M GeForce GTX 965M | Tesla M60 |
161a | GM204M GeForce GTX 980 Mobile | Tesla M60 |
1667 | GM204M GeForce GTX 965M | Tesla M60 |
1725 | GP100 | Tesla P40 |
172e | GP100 | Tesla P40 |
172f | GP100 | Tesla P40 |
174d | GM108M GeForce MX130 | Tesla M10 |
174e | GM108M GeForce MX110 | Tesla M10 |
1789 | GM107GL GRID M3-3020 | Tesla M10 |
1402 | GM206 GeForce GTX 950 | Tesla M60 |
1406 | GM206 GeForce GTX 960 OEM | Tesla M60 |
1407 | GM206 GeForce GTX 750 v2 | Tesla M60 |
1427 | GM206M GeForce GTX 965M | Tesla M60 |
1430 | GM206GL Quadro M2000 | Tesla M60 |
1431 | GM206GL Tesla M4 | Tesla M60 |
1436 | GM206GLM Quadro M2200 Mobile | Tesla M60 |
15f0 | GP100GL Quadro GP100 | Tesla P40 |
15f1 | GP100GL | Tesla P40 |
1404 | GM206 GeForce GTX 960 FAKE | Tesla M60 |
13d8 | GM204M GeForce GTX 970M | Tesla M60 |
13d9 | GM204M GeForce GTX 965M | Tesla M60 |
13da | GM204M GeForce GTX 980 Mobile | Tesla M60 |
13e7 | GM204GL GeForce GTX 980 Engineering Sample | Tesla M60 |
13f0 | GM204GL Quadro M5000 | Tesla M60 |
13f1 | GM204GL Quadro M4000 | Tesla M60 |
13f2 | GM204GL Tesla M60 | Tesla M60 |
13f3 | GM204GL Tesla M6 | Tesla M60 |
13f8 | GM204GLM Quadro M5000M / M5000 SE | Tesla M60 |
13f9 | GM204GLM Quadro M4000M | Tesla M60 |
13fa | GM204GLM Quadro M3000M | Tesla M60 |
13fb | GM204GLM Quadro M5500 | Tesla M60 |
1401 | GM206 GeForce GTX 960 | Tesla M60 |
13b3 | GM107GLM Quadro K2200M | Tesla M10 |
13b4 | GM107GLM Quadro M620 Mobile | Tesla M10 |
13b6 | GM107GLM Quadro M1200 Mobile | Tesla M10 |
13b9 | GM107GL NVS 810 | Tesla M10 |
13ba | GM107GL Quadro K2200 | Tesla M10 |
13bb | GM107GL Quadro K620 | Tesla M10 |
13bc | GM107GL Quadro K1200 | Tesla M10 |
13bd | GM107GL Tesla M10 | Tesla M10 |
13c0 | GM204 GeForce GTX 980 | Tesla M60 |
13c1 | GM204 | Tesla M60 |
13c2 | GM204 GeForce GTX 970 | Tesla M60 |
13c3 | GM204 | Tesla M60 |
13d7 | GM204M GeForce GTX 980M | Tesla M60 |
1389 | GM107GL GRID M30 | Tesla M10 |
1390 | GM107M GeForce 845M | Tesla M10 |
1391 | GM107M GeForce GTX 850M | Tesla M10 |
1392 | GM107M GeForce GTX 860M | Tesla M10 |
1393 | GM107M GeForce 840M | Tesla M10 |
1398 | GM107M GeForce 845M | Tesla M10 |
1399 | GM107M GeForce 945M | Tesla M10 |
139a | GM107M GeForce GTX 950M | Tesla M10 |
139b | GM107M GeForce GTX 960M | Tesla M10 |
139c | GM107M GeForce 940M | Tesla M10 |
139d | GM107M GeForce GTX 750 Ti | Tesla M10 |
13b0 | GM107GLM Quadro M2000M | Tesla M10 |
13b1 | GM107GLM Quadro M1000M | Tesla M10 |
13b2 | GM107GLM Quadro M600M | Tesla M10 |
1347 | GM108M GeForce 940M | Tesla M10 |
1348 | GM108M GeForce 945M / 945A | Tesla M10 |
1349 | GM108M GeForce 930M | Tesla M10 |
134b | GM108M GeForce 940MX | Tesla M10 |
134d | GM108M GeForce 940MX | Tesla M10 |
134e | GM108M GeForce 930MX | Tesla M10 |
134f | GM108M GeForce 920MX | Tesla M10 |
137a | GM108GLM Quadro K620M / Quadro M500M | Tesla M10 |
137b | GM108GLM Quadro M520 Mobile | Tesla M10 |
137d | GM108M GeForce 940A | Tesla M10 |
1380 | GM107 GeForce GTX 750 Ti | Tesla M10 |
1381 | GM107 GeForce GTX 750 | Tesla M10 |
1382 | GM107 GeForce GTX 745 | Tesla M10 |
1340 | GM108M GeForce 830M | Tesla M10 |
1341 | GM108M GeForce 840M | Tesla M10 |
1344 | GM108M GeForce 845M | Tesla M10 |
1346 | GM108M GeForce 930M | Tesla M10 |
资源下载
百度网盘:
https://pan.baidu.com/s/1rqgxvmFku6rG2Ppjq4g-cg?pwd=knrj
资源 | 说明 |
---|---|
1.PVE镜像 | proxmox-ve_9.0-1.iso |
2.写盘工具 | balenaEtcher-Portable-1.7.9.exe |
3.vGPU驱动 | NVIDIA vGPU 19.0 |
4.FASTAPI-DLS | FASTAPI-DLS授权服务LXC还原包 |
5.系统镜像 | 虚拟机的系统镜像(Win11/Ubuntu/飞牛fnOS) |
BIOS设置
提前在BIOS开启以下设置
开启VT-d --必须开启,英特尔叫vt-d,AMD叫iommu
- 开启SRIOV --如有
- 开启Above 4G --如有
关闭安全启动 --在security菜单 secure boot 改disabled
PVE的安装和基本设置
PVE烧录U盘
提前把balenaEtcher烧录工具
和PVE安装镜像
下载好,这里我用的是proxmox-ve_9.0-1.iso
版本,用balenaEtcher
烧录工具将镜像写入U盘或者移动硬盘,然后插到主机进行PVE的安装。
安装PVE系统
将U盘或者移动硬盘接入主机引导启动到PVE安装界面,采用第一种图形化界面进行安装。PVE系统我这边给了28G,20G作为PVE系统盘用于存些ISO镜像啥的,不需要太大。按自己需要设置。另外8G作为SWAP虚拟内存用。PVE图形界面手动分区安装示意图:
PVE基本设置
使用浏览器登录到PVE后台,需要对PVE进行硬盘挂载和一些基本设置,在PVE Shell
中执行。(以下设置将会大量使用nano文本编辑命令,至于怎么使用nano命令
点我去学习)
删除local-lvm将空间合并到local
前面只给PVE系统盘分配了20G空间,再分出个local-lvm
分区那local
系统分区就没多少空间了,所以我们需要进行合并,删除local-lvm
。
# 使用命令删除local-lvm
lvremove /dev/pve/data
# 输入y,确认,输出以下信息即成功
Do you really want to remove active logical volume pve/data? [y/n]: y
Logical volume "data" successfully removed.
# 再将local-lvm的空间转移到pve-root
lvextend -rl +100%FREE /dev/pve/root
# 输出以下信息即合并local分区成功
Size of logical volume pve/root changed from <9.75 GiB (2495 extents) to <19.50 GiB (4991 extents).
Logical volume pve/root successfully resized.
resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/mapper/pve-root is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/mapper/pve-root is now 5110784 (4k) blocks long.
删除了lvm-thin
之后,还需要在Web
删除local-lvm
才算完成。
把剩余的空间挂载为PVE数据存储池
最后就是把剩余的硬盘空间用作PVE数据存储池,需要做下硬盘分区。(这里要根据自己实际硬盘ID操作,我这里的是sda,用M.2硬盘的可能是nvme0n1不要盲目照抄)@零帧起手
硬盘分区好后,可以到PVE控制台看到硬盘分区情况
接着就是将该分区挂载为PVE数据存储池,把虚拟机安装到该存储池下就行。
PVE换源
更换国内源主要是为了解决网络访问问题、提升下载速度、确保系统更新的可靠性,同时避免付费订阅的要求。
更换系统源中科大源
# 替换 Debian 官方源和安全源为中科大源
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
更换企业源中科大源
# 关闭官方订阅企业源
sed -i '/Types:/a Enabled: false' /etc/apt/sources.list.d/pve-enterprise.sources
# 新增无订阅企业源为中科大源
cat > /etc/apt/sources.list.d/pve-no-subscription.sources <<EOF
Types: deb
URIs: https://mirrors.ustc.edu.cn/proxmox/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
更换Ceph源中科大源
# 匹配当前Ceph版本和系统版本并更换为社区无订阅的中科大源
if [ -f /etc/apt/sources.list.d/ceph.sources ]; then
CEPH_CODENAME=`ceph -v | grep ceph | awk '{print $(NF-1)}'`
source /etc/os-release
cat > /etc/apt/sources.list.d/ceph.sources <<EOF
Types: deb
URIs: https://mirrors.ustc.edu.cn/proxmox/debian/ceph-$CEPH_CODENAME
Suites: $VERSION_CODENAME
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
fi
执行更新
# 更新软件包
apt update
LXC容器更源国内清华源
# 备份APLInfo.pm
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
# 替换为清华源:
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
# 重启服务后生效
systemctl restart pvedaemon.service
PVE常用优化脚本
# 一键给PVE增加温度和CPU频率显示;硬盘信息;取消弹窗订阅;
(curl -Lf -o /tmp/temp.sh https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh || curl -Lf -o /tmp/temp.sh https://mirror.g hproxy.com/https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh) && chmod +x /tmp/temp.sh && /tmp/temp.sh remod
开启硬件直通
从Proxmox VE 8.0 开始,系统在检测到CPU和芯片组支持 IOMMU 的情况下,会自动启用内核参数,用户通常无需手动在 GRUB 中添加 intel_iommu=on 参数。只需要在主板BIOS开启IO虚拟化功能就能正常直通了。英特尔为vt-d,AMD平台是iommu。
加载内核模块
加载内核模块,使用nano
命令加入以下信息nano /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
屏蔽设备
添加设备黑名单,编辑pve-blacklist.confnano /etc/modprobe.d/pve-blacklist.conf
# 屏蔽NVIDIA显卡
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
# 允许不安全的设备中断
options vfio_iommu_type1 allow_unsafe_interrupts=1
执行更新initramfs
# 更新initramfs
update-initramfs -u -k all
配置 NVIDIA vGPU_Unlock 服务
vGPU_Unlock是解锁 NVIDIA 消费级显卡虚拟化功能的vGPU补丁,消费卡必须安装,原生支持的专业卡,数据中心卡可选安装(推荐也安装,可以解锁NVIDIA限制)。
# 创建vgpu_unlock文件夹
mkdir /etc/vgpu_unlock
# 创建profile_override.toml文件
touch /etc/vgpu_unlock/profile_override.toml
# 创建nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d启动服务
mkdir /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}
# 写入路径信息
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf
# 重新加载服务
systemctl daemon-reload
执行完成后,cat下查看服务配置是否与下边一致cat /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}/*
[Service]
Environment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so
[Service]
Environment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so
下载预编译好的libvgpu_unlock_rs.so
文件
mkdir -p /opt/vgpu_unlock-rs/target/release
cd /opt/vgpu_unlock-rs/target/release
wget -O libvgpu_unlock_rs.so https://yangwenqing.com/files/pve/vgpu/vgpu_unlock/rust/libvgpu_unlock_rs_vgpu19.so
安装 NVIDIA vGPU_HOST 驱动
在宿主机PVE下安装vGPU的HOST驱动。驱动已做修补,自行将host驱动NVIDIA-Linux-x86_64-580.65.05-vgpu-kvm-custom.run
上传到/tmp
目录
# 安装用到的依赖包和header头文件
apt install build-essential dkms mdevctl pve-headers-$(uname -r)
# 前往上传驱动的/tmp目录
cd /tmp
# 赋予执行权限
chmod +x NVIDIA-Linux-x86_64-580.65.05-vgpu-kvm-custom.run
# 安装驱动(默认一路回车直至安装完成即可)
./NVIDIA-Linux-x86_64-580.65.05-vgpu-kvm-custom.run --dkms -m=kernel
# 安装好后执行重启
reboot
其他补充提示:
如要升级|降级vGPU驱动,则需要先卸载,再安装
# 卸载显卡驱动
./NVIDIA-Linux-x86_64-580.65.05-vgpu-kvm-custom.run --uninstall
# 移除显卡相关程序
apt remove --purge nvidia-*
# 再开始安装驱动(默认一路回车直至安装完成即可)
./NVIDIA-Linux-x86_64-580.65.05-vgpu-kvm-custom.run --dkms -m=kernel
重启完成后查看相关服务状态是否正常
# 查看相关服务状态
systemctl status {nvidia-vgpud.service,nvidia-vgpu-mgr.service}
# 重新启动相关服务
systemctl restart {nvidia-vgpud.service,nvidia-vgpu-mgr.service}
# 停止相关服务
systemctl stop {nvidia-vgpud.service,nvidia-vgpu-mgr.service}
正常运转没有错误说明服务正常以下为输出日志:
root@pve9:~# systemctl status {nvidia-vgpud.service,nvidia-vgpu-mgr.service}
○ nvidia-vgpud.service - NVIDIA vGPU Daemon
Loaded: loaded (/usr/lib/systemd/system/nvidia-vgpud.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/nvidia-vgpud.service.d
└─vgpu_unlock.conf
Active: inactive (dead) since Wed 2025-08-27 20:06:00 CST; 3h 46min ago
Invocation: a74e7620de244604b92a71531071bccb
Process: 984 ExecStart=/usr/bin/nvidia-vgpud (code=exited, status=0/SUCCESS)
Main PID: 984 (code=exited, status=0/SUCCESS)
Mem peak: 7.6M
CPU: 634ms
Aug 27 20:06:00 pve9 nvidia-vgpud[984]: Encoder Capacity: 0x64
Aug 27 20:06:00 pve9 nvidia-vgpud[984]: BAR1 Length: 0x100
Aug 27 20:06:00 pve9 nvidia-vgpud[984]: Frame Rate Limiter enabled: 0x1
Aug 27 20:06:00 pve9 nvidia-vgpud[984]: Number of Displays: 4
Aug 27 20:06:00 pve9 nvidia-vgpud[984]: Max pixels: 16384000
Aug 27 20:06:00 pve9 nvidia-vgpud[984]: Display: width 5120, height 2880
Aug 27 20:06:00 pve9 nvidia-vgpud[984]: Multi-vGPU Exclusive supported: 0x1
Aug 27 20:06:00 pve9 nvidia-vgpud[984]: License: GRID-Virtual-PC,2.0;Quadro-Virtual-DWS,5.0;GRID-Virtual-WS,2.0;GRID-Virtual-WS-Ext,2.0
Aug 27 20:06:00 pve9 systemd[1]: nvidia-vgpud.service: Deactivated successfully.
Aug 27 20:06:00 pve9 systemd[1]: Finished nvidia-vgpud.service - NVIDIA vGPU Daemon.
● nvidia-vgpu-mgr.service - NVIDIA vGPU Manager Daemon
Loaded: loaded (/usr/lib/systemd/system/nvidia-vgpu-mgr.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/nvidia-vgpu-mgr.service.d
└─vgpu_unlock.conf
Active: active (running) since Wed 2025-08-27 20:06:00 CST; 3h 46min ago
Invocation: f323e4299db44e0e9077dbaa55110d14
Process: 1200 ExecStart=/usr/bin/nvidia-vgpu-mgr (code=exited, status=0/SUCCESS)
Main PID: 1208 (nvidia-vgpu-mgr)
Tasks: 6 (limit: 38267)
Memory: 37.9M (peak: 78.3M)
CPU: 7.743s
CGroup: /system.slice/nvidia-vgpu-mgr.service
├─1208 /usr/bin/nvidia-vgpu-mgr
└─1574 vgpu
随后使用nvidia-smi
以下为输出日志:
root@pve9:~# nvidia-smi
Wed Aug 27 23:54:38 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.65.05 Driver Version: 580.65.05 CUDA Version: N/A |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA P106-100 On | 00000000:08:00.0 Off | N/A |
| 23% 46C P8 7W / 120W | 1041MiB / 6144MiB | 1% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1574 C+G vgpu 1012MiB |
+-----------------------------------------------------------------------------------------+
root@pve9:~# nvidia-smi vgpu
Wed Aug 27 23:54:44 2025
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 580.65.05 Driver Version: 580.65.05 |
|---------------------------------+------------------------------+------------+
| GPU Name | Bus-Id | GPU-Util |
| vGPU ID Name | VM ID VM Name | vGPU-Util |
|=================================+==============================+============|
| 0 NVIDIA P106-100 | 00000000:08:00.0 | 0% |
| 3251634191 GRID T4-1Q | dd02... Windows10-22H2,d... | 0% |
+---------------------------------+------------------------------+------------+
以及mdevctl types
查看以下为输出日志:
root@pve9:~# mdevctl types
0000:08:00.0
nvidia-222
Available instances: 15
Device API: vfio-pci
Name: GRID T4-1B
Description: num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=16
nvidia-223
Available instances: 0
Device API: vfio-pci
Name: GRID T4-2B
Description: num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=8
nvidia-224
Available instances: 0
Device API: vfio-pci
Name: GRID T4-2B4
Description: num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=8
nvidia-225
Available instances: 15
Device API: vfio-pci
Name: GRID T4-1A
Description: num_heads=1, frl_config=60, framebuffer=1024M, max_resolution=1280x1024, max_instance=16
nvidia-226
Available instances: 0
Device API: vfio-pci
Name: GRID T4-2A
Description: num_heads=1, frl_config=60, framebuffer=2048M, max_resolution=1280x1024, max_instance=8
nvidia-227
Available instances: 0
Device API: vfio-pci
Name: GRID T4-4A
Description: num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=1280x1024, max_instance=4
nvidia-228
Available instances: 0
Device API: vfio-pci
Name: GRID T4-8A
Description: num_heads=1, frl_config=60, framebuffer=8192M, max_resolution=1280x1024, max_instance=2
nvidia-229
Available instances: 0
Device API: vfio-pci
Name: GRID T4-16A
Description: num_heads=1, frl_config=60, framebuffer=16384M, max_resolution=1280x1024, max_instance=1
nvidia-230
Available instances: 15
Device API: vfio-pci
Name: GRID T4-1Q
Description: num_heads=4, frl_config=60, framebuffer=1024M, max_resolution=5120x2880, max_instance=16
Ampere架构显卡开启vGPU
Ampere架构的显卡在PVE安装好vGPU HOST驱动后,还需要开启VF才能使用vGPU,开启VF前你需要在BIOS打开SR-IOV功能。(用的不是Ampere架构以上的显卡请跳过这部分@零帧起手
)
在PVE Shell 新建一个Systemd自启动服务,开机自启动VF
cat > /etc/systemd/system/nvidia-sriov.service <<EOF
[Unit]
Description=Enable NVIDIA SR-IOV
After=network.target nvidia-vgpud.service nvidia-vgpu-mgr.service
Before=pve-guests.service
[Service]
Type=oneshot
ExecStartPre=/bin/sleep 5
ExecStart=/usr/lib/nvidia/sriov-manage -e ALL
[Install]
WantedBy=multi-user.target
EOF
打开VF后,就可以选Mdev类型开启vGPU给虚拟机了。
# 重新加载服务
systemctl daemon-reload
# 设置nvidia-sriov.service,开机自启动
systemctl enable nvidia-sriov.service
# 启动VF
systemctl restart nvidia-sriov.service
像RTX A5000/A6000这类带显示接口的显卡,还需要切换到无显示模式才能用vGPU,先切换好无显示模式再来安装驱动顺序不能乱。
# 下载displaymodeselector工具到PVE根目录
wget https://yun.yangwenqing.com/NVIDIA/vGPU/NVIDIA/Tools/NVIDIA_Display_Mode_Selector_Tool/displaymodeselector
# 授权可执行文件
chmod +x displaymodeselector
# 切换无显示模式,跟着提示步骤进行关闭
./displaymodeselector --gpumode
# 重启PVE后生效
reboot
创建vGPU资源映射
如果机器的PCI设备列表有很多,或者设备里存在多张显卡又或者在用Ampere架构及以上的显卡采用的是SR-IOV拆分,会多出很多个VF设备。直接从原始设备中添加vGPU的时候很难查找。
这时就可以来创建PCI设备的资源映射,这样在添加vGPU设备时能更快的选择到我们vGPU设备。A5000采用SR-IOV拆分,会多出很多个VF设备,只需要全部勾选
添加PCI设备时,在映射的设备列表就能找到我们需要的vGPU设备。
搭建fastapi-dls授权服务
NVIDIA vGPU并非免费产品,需要对vGPU驱动购买许可才能正常使用vGPU,这里我用的是技术社区fastapi-dls
项目来取得90天的试用许可。我这里提供一个PVE的LXC容器,使用docker服务部署的fastapi-dls授权。
LXC容器信息:
NVIDIA vGPU 驱动授权服务器(90天授权期,客户端在每13天12点续订1次许可证,授权服务需要保持运行才能自动续期)
FASTAPI-DLS 版本:2.0.2
CT容器IP:10.10.10.99
登录LXC账号:root
登录LXC密码:123123
1)将下载下来的LXC容器还原包vzdump-lxc-999-2025_07_31-19_21_51.tar.zst
上传到PVE的/var/lib/vz/dump/
路径下。然后进行还原
2)并将原来的IP改为自己局域网的IP,这里我用10.10.10.251
。
3)开机并登录LXC容器(账号:root
密码:123123
)并创建fastapi-dls
授权服务。注意下边的IP10.10.10.251
改为自己的IP。
docker run --restart always -d -e DLS_URL=10.10.10.251 -e DLS_PORT=443 -p 443:443 makedie/fastapi-dls:2.0.2
# 检查fastapi-dls容器是否正在运行
docker ps
创建虚拟机(Win11)
把Win11镜像
和virtio-win-0.1.271.iso
驱动上传到PVE。然后在PVE上创建一个Win11虚拟机(24h2)实例注意:vGPU19.0版本需要系统版本在22h2及以上才能正常使用,低于22h2的系统版本是没法安装驱动的。
安装虚拟机(Win11)
启动虚拟机,开始安装Win11
配置虚拟机(Win11)
1)安装virtio驱动
安装好Win11后,把Virtio驱动给打上,进到CD光驱盘运行virtio-win-guest-tools
直接下一步直至安装完成
2)启用QEMU Guest Agent
安装好后,PVE的虚拟机概要处上可以看到ip信息
,如果看不到ip信息,请在关闭虚拟机,在虚拟机的选项
中,启用QEMU Guest Agent
3)开启RDP远程桌面
在系统设置开启RDP远程桌面
4)允许RDP显卡加速
RDP 支持无显卡运行,在远程桌面的时候默认是不调用显卡,可以开启它,让它支持显卡加速。
首先打开虚拟机上的组策略gpedit.msc
,依次找到计算机配置->管理模板->Windows组件->远程桌面服务->远程桌面会话主机->远程会话环境
在右边选择将硬件图形适配器应用于所有远程桌面服务会话 右键编辑
,选择已启用
,确定保存。
5)解除RDP 30帧限制
RDP 默认的帧率限制在30帧,可以设置为60帧传输。
在注册表打开该路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
在空白处右键->新建->DWORD(32位)值
,命名为DWMFRAMEINTERVAL
,双击刚添加的这一项,基数选择为十进制
,数值数据填写15
,确定保存重启生效。
6)关闭防火墙
关闭Windows防火墙,或者放行3389远程桌面端口
7)关闭睡眠/屏幕
在系统设置中,把屏幕超时改为从不
配置vGPU(Guest驱动)
1)添加vGPU设备
PCI设备:选nvidia显卡(勾选ROM-Bar和PCIE在Mdev类型中选择vgpu设备230)
音频设备:ich9-intel-hda/后端驱动器:无(不添加的话,串流玩游戏时是没有声音的)
其中 GRID T4-1Q (nvidia-230) 是 mdev 的名字,GRID T4--显卡名,1--1G 显存,Q 代表 vWS,nvidia-230 代表ID
关于最后一位字母,如下:
Q:为需要Quadro技术的性能和功能的创意和技术专业人员提供的虚拟工作站 - CUDA OpenGL
C:计算密集型服务器工作负载,如人工智能、深度学习或高性能计算。- CUDA Only
B:为业务专业人员和知识工作者提供的虚拟桌面 - 45FPS MAX
A:为虚拟应用的用户,提供应用流或基于会话的解决方案 - Good for RDSH
3D渲染,游戏,AI运算,请选择Q系列型号即可
。2)安装Guest驱动
从vGPU 18.x开始,NVIDIA技术团队添加了 NLS ROOT CA 证书验证来保护vGPU授权数据,所以要想正常使用GRID显卡驱动还得想办法把驱动证书强校验给破解。以下是在网上找到的破解方法patched-nvidia-grid-drivers,通过
FastAPI-DLS
搭配patched-nvidia-grid-driver
来跳过证书检查。将GRID驱动和nvxdapix.dll补丁复制到虚拟机
# Windows GRID驱动程序
580.88_grid_win10_win11_server2022_dch_64bit_international.exe
# vGPU19.0的nvxdapix.dll补丁用于修补WIN GRID驱动程序
https://github.com/rbqvq/patched-nvidia-grid-drivers/blob/master/patched/19.0/nvxdapix.dll
双击打开GRID驱动程序,等待程序解压完成,并前往程序解压好的路径
将下载下来的nvxdapix.dll
补丁替换到Display.Driver
文件夹下,然后开始安装GRID驱动程序
安装GRID驱动选择精简安装,遇到Windows安全中心的弹窗选择始终安装此驱动程序软件即可。
3)授权GRID驱动
在浏览器访问fastapi-dls授权服务:https://10.10.10.251/-/client-token
会自动下载好授权文件
将文件放入C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\
这个目录下
3) 重启NVIDIA Display Container Ls服务,即可获得授权如授权失败:①需要检查虚拟机的时间是否对得上授权服务器时间;②fastapi-dls授权服务是否为2.X版本,vGPU18.x后版本必须升级到2.X版本
4)使用远程桌面工具连接上虚拟机跑个鲁大师测试一下显卡是否正常驱动并工作
想解除60帧?
编辑
nano /etc/vgpu_unlock/profile_override.toml
文件,加入以下信息关闭虚拟机重新开机生效。[profile.nvidia-230]
cuda_enabled = 1
frl_enabled = 0
vgpu_type = "NVS"
参数说明:
[profile.nvidia-230]nvidia-230 为vgpu型号的参数。如选的不是230则改成自己选的那个型号。
cuda_enabled = 1是否开启cuda
frl_enabled = 0 是否限制帧数,0为不限制
vgpu_type = "NVS" 修复Q系列OpenGL性能异常问题

创建虚拟机(Ubuntu 2504)
演示的是用最新的Ubuntu 2504 桌面版本,内核为linux-image-6.14.0-29-generic
[scode type="share"]
创建Ubuntu虚拟机(2504)
名称:自定义
光驱挂载:Ubuntu安装ISO镜像
系统中显卡:默认
机型:q35
BIOS:默认 (SeaBIOS)
磁盘:SCSI 大小100G(按需设置,或硬盘直通)
CPU:host 核心数量4(按需设置)
内存:8G
网络:virtIO 网卡
添加PCI设备:nvidia显卡(勾选ROM-Bar和PCIE在Mdev类型中选择vgpu设备)
音频设备:ich9-intel-hda/后端驱动器:无

安装驱动
1) 安装显卡驱动前先将需要的依赖文件打上
# 安装ssh工具,使用第三方SSH工具(putty,终端)连接到Ubuntu,PVE里面控制台无法复制命令
sudo apt-get install openssh-server
# 需要所需依赖
sudo apt install build-essential linux-headers-generic libglvnd-dev pkg-config -y
# 安装dkms
sudo apt install dkms -y
# 安装32位兼容库
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 -y
2)屏蔽自带的显卡驱动
# 创建blacklist-nouveau.conf文件
sudo nano /etc/modprobe.d/blacklist-nouveau.conf
# 在blacklist-nouveau.conf文件添加如下内容:
blacklist nouveau
options nouveau modeset=0
# 重载内核initramfs
sudo update-initramfs -u
# 重启Ubuntu
sudo reboot
# 重启完成后检查nouveau是否已禁用,没有任何输出说明已经禁用
lsmod | grep nouveau
# 切换到文本命令行控制台
sudo chvt 3
# 关闭图形界面服务
sudo service gdm stop
3)安装显卡GRID驱动,将NVIDIA-Linux-x86_64-580.65.06-grid.run
上传到/root
目录下
# 切换root权限
sudo -i
# 给可执行权限
cd /root && chmod +x NVIDIA-Linux-x86_64-580.65.06-grid.run
# 安装驱动(默认回车直至安装完成即可)
./NVIDIA-Linux-x86_64-580.65.06-grid.run --dkms
# 安装完驱动后删除官方nvidia-gridd文件
rm -f /usr/bin/nvidia-gridd
# 下载破解好的nvidia-gridd文件
wget -O /usr/bin/nvidia-gridd https://github.com/rbqvq/patched-nvidia-grid-drivers/raw/refs/heads/master/patched/19.0/nvidia-gridd
# 授予可执行权限
chmod +x /usr/bin/nvidia-gridd
# 重启服务
systemctl restart nvidia-gridd
4)使用nvidia-smi
验证驱动是否正常
ubuntu@ubuntu-Standard-PC-Q35-ICH9-2009:~$ nvidia-smi
Thu Aug 28 23:02:49 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.65.06 Driver Version: 580.65.06 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 GRID T4-1Q On | 00000000:01:00.0 Off | N/A |
| N/A N/A P0 N/A / N/A | 11MiB / 4096MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1454 G /usr/lib/xorg/Xorg 10MiB |
+-----------------------------------------------------------------------------------------+
启用授权
# 获取授权文件,以下IP替换成自己的授权服务IP
wget --no-check-certificate -O /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok https://10.10.10.251/-/client-token
# 或者
curl --insecure -L -X GET https://10.10.10.251/-/client-token -o /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok
验证授权
# 重启服务
sudo service nvidia-gridd restart
# 验证授权获取情况
nvidia-smi -q | grep License
# 看到有Licensed字样,就授权好了。
ubuntu@ubuntu-Standard-PC-Q35-ICH9-2009:~$ nvidia-smi -q | grep License
vGPU Software Licensed Product
License Status : Licensed (Expiry: 2025-11-26 14:31:55 GMT)
如果你需要用vGPU跑大模型,可能还需要安装CUDA/CuDNN,vGPU19.0支持最新的CUDA 13.0版本,当然cuda12 cuda11版本也是可以安装。
安装CUDA
打开官网:https://developer.nvidia.com/cuda-toolkit-archive选择CUDA 13.0,如下图选择Linux及对应的架构、系统、版本和安装形式
:
复制网站给我们的安装命令,依次在终端中输入:
# 下载cuda 13 安装程序
wget https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda_13.0.0_580.65.06_linux.run
# 执行安装cuda程序
sudo sh cuda_13.0.0_580.65.06_linux.run
输入accept
接受条款
┌──────────────────────────────────────────────────────────────────────────────┐
│ End User License Agreement │
│ -------------------------- │
│ │
│ NVIDIA Software License Agreement and CUDA Supplement to │
│ Software License Agreement. │
│ │
│ The CUDA Toolkit End User License Agreement applies to the │
│ NVIDIA CUDA Toolkit, the NVIDIA CUDA Samples, the NVIDIA │
│ Display Driver, NVIDIA Nsight tools (Visual Studio Edition), │
│ and the associated documentation on CUDA APIs, programming │
│ model and development tools. If you do not agree with the │
│ terms and conditions of the license agreement, then do not │
│ download or use the software. │
│ │
│ Last updated: January 12, 2025 │
│ │
│ │
│ Preface │
│ ------- │
│ │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit): │
│ accept │
└──────────────────────────────────────────────────────────────────────────────┘
注意:由于之前以及安装过驱动了,这次不要再安装驱动。在Driver
这里按ENTER将勾去掉!将2项CUDA选项勾选然后选择Install
┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer │
│ - [ ] Driver │
│ [ ] 580.65.06 │
│ + [X] CUDA Toolkit 13.0 │
│ [X] CUDA Documentation 13.0 │
│ - [ ] Kernel Objects │
│ [ ] nvidia-fs │
│ Options │
│ Install │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │
└──────────────────────────────────────────────────────────────────────────────┘
安装完成后,来配置环境变量:
nano 编辑bashrc文件nano ~/.bashrc
# 在最后添加以下变量信息
export PATH=$PATH:/usr/local/cuda-13.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-13.0/lib64
最后,使其生效
source ~/.bashrc
执行nvcc -V
即可查看CUDA版本
root@ubuntu-Standard-PC-Q35-ICH9-2009:~# nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jul_16_07:30:01_PM_PDT_2025
Cuda compilation tools, release 13.0, V13.0.48
Build cuda_13.0.r13.0/compiler.36260728_0
安装CuDNN
打开官网:https://developer.nvidia.com/cudnn-downloads选择CuDNN 9.12.0,如下图选择Linux及对应的架构、系统、版本和安装形式
:
复制网站给我们的安装命令,依次在终端中输入:
wget https://developer.download.nvidia.com/compute/cudnn/9.12.0/local_installers/cudnn-local-repo-ubuntu2404-9.12.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2404-9.12.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2404-9.12.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn9-cuda-13