近年来,随着5G网络、云计算和虚拟化技术的快速发展,云手机和云电脑逐渐进入大众视野。无论是企业还是个人用户,都可以通过云端提供的算力,在任意设备(如手机、平板、低配电脑)上流畅运行高性能应用和操作系统。那么如何像云厂商一样在本地构建一套私有化云桌面呢?嘿嘿,还真有。本教程将指导你使用 Proxmox VE (PVE) 来构建一个简单的家庭私有云桌面环境

准备工作

预期想法:在家里配置一台高性能主机,购买一些瘦客户机将客户机放在各个房间跟客厅。通过PVE方案构建一个基于家庭环境的高性能虚拟桌面基础设施(VDI)系统,实现在家庭各个房间无缝访问高性能计算资源。

  • 准备一台高性能PC或者服务器(做服务端)
    家用级别整个工作站或者塔式服务器就行,机架式噪音受不了。
  • 准备一些x86_64架构的瘦客户机(做客户端)
    洋垃圾:惠普HP400G2 mini 小主机 100元出头

    移动式,可以整些云笔记本或者老旧笔记本

    懒人免部署篇

    如果你是萌新或者是对pve基础较弱的用户,可以用我封装好的PVE镜像用balenaEtcher烧录工具写入硬盘启动即可。可以做到免部署开机即用。即节约时间又避免部署过程中产生的坑。

PVE镜像功能说明(服务端)

1)基于PVE 8.4.1 内核Linux 6.8.12-11-pve版本进行封装;
2)该镜像大小8GB,解压后用balenaEtcher烧录工具写入硬盘。账号:root,密码:123456
3)管理口默认为主机的第一个口,DHCP模式
4)预装 NVIDIA VGPU_Unlock服务,解除消费卡VGPU限制;
5)预装 NVIDIA VGPU17.0_HOST驱动,在PVE Shell 执行nvidia-smi可以查看;
6)提供fastapi-dls 授权驱动服务的LXC还原包,365天周期,长期用自动续期;
7)已对PVE做了模拟真实机器防检测的pve-qemu-kvm包安装,基于李晓流的9.2.0-5版本

PVE镜像使用方法--点我展开

PVE镜像使用方法:

1)可以使用U盘或者Ventoy引导进入到PE系统,PE系统推荐:FirPE点我前往

2)进入PE后,打开DiskGenius分区工具,将要安装PVE的硬盘清空一下分区

3)打开balenaEtcher烧录工具,将PVE镜像烧录到硬盘

4)重启主机,进入PVE系统。通过显示器给出的IP地址访问PVE管理后台即可。PVE管理口默认为第一个网口,多网口的主机记得将网线插第一个口,不然无法获取IP,确保自己的局域网是开启了DHCP否则也是无法获取IP的

PS:如果实在不显示IP,可以手动登录控制台,查看网卡情况和获取到的IP信息。账号为:root 密码为:123456(linux特性在控制台输入密码是不会显示输出的,输入完密码回车就行)

5)浏览器登录PVE后台:https://你的IP:8006。登录进来后将硬盘所剩的空间合并到root根目录下。

# 一键将系统盘空闲容量扩容到root根目录(LVM + ext4)
bash pve_extend_root.sh


6)最后就是将PVE管理地址由dhcp改为静态IP,防止PVE后台随意变更IP


云桌面OS镜像说明(客户端)

1)基于轻量级 Linux 发行版 Porteus5.0作为底层 x86_64架构;
2)该镜像大小890MB,支持U盘启动ISO镜像启动硬盘启动支持BIOS及UEFI双模式启动
3)默认登录为Guest用户提权需要root密码:toor
4)集成PVE VDIClientPXVDI客户端模块,支持 Spice、RDP、VNC 、Horizon等主流协议;
5)模块还加入了常用远程软件如向日葵、ToDesk、RustDesk、Sunshine串流,Parsec串流

云桌面OS镜像使用方法--点我展开

云桌面OS镜像使用方法:

云桌面镜像支持BIOS及UEFI双模式启动,下边将介绍这2种方式分别如何安装。安装前请进瘦客户机的BIOS设置好相应的启动方式。

一、BIOS启动安装方式:

1)找个U盘使用rufus工具将镜像烧录到U盘,BIOS启动烧录U盘的时候记得选MBR分区

2)将U盘插到瘦客户机启动云桌面OS。

3)打开GParted分区工具,对硬盘进行分区并将镜像安装到硬盘。

3)我这里使用一块1GB的硬盘来安装,首先给它创建MBR分区表以支持BIOS启动。

3)接着来创建分区,使用整个硬盘空间,创建一个ext4格式的主分区。并应用等待创建完成。

4)挂载分区到/mnt/sda1

5)打开Porteus Installer工具,将系统写入硬盘,就可以拔掉U盘,以硬盘启动云桌面OS了。

二、UEFI启动安装方式:

1)找个U盘使用rufus工具将镜像烧录到U盘,然后用U盘启动到云桌面OS。

2)启动到云桌面OS后,打开GParted分区工具,对硬盘进行分区并将镜像安装到硬盘。

3)我这里使用一块8GB的硬盘来安装,首先给它创建GPT分区表以支持UEFI启动。

4)接着来创建一个EFI分区,分配300M采用fat32格式

5)最后将剩余的所有空间创建一个名为porteusext4分区

6)将创建的这2个分区分别挂载到/mnt/sda1/mnt/sda2我这里系统识别硬盘为sda,按系统给的挂载就行。

7)打开文件窗口,查看一下U盘被系统挂载到哪个路径,我这边是挂载到/mnt/sdc1需要将里面的文件复制到硬盘

8)打开终端软件,以root权限运行,并执行以下命令将U盘的文件复制到硬盘。

# 获取root权限
sudo -i
# 将U盘的EFI文件夹复制到硬盘ESP分区下
cp -r /mnt/sdc1/EFI/ /mnt/sda1/
# 将U盘的boot文件夹复制到硬盘ESP分区下
cp -r /mnt/sdc1/boot/ /mnt/sda1/
# 将U盘的porteus文件夹复制到硬盘porteus分区下
cp -r /mnt/sdc1/boot/ /mnt/sda2/


9)编辑硬盘portues分区下的portues文件夹下porteus-v5.0-x86_64.cfg文件将里面这句from=/mnt/sda2/porteus的注释#删除掉。到这系统就安装到硬盘了。可以拔掉U盘,以硬盘启动云桌面OS了。

# 使用nano命令编辑porteus-v5.0-x86_64.cfg文件,nano保存按Ctrl +x按y,回车即可保存。
nano /mnt/sda2/porteus/porteus-v5.0-x86_64.cfg


10)硬盘启动云桌面后,可以将自己常用软件添加为桌面快捷方式。


教程正式开始

服务端部分

服务端将采用Proxmox VE(PVE)免费且开源,无需支付高昂的授权费用,适合个人和家庭用户。

一、安装Proxmox VE

自行在高性能PC或者服务器上安装好PVE或者使用我封装好的PVE镜像,相关安装过程略过。

二、部署NVIDIA vGPU

有需要用到NVIDIA显卡做云桌面的,可以看往期这篇文章。
显卡支不支持NVIDIA VGPU虚拟化拆分的,可以点开下边列表进行查阅。

NVIDIA 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模拟型号
21c4TU116 GeForce GTX 1660 SUPERQuadro RTX 6000
21d1TU116BM GeForce GTX 1660 Ti MobileQuadro RTX 6000
21c2TU116Quadro RTX 6000
2182TU116 GeForce GTX 1660 TiQuadro RTX 6000
2183TU116Quadro RTX 6000
2184TU116 GeForce GTX 1660Quadro RTX 6000
2187TU116 GeForce GTX 1650 SUPERQuadro RTX 6000
2188TU116 GeForce GTX 1650Quadro RTX 6000
2191TU116M GeForce GTX 1660 Ti MobileQuadro RTX 6000
2192TU116M GeForce GTX 1650 Ti MobileQuadro RTX 6000
21aeTU116GLQuadro RTX 6000
21bfTU116GLQuadro RTX 6000
2189TU116 CMP 30HXQuadro RTX 6000
1fbfTU117GLQuadro RTX 6000
1fbbTU117GLM Quadro T500 MobileQuadro RTX 6000
1fd9TU117BM GeForce GTX 1650 Mobile RefreshQuadro RTX 6000
1ff9TU117GLM Quadro T1000 MobileQuadro RTX 6000
1fddTU117BM GeForce GTX 1650 Mobile RefreshQuadro RTX 6000
1f96TU117M GeForce GTX 1650 Mobile / Max-QQuadro RTX 6000
1f99TU117MQuadro RTX 6000
1faeTU117GLQuadro RTX 6000
1fb8TU117GLM Quadro T2000 Mobile / Max-QQuadro RTX 6000
1fb9TU117GLM Quadro T1000 MobileQuadro RTX 6000
1f97TU117M GeForce MX450Quadro RTX 6000
1f98TU117M GeForce MX450Quadro RTX 6000
1f9cTU117M GeForce MX450Quadro RTX 6000
1f9dTU117M GeForce GTX 1650 Mobile / Max-QQuadro RTX 6000
1fb0TU117GLM Quadro T1000 MobileQuadro RTX 6000
1fb1TU117GL T600Quadro RTX 6000
1fb2TU117GLM Quadro T400 MobileQuadro RTX 6000
1fbaTU117GLM T600 MobileQuadro RTX 6000
1f42TU106 GeForce RTX 2060 SUPERQuadro RTX 6000
1f47TU106 GeForce RTX 2060 SUPERQuadro RTX 6000
1f50TU106BM GeForce RTX 2070 Mobile / Max-QQuadro RTX 6000
1f51TU106BM GeForce RTX 2060 MobileQuadro RTX 6000
1f54TU106BM GeForce RTX 2070 MobileQuadro RTX 6000
1f55TU106BM GeForce RTX 2060 MobileQuadro RTX 6000
1f81TU117Quadro RTX 6000
1f82TU117 GeForce GTX 1650Quadro RTX 6000
1f91TU117M GeForce GTX 1650 Mobile / Max-QQuadro RTX 6000
1f92TU117M GeForce GTX 1650 MobileQuadro RTX 6000
1f94TU117M GeForce GTX 1650 MobileQuadro RTX 6000
1f95TU117M GeForce GTX 1650 Ti MobileQuadro RTX 6000
1f76TU106GLM Quadro RTX 3000 Mobile RefreshQuadro RTX 6000
1f07TU106 GeForce RTX 2070 Rev. AQuadro RTX 6000
1f08TU106 GeForce RTX 2060 Rev. AQuadro RTX 6000
1f09TU106 GeForce GTX 1660 SUPERQuadro RTX 6000
1f0aTU106 GeForce GTX 1650Quadro RTX 6000
1f10TU106M GeForce RTX 2070 MobileQuadro RTX 6000
1f11TU106M GeForce RTX 2060 MobileQuadro RTX 6000
1f12TU106M GeForce RTX 2060 Max-QQuadro RTX 6000
1f14TU106M GeForce RTX 2070 Mobile / Max-Q RefreshQuadro RTX 6000
1f15TU106M GeForce RTX 2060 MobileQuadro RTX 6000
1f2eTU106MQuadro RTX 6000
1f36TU106GLM Quadro RTX 3000 Mobile / Max-QQuadro RTX 6000
1f0bTU106 CMP 40HXQuadro RTX 6000
1eb5TU104GLM Quadro RTX 5000 Mobile / Max-QQuadro RTX 6000
1eb6TU104GLM Quadro RTX 4000 Mobile / Max-QQuadro RTX 6000
1eb8TU104GL Tesla T4Quadro RTX 6000
1eb9TU104GLQuadro RTX 6000
1ebeTU104GLQuadro RTX 6000
1ec2TU104 GeForce RTX 2070 SUPERQuadro RTX 6000
1ec7TU104 GeForce RTX 2070 SUPERQuadro RTX 6000
1ed0TU104BM GeForce RTX 2080 MobileQuadro RTX 6000
1ed1TU104BM GeForce RTX 2070 SUPER Mobile / Max-QQuadro RTX 6000
1ed3TU104BM GeForce RTX 2080 SUPER Mobile / Max-QQuadro RTX 6000
1f02TU106 GeForce RTX 2070Quadro RTX 6000
1f04TU106Quadro RTX 6000
1f06TU106 GeForce RTX 2060 SUPERQuadro RTX 6000
1ef5TU104GLM Quadro RTX 5000 Mobile RefreshQuadro RTX 6000
1e81TU104 GeForce RTX 2080 SUPERQuadro RTX 6000
1e82TU104 GeForce RTX 2080Quadro RTX 6000
1e84TU104 GeForce RTX 2070 SUPERQuadro RTX 6000
1e87TU104 GeForce RTX 2080 Rev. AQuadro RTX 6000
1e89TU104 GeForce RTX 2060Quadro RTX 6000
1e90TU104M GeForce RTX 2080 MobileQuadro RTX 6000
1e91TU104M GeForce RTX 2070 SUPER Mobile / Max-QQuadro RTX 6000
1e93TU104M GeForce RTX 2080 SUPER Mobile / Max-QQuadro RTX 6000
1eabTU104MQuadro RTX 6000
1eaeTU104MQuadro RTX 6000
1eb0TU104GL Quadro RTX 5000Quadro RTX 6000
1eb1TU104GL Quadro RTX 4000Quadro RTX 6000
1eb4TU104GL T4GQuadro RTX 6000
1e04TU102 GeForce RTX 2080 TiQuadro RTX 6000
1e07TU102 GeForce RTX 2080 Ti Rev. AQuadro RTX 6000
1e2dTU102 GeForce RTX 2080 Ti Engineering SampleQuadro RTX 6000
1e2eTU102 GeForce RTX 2080 Ti 12GB Engineering SampleQuadro RTX 6000
1e30TU102GL Quadro RTX 6000/8000Quadro RTX 6000
1e36TU102GL Quadro RTX 6000Quadro RTX 6000
1e37TU102GL GRID RTX T10-4/T10-8/T10-16Quadro RTX 6000
1e38TU102GLQuadro RTX 6000
1e3cTU102GLQuadro RTX 6000
1e3dTU102GLQuadro RTX 6000
1e3eTU102GLQuadro RTX 6000
1e78TU102GL Quadro RTX 6000/8000Quadro RTX 6000
1e09TU102 CMP 50HXQuadro RTX 6000
1dbaGV100GL Quadro GV100Tesla V100 32GB PCIE
1e02TU102 TITAN RTXQuadro RTX 6000
1cfaGP107GL Quadro P2000Tesla P40
1cfbGP107GL Quadro P1000Tesla P40
1d01GP108 GeForce GT 1030Tesla P40
1d10GP108M GeForce MX150Tesla P40
1d11GP108M GeForce MX230Tesla P40
1d12GP108M GeForce MX150Tesla P40
1d13GP108M GeForce MX250Tesla P40
1d16GP108M GeForce MX330Tesla P40
1d33GP108GLM Quadro P500 MobileTesla P40
1d34GP108GLM Quadro P520Tesla P40
1d52GP108BM GeForce MX250Tesla P40
1d56GP108BM GeForce MX330Tesla P40
1d81GV100 TITAN VTesla V100 32GB PCIE
1cb6GP107GL Quadro P620Tesla P40
1cbaGP107GLM Quadro P2000 MobileTesla P40
1cbbGP107GLM Quadro P1000 MobileTesla P40
1cbcGP107GLM Quadro P600 MobileTesla P40
1cbdGP107GLM Quadro P620Tesla P40
1cccGP107BM GeForce GTX 1050 Ti MobileTesla P40
1ccdGP107BM GeForce GTX 1050 MobileTesla P40
1ca8GP107GLTesla P40
1caaGP107GLTesla P40
1cb1GP107GL Quadro P1000Tesla P40
1cb2GP107GL Quadro P600Tesla P40
1cb3GP107GL Quadro P400Tesla P40
1c70GP106GLTesla P40
1c81GP107 GeForce GTX 1050Tesla P40
1c82GP107 GeForce GTX 1050 TiTesla P40
1c83GP107 GeForce GTX 1050 3GBTesla P40
1c8cGP107M GeForce GTX 1050 Ti MobileTesla P40
1c8dGP107M GeForce GTX 1050 MobileTesla P40
1c8eGP107MTesla P40
1c8fGP107M GeForce GTX 1050 Ti Max-QTesla P40
1c90GP107M GeForce MX150Tesla P40
1c91GP107M GeForce GTX 1050 3 GB Max-QTesla P40
1c92GP107M GeForce GTX 1050 MobileTesla P40
1c94GP107M GeForce MX350Tesla P40
1c96GP107M GeForce MX350Tesla P40
1ca7GP107GLTesla P40
1c36GP106 P106MTesla P40
1c07GP106 P106-100Tesla P40
1c09GP106 P106-090Tesla P40
1c20GP106M GeForce GTX 1060 MobileTesla P40
1c21GP106M GeForce GTX 1050 Ti MobileTesla P40
1c22GP106M GeForce GTX 1050 MobileTesla P40
1c23GP106M GeForce GTX 1060 Mobile Rev. 2Tesla P40
1c2dGP106MTesla P40
1c30GP106GL Quadro P2000Tesla P40
1c31GP106GL Quadro P2200Tesla P40
1c35GP106M Quadro P2000 MobileTesla P40
1c60GP106BM GeForce GTX 1060 Mobile 6GBTesla P40
1c61GP106BM GeForce GTX 1050 Ti MobileTesla P40
1c62GP106BM GeForce GTX 1050 MobileTesla P40
1bb8GP104GLM Quadro P3000 MobileTesla P40
1bb9GP104GLM Quadro P4200 MobileTesla P40
1bbbGP104GLM Quadro P3200 MobileTesla P40
1bc7GP104 P104-101Tesla P40
1be0GP104BM GeForce GTX 1080 MobileTesla P40
1be1GP104BM GeForce GTX 1070 MobileTesla P40
1c00GP106Tesla P40
1c01GP106Tesla P40
1c02GP106 GeForce GTX 1060 3GBTesla P40
1c03GP106 GeForce GTX 1060 6GBTesla P40
1c04GP106 GeForce GTX 1060 5GBTesla P40
1c06GP106 GeForce GTX 1060 6GB Rev. 2Tesla P40
1b87GP104 P104-100Tesla P40
1ba0GP104M GeForce GTX 1080 MobileTesla P40
1ba1GP104M GeForce GTX 1070 MobileTesla P40
1ba2GP104M GeForce GTX 1070 MobileTesla P40
1ba9GP104MTesla P40
1baaGP104MTesla P40
1badGP104 GeForce GTX 1070 Engineering SampleTesla P40
1bb0GP104GL Quadro P5000Tesla P40
1bb1GP104GL Quadro P4000Tesla P40
1bb3GP104GL Tesla P4Tesla P40
1bb4GP104GL Tesla P6Tesla P40
1bb5GP104GLM Quadro P5200 MobileTesla P40
1bb6GP104GLM Quadro P5000 MobileTesla P40
1bb7GP104GLM Quadro P4000 MobileTesla P40
1b06GP102 GeForce GTX 1080 TiTesla P40
1b07GP102 P102-100Tesla P40
1b30GP102GL Quadro P6000Tesla P40
1b38GP102GL Tesla P40Tesla P40
1b70GP102GLTesla P40
1b78GP102GLTesla P40
1b80GP104 GeForce GTX 1080Tesla P40
1b81GP104 GeForce GTX 1070Tesla P40
1b82GP104 GeForce GTX 1070 TiTesla P40
1b83GP104 GeForce GTX 1060 6GBTesla P40
1b84GP104 GeForce GTX 1060 3GBTesla P40
1b39GP102GL Tesla P10Tesla P40
1b00GP102 TITAN XTesla P40
1b01GP102 GeForce GTX 1080 Ti 10GBTesla P40
1b02GP102 TITAN XpTesla P40
1b04GP102Tesla P40
179cGM107 GeForce 940MXTesla M10
17c2GM200 GeForce GTX TITAN XTesla M60
17c8GM200 GeForce GTX 980 TiTesla M60
17f0GM200GL Quadro M6000Tesla M60
17f1GM200GL Quadro M6000 24GBTesla M60
17fdGM200GL Tesla M40Tesla M60
1617GM204M GeForce GTX 980MTesla M60
1618GM204M GeForce GTX 970MTesla M60
1619GM204M GeForce GTX 965MTesla M60
161aGM204M GeForce GTX 980 MobileTesla M60
1667GM204M GeForce GTX 965MTesla M60
1725GP100Tesla P40
172eGP100Tesla P40
172fGP100Tesla P40
174dGM108M GeForce MX130Tesla M10
174eGM108M GeForce MX110Tesla M10
1789GM107GL GRID M3-3020Tesla M10
1402GM206 GeForce GTX 950Tesla M60
1406GM206 GeForce GTX 960 OEMTesla M60
1407GM206 GeForce GTX 750 v2Tesla M60
1427GM206M GeForce GTX 965MTesla M60
1430GM206GL Quadro M2000Tesla M60
1431GM206GL Tesla M4Tesla M60
1436GM206GLM Quadro M2200 MobileTesla M60
15f0GP100GL Quadro GP100Tesla P40
15f1GP100GLTesla P40
1404GM206 GeForce GTX 960 FAKETesla M60
13d8GM204M GeForce GTX 970MTesla M60
13d9GM204M GeForce GTX 965MTesla M60
13daGM204M GeForce GTX 980 MobileTesla M60
13e7GM204GL GeForce GTX 980 Engineering SampleTesla M60
13f0GM204GL Quadro M5000Tesla M60
13f1GM204GL Quadro M4000Tesla M60
13f2GM204GL Tesla M60Tesla M60
13f3GM204GL Tesla M6Tesla M60
13f8GM204GLM Quadro M5000M / M5000 SETesla M60
13f9GM204GLM Quadro M4000MTesla M60
13faGM204GLM Quadro M3000MTesla M60
13fbGM204GLM Quadro M5500Tesla M60
1401GM206 GeForce GTX 960Tesla M60
13b3GM107GLM Quadro K2200MTesla M10
13b4GM107GLM Quadro M620 MobileTesla M10
13b6GM107GLM Quadro M1200 MobileTesla M10
13b9GM107GL NVS 810Tesla M10
13baGM107GL Quadro K2200Tesla M10
13bbGM107GL Quadro K620Tesla M10
13bcGM107GL Quadro K1200Tesla M10
13bdGM107GL Tesla M10Tesla M10
13c0GM204 GeForce GTX 980Tesla M60
13c1GM204Tesla M60
13c2GM204 GeForce GTX 970Tesla M60
13c3GM204Tesla M60
13d7GM204M GeForce GTX 980MTesla M60
1389GM107GL GRID M30Tesla M10
1390GM107M GeForce 845MTesla M10
1391GM107M GeForce GTX 850MTesla M10
1392GM107M GeForce GTX 860MTesla M10
1393GM107M GeForce 840MTesla M10
1398GM107M GeForce 845MTesla M10
1399GM107M GeForce 945MTesla M10
139aGM107M GeForce GTX 950MTesla M10
139bGM107M GeForce GTX 960MTesla M10
139cGM107M GeForce 940MTesla M10
139dGM107M GeForce GTX 750 TiTesla M10
13b0GM107GLM Quadro M2000MTesla M10
13b1GM107GLM Quadro M1000MTesla M10
13b2GM107GLM Quadro M600MTesla M10
1347GM108M GeForce 940MTesla M10
1348GM108M GeForce 945M / 945ATesla M10
1349GM108M GeForce 930MTesla M10
134bGM108M GeForce 940MXTesla M10
134dGM108M GeForce 940MXTesla M10
134eGM108M GeForce 930MXTesla M10
134fGM108M GeForce 920MXTesla M10
137aGM108GLM Quadro K620M / Quadro M500MTesla M10
137bGM108GLM Quadro M520 MobileTesla M10
137dGM108M GeForce 940ATesla M10
1380GM107 GeForce GTX 750 TiTesla M10
1381GM107 GeForce GTX 750Tesla M10
1382GM107 GeForce GTX 745Tesla M10
1340GM108M GeForce 830MTesla M10
1341GM108M GeForce 840MTesla M10
1344GM108M GeForce 845MTesla M10
1346GM108M GeForce 930MTesla M10


三、创建虚拟机(Win11)

在PVE上创建一个Win11虚拟机

资源下载

# WINDOWS镜像ISO
https://next.itellyou.cn/
# virtio-win驱动
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/

四、安装虚拟机(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)关闭睡眠/屏幕
在系统设置中,把屏幕超时改为从不

六、配置VDI角色

在PVE的角色菜单创建一个VDIVMUsers的角色,并分配以下特权:VM.Audit VM.Console VM.PowerMgmt VM.Monitor

七、配置VDI用户

在PVE的用户菜单创建一个1000的用户。其中领域选择Proxmox VE authentication server

添加好后就能看到用户了,同时在这个页面还支持修改、删除用户信息和密码。

八、给VDI用户分配虚拟机使用权

在PVE里选中要给VDI用户的虚拟机,点击权限,选择添加,把刚才添加的用户和角色选择进来即可。

到这服务端的设置全部完成了,接着我们来设置瘦客户端。

客户端部分

PVE的VDI客户端,个人觉得比较简单好用的一个是Github开源的 PVE-VDIClient另一个是梨儿方科技开发的 PXVDI。2款都支持主流的SPICE和RDP协议,满足日常云桌面需求。

该云桌面OS是基于轻量级 Linux 发行版 Porteus作为底层 x86_64架构。系统资源占用率低,即使在老旧的硬件上也能流畅运行,很适合放在瘦客户机上跑。系统集成了PVE VDIClient 和 PXVDI 2款PVE的VDI的客户端模块,以及一些常用的远程软件如向日葵、ToDesk、RustDesk、sunshine串流,Parsec串流。

一、配置PVE VDIClient客户端

PVE-VDIClient开源且免费,支持RDP和SPICE协议
1)打开终端,切换到root权限,去编辑VDIClient的配置文件将自己正确的PVE地址填入即可。

# 切换root权限
sudo -i
# 使用nano命令编辑vdiclient.ini文件
nano /etc/vdiclient/vdiclient.ini


在节点,主机这里能查看到自己PVE的主机名

2)配置sudo允许guest用户提权,做这步是为了在重定向USB设备防止权限不足。

# vi命令编辑sudoers文件
sudo visudo
# 在文件末尾添加以下参数,允许 guest 无密码运行所有命令
guest ALL=(ALL) NOPASSWD: ALL 

最后就是给软件加上sudo权限右键软件快捷方式,点击属性,在命令前面加上sudo即可提权。

3)登录 PVE VDIClient客户端,输入服务端创建好的用户1000。进行登录

4)登录进来就可以使用RDP协议进行远程了。

5)如要切换成SPICE协议,需要调整一下虚拟机配置。将显示调整为SPICE,并添加USB和音频重定向。
显示:调整为Spice单显示器,SPICE dual monitor表示为2个显示器,最多可添加4个显示器
USB:添加USB,后端选择spice。添加几个USB就代表客户端支持多少个USB重定向
音频:添加声卡,设备选择ich9-intel-hda 后端选择spice

6)同时在虚拟机的选项处,把SPICE增强启用。

返回客户端就可以使用SPICE协议进行远程了。

二、配置PXVDI客户端

PXVDI客户端由梨儿方科技开发,支持RDP、SPICE、VMware Horizon(blast/pcoip)3个协议

1)打开PXVDI客户端,在设置中配置好服务器信息并保存。

2)高级设置中,还可以对各个协议进行定制调整。

3)登录PXVDI客户端,输入服务端创建好的用户1000进行登录。格式:用户@pve

4)登录进来就能正常远程了。PXVDI客户端更多的使用教学建议到官方文档查阅:PXVDI文档

三、配置Horizon客户端

PVE本身不支持VMware Horizon(blast/pcoip)这类协议,但是可以通过在PVE虚拟机安装Horizon Agent插件直连的方式来实现使用VMware Horizon Client客户端连接我们的PVE虚拟机

1)需要在Win11虚拟机上将Omnissa-Horizon-AgentOmnissa-Horizon-Agent-Direct-Connection安装包下载到虚拟机。

资源下载

# Horizon-Agent
https://yun.yangwenqing.com/Vmware/Omnissa_Horizon/Horizon_8_2503/Omnissa-Horizon-Agent-x86_64-2503-8.15.0-14304348675.exe
# Horizon-Agent-Direct-Connection
https://yun.yangwenqing.com/Vmware/Omnissa_Horizon/Horizon_8_2503/Omnissa-Horizon-Agent-Direct-Connection-x86_64-8.15.0-14304348675.exe

2)由于我们PVE是没有安装Horizo​​n Connection Server服务的,安装时得从命令行安装 Horizo​​n Agent,跳过Horizo​​n Connection Server 注册的参数。相关说明可见官方Horizo​​n Agent使用文档

# 管理员运行CMD,安装 Horizo​​n Agent时加入安装/v VDM_SKIP_BROKER_REGISTRATION=1参数
Omnissa-Horizon-Agent-x86_64-2503-8.15.0-14304348675.exe /v VDM_SKIP_BROKER_REGISTRATION=1


执行后会弹出安装窗口,按提示安装即可。

3)接着安装Horizon-Agent-Direct-Connection这个双击运行安装就行,不需要命令行安装。

4)安装好后重启虚拟机。通过虚拟机IP使用Horizon客户端连接即可。

5)到这PVE虚拟机也可以使用VMware Horizon(blast/pcoip)这类协议了。

四、游戏党配置Sunshine串流

在云端玩游戏推荐采用串流的方式,使用RDP或者SPICE协议来玩游戏会出现丢帧体验不好,建议采用Sunshine串流或Parsec串流方式。客户端云桌面OS已经集成了moonlight,Parsec2款串流工具。只需要在虚拟机配置好串流设置就行。值得注意的是虚拟机配置的显示记得改无,并添加个音频。不然游戏没有声音。
显示:调整为无,不显示。这样串流工具才能正常识别vGPU显卡;改无后PVE web就不能管理虚拟机了,需要远程方式进行管理。
音频:添加声卡,设备选择ich9-intel-hda 后端选择 无

Sunshine+Moonlight串流教学可以看这视频

Sunshine+Moonlight串流【保姆级教学】

总结

当然,说是私有云桌面,但你如果有公网IP或者IPv6的话,做好端口映射后直接在外面就能访问。我目前用IPv6串流方式在小米su7整了个移动办公点,左边串流打黑猴,右边看K线。
瘦客户机为无头骑士macbook pro

广告位招租3
最后修改:2025 年 07 月 02 日
如果觉得我的文章对你有用,请随意赞赏