pve_all-in-one
Proxmox VE 虚拟化平台 All-in-One 搭建教程
补充说明
本文提供了一套完整的 Proxmox VE (PVE) 虚拟化平台搭建教程,旨在打造一个集软路由、NAS、Windows系统于一体的"All in One"家庭服务器。教程涵盖从PVE安装、核显SR-IOV虚拟化,到iKuai、iStoreOS、飞牛FNOS、黑群晖、TrueNAS、Windows 10等多个虚拟系统的部署。
参考视频地址:
- 🎬 PVE 9 安装教程: https://www.bilibili.com/video/BV12VBMBFEc2/
📑 文章目录
✨ 方案特点与功能
本教程构建的 PVE All in One 方案具有以下亮点:
- 一站式虚拟化 🏠:在单台物理主机上整合路由、存储、桌面应用等多种服务,节省设备与空间。
- 硬件直通与优化 ⚡:通过配置 IOMMU、SR-IOV 等技术,实现网卡、显卡等硬件的直通,极大提升虚拟机性能。
- 灵活的网络架构 🌐:可自由搭配 iKuai(主路由)与 iStoreOS/OpenWrt(旁路由),打造高效稳定的家庭网络。
- 强大的存储方案 💾:同时部署飞牛 FNOS、黑群晖、TrueNAS 等多个 NAS 系统,满足不同存储与管理需求。
- 桌面与媒体中心 🎬:轻松运行 Windows 10,并利用核显 SR-IOV 为多个虚拟机提供硬件编解码能力,打造家庭影院。
- 详尽与保姆级 📖:从 BIOS 设置到系统调优,每一步均有详细说明和命令,适合新手入门。
⚙️ 一、PVE 系统安装
1、下载 PVE 系统及写盘软件
- PVE 系统官网下载(选择种子下载更快):点此下载
- 网盘下载(更新可能不及时):[请查看原文链接或视频简介]
2、WinPE 格式硬盘(按需要)
💡 此步骤用于清除硬盘原有数据,避免未知问题。若为新硬盘或已做好备份,可按需操作。
3、PVE 系统写盘
推荐使用 Ventoy,无需反复格式化 U 盘,只需将 ISO 文件拷贝进去即可启动。
- Ventoy:点此下载
- 其他工具如 rufus、balenaEtcher 也可使用。
4、BIOS 设置
开机进入 BIOS,进行以下关键设置:
- Intel 主板:开启
VT,VT-d - AMD 主板:开启
IOMMU,SVM/AMD-Vi - 开启硬盘热拔插
- 开启
Above 4G Decoding,SR-IOV(若有) - 开启网络唤醒(若需要)
- 打开 UEFI 引导,关闭
CSM兼容模式(对 DG1 等纯 UEFI 显卡必需) Resizable BAR/Re-Size BAR Support(可选,对部分 AMD 核显直通有帮助)- 禁用
Secure Boot - 开启来电自启
- 选择 U 盘为第一启动项
5、安装 PVE 系统
- 从 U 盘启动,选择 "Install Proxmox VE"。
- 关键配置项:
- 目标硬盘:选择要被格式化的硬盘。
- 地区与时区:选择
China和Shanghai。 - 管理员密码:为
root用户设置强密码。 - 网络配置:
- 主机名:可随意设置。
- IP 地址:强烈建议设置静态 IP(例如:
10.0.0.254) - 子网掩码:
255.255.255.0 - 网关:
10.10.10.253 - DNS:
10.10.10.253
- 完成安装后重启,记住管理地址(如
https://10.0.0.254:8006)。
6、给 PVE 的扩容(可选项)
⚠️ 移除
local-lvm会合并存储空间,但可能影响快照功能。如果安装盘够大(如 >128GB),可以不操作此步。
lvremove pve/data
# 输入 y 确认
lvextend -l +100%FREE -r pve/root
然后进入 PVE 网页端:数据中心 -> 存储 -> 移除 local-lvm -> 编辑 local,勾选所有内容类型。
7、去除 PVE 无有效订阅提示
根据你的 PVE 版本执行对应命令:
PVE 9.x:
sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy.service
8、开启 PVE 直通功能
-
修改 GRUB 引导参数:
- Intel CPU:
sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init"' /etc/default/grub - AMD CPU:
sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init"' /etc/default/grub📌 参数释义:
iommu=pt:启用 IOMMU 直通支持,提高性能(建议添加)。initcall_blacklist=sysfb_init:屏蔽高版本 PVE 的核显驱动 Bug,便于直通。pcie_acs_override=downstream,multifunction:强制设备独立分组,避免直通导致宿主机卡死。i915.enable_gvt=1:如需开启 Intel GVT-g 虚拟 GPU(共享核显),可添加此项。与直通冲突,二选一。
- Intel CPU:
-
添加所需内核模块:
echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules -
更新配置并重启:
update-grub update-initramfs -u -k all reboot -
验证直通是否开启:
dmesg | grep iommu # 应看到 "DMAR: IOMMU enabled" 或 "AMD-Vi: IOMMU enabled" 类似信息。 lspci -D -nnk # 查看设备列表及分组情况。
🌐 二、虚拟路由安装
🚨 如果你的 PVE 主机将连接到一个独立的路由器(已有网络),可以直接跳过此步,进入 换源 步骤。
1、安装 iKuai(主路由,若需要)
- 下载镜像:iKuai 官方下载
- 创建虚拟机:上传镜像,创建虚拟机。关键步骤是添加并直通多个网卡,并在系统中正确设置 WAN 口和 LAN 口。
- 配置路由:
- 网关设为
10.0.0.1 - DNS 可设置为
223.5.5.5和119.29.29.29 - 默认账号/密码:
admin/admin
- 网关设为
- 测试网络:进入 iKuai 的 Shell 或控制台,执行
ping baidu.com测试网络是否正常。
2、安装 iStoreOS 或 OpenWrt(旁路由,若需要)
iStoreOS 对新手更友好,这里以其为例。
- 下载镜像:iStoreOS 官方下载
- 导入镜像到 PVE:
# 将 `101` 替换为你的虚拟机ID,路径替换为你的img文件实际路径 qm importdisk 101 /var/lib/vz/template/iso/istoreos.img local如果之前没有合并
local-lvm,则命令末尾需改为local-lvm。 - 启动虚拟机并快速设置:在虚拟机控制台输入
quickstart,按照向导设置旁路由 IP(例如10.0.0.2),网关指向主路由 (10.0.0.1)。 - 默认登录:用户名
root,密码password。 - 插件下载:可访问 AUK9527 的插件仓库。
📦 三、给 PVE 换源(建议)
⚠️ 重要提示:目前使用 Intel DG1 等独显进行直通硬解的,不要进行换源和系统更新,否则可能导致驱动失效! 换源前请确保 PVE 可以联网 (
ping baidu.com)。若不通,请检查 PVE 网络设置中的网关和 DNS。
📌 PVE 9.x 换源步骤
国内推荐使用 清华源 或 中科大源。
-
更换 Debian 系统源(必须):
# 备份原文件 cp /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.bak🔧 二选一执行(以下命令会直接覆盖源文件):
-
清华源:
cat > /etc/apt/sources.list.d/debian.sources << 'EOF' Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/debian/ Suites: trixie trixie-updates trixie-backports Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Types: deb URIs: https://security.debian.org/debian-security/ Suites: trixie-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg EOF -
中科大源:
cat > /etc/apt/sources.list.d/debian.sources << 'EOF' Types: deb URIs: https://mirrors.ustc.edu.cn/debian/ Suites: trixie trixie-updates trixie-backports Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Types: deb URIs: https://security.debian.org/debian-security/ Suites: trixie-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg EOF
-
-
禁用 PVE 企业源:
# 编辑企业源文件,在每一行开头添加 # 注释掉 nano /etc/apt/sources.list.d/pve-enterprise.sources # 按 Ctrl+X, 输入 Y, 回车保存退出。 -
添加 PVE 免费更新源(无订阅源): 🔧 二选一执行:
- 清华源:
cat > /etc/apt/sources.list.d/pve-no-subscription.sources << 'EOF' Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve Suites: trixie Components: pve-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF - 中科大源:
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 才换):
cp /etc/apt/sources.list.d/ceph.sources /etc/apt/sources.list.d/ceph.sources.bak🔧 二选一执行:
- 清华源:
cat > /etc/apt/sources.list.d/ceph.sources << 'EOF' Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/ceph-squid Suites: trixie Components: no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF - 中科大源:
cat > /etc/apt/sources.list.d/ceph.sources << 'EOF' Types: deb URIs: https://mirrors.ustc.edu.cn/proxmox/debian/ceph-squid/ Suites: trixie Components: no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF
- 清华源:
-
更换 CT(LXC容器)模板源(可选,加速模板下载):
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back🔧 二选一执行:
- 清华源:
sed -i -e 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' \ -e 's|https://appcenter.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' \ /usr/share/perl5/PVE/APLInfo.pm - 中科大源:
sed -i -e 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' \ -e 's|https://appcenter.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' \ /usr/share/perl5/PVE/APLInfo.pm
- 清华源:
🔄 让更新源生效
# 更新软件列表并升级系统
apt update && apt dist-upgrade -y
# 重启相关服务
systemctl restart pvedaemon.service
# 建议重启PVE
reboot
📝 PVE 8.x 及更早版本的换源命令有所不同,主要为
sources.list文件格式和发行版代号(如bookworm,bullseye)。请参考原文中折叠的代码块或根据对应版本的官方文档调整。
🎮 四、开启核显 SR-IOV(若需要)
🚨 操作前必读:请务必确认你的核显支持 SR-IOV! 支持列表摘要:
- Intel:主要支持第 12-14 代酷睿及部分新款酷睿 Ultra 处理器的核显。消费级 Arc 独显不支持。
- AMD:消费级核显/独显通常不支持。仅特定 Radeon PRO V 系列专业卡支持。
- NVIDIA:消费级和企业级 GPU 均不支持,其虚拟化方案为需要许可的 vGPU。
-
安装依赖:
apt install build-essential dkms git sysfsutils -y apt install proxmox-headers-$(uname -r) proxmox-kernel-$(uname -r) -
克隆代码库:
cd ~ git clone https://github.com/strongtz/i915-sriov-dkms.git如果 GitHub 连接不畅,可尝试使用国内镜像:
git clone https://gitee.com/ifwwww/i915-sriov-dkms -
安装 DKMS 模块:
cd ~/i915-sriov-dkms dkms add . # 查看生成的版本号,例如 "2025.02.03" dkms status # 安装模块,将下方命令中的"版本号"替换为上一步查看到的实际版本号 dkms install -m i915-sriov-dkms -v 版本号 --force -
配置 GRUB 以启用 SR-IOV:
nano /etc/default/grub在
GRUB_CMDLINE_LINUX_DEFAULT一行quiet后面添加参数:i915.enable_guc=3 i915.max_vfs=7max_vfs=7表示最多创建 7 个虚拟核显(VFs),可按需减少。 -
更新配置并获取核显 ID:
update-grub update-initramfs -u # 查看核显设备 ID,记录下第一行开头的地址,如 `0000:00:02.0` lspci -D -nnk | grep VGA -
配置并启用 VFs:
# 将下方 `0000:00:02.0` 替换为你的核显 ID,`7` 替换为你想要的 VF 数量 echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf reboot -
验证是否成功: 重启后,在 PVE Shell 中执行:
lspci | grep VGA如果成功,你会看到 1 个物理核显(PF)和多个虚拟核显(VF),例如:
0000:00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c) 0000:00:02.1 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c) ... (共8个,包括1个PF和7个VF)
🔧 卸载 SR-IOV 驱动:如果需要卸载,请参照原文末尾的卸载步骤。
🖥️ 五、虚拟机安装(按需选择)
1、安装飞牛 fnOS 🐂
- 官网下载:飞牛私有云 fnOS
- 创建虚拟机,先不添加虚拟核显,安装好基础系统。
- 进入飞牛系统,在应用中心搜索并安装
i915-sriov-dkms驱动。 - 如果应用中心驱动无效,可尝试通过 SSH 手动安装驱动(参考皮蛋熊大佬的教程):
sudo -i wget https://blog.kkk.rs/upload/intel-i915.deb dpkg -i intel-i915.deb - 关机,添加 SR-IOV 虚拟出来的核显设备(⚠️ 切勿直通第一个
00:02.0主设备或勾选"所有功能")。 - 开机,测试视频转码,观察 CPU 占用是否正常。
- 在 PVE 查看核显使用率 (Intel):
intel_gpu_top -d sriov - 在 PVE 查看显存占用 (AMD):
radeontop(需先安装apt install radeontop)
- 在 PVE 查看核显使用率 (Intel):
2、安装黑群晖 🖧
- 使用 RR(Redpill Recovery)引导,可从其 GitHub 仓库 下载。
- 创建虚拟机,加载 RR 引导镜像,按照引导网页配置生成群晖引导。
- 安装群晖系统后,检查核显驱动:
sudo -i ls /dev/dri # 检查是否存在显卡设备节点 lsmod | grep i915 # 检查i915驱动模块是否加载 - 如需使用核显硬解,可考虑使用集成驱动的 Docker 版 Jellyfin。
3、安装 TrueNAS 💽
- 从 TrueNAS 官网 下载 SCALE 或 CORE 版本。
- 创建虚拟机,加载 ISO 安装。建议直通 HBA 卡或整个硬盘控制器给 TrueNAS 以获得最佳性能和管理体验。
4、安装 Windows 10 🪟
- 准备 Windows 10 镜像(如 LTSC 版本)和 virtIO 驱动 ISO(下载地址)。
- 创建虚拟机,系统类型选择
Windows 10/11。在硬件->CD/DVD 驱动器中加载 virtIO 驱动 ISO。 - 安装系统时,需要手动加载 virtIO 驱动才能识别到虚拟硬盘和网卡。
- 系统安装完成后,再添加虚拟核显设备,并安装对应的 Intel/AMD 显卡驱动。
- ⚠️ 如果希望将核显直通给 Windows 并输出画面到显示器,需定制 VBIOS,操作较为复杂,请参考相关专题教程。
- 英特尔® Arc™ 和锐炬® Xe 显卡 (intel.cn)
5、安装 LXC 容器(如 Jellyfin) 🐳
从 PVE 9.1 开始,可直接从 OCI 仓库(如 Docker Hub)拉取镜像创建 LXC 容器,性能更优。
- 拉取 OCI 镜像:在 PVE 网页端,进入
local存储 ->CT模板->从OCI注册表拉取,输入镜像名(如nyanmisaka/jellyfin:latest,或使用国内镜像加速地址)。 - 创建无特权容器:使用拉取的镜像创建 LXC 容器,务必勾选"无特权的容器"和"嵌套"。
- 直通核显设备:编辑容器配置,在
资源->设备直通中添加宿主机核显设备:
权限设置为/dev/dri/card0 /dev/dri/renderD1280777。 - 挂载媒体目录:
# 将PVE上已挂载的NFS/SMB路径挂载到容器内 pct set <容器ID> -mp0 /mnt/pve/your_nfs_share,mp=/media - 访问与配置:通过
http://<容器IP>:8096访问 Jellyfin,在控制台的"播放"设置中,硬件加速选择:- Intel:
Intel QuickSync (QSV) - AMD:
Video Acceleration API (VAAPI)
- Intel:
🔚 六、尾巴
完成所有系统安装后,别忘了进行一些收尾工作:
- 设置虚拟机开机自启:在 PVE 中为需要长期运行的服务(如路由、NAS)设置开机自动启动。
- 做好备份:定期备份 PVE 宿主机的配置和关键虚拟机的磁盘。
- IP 标记:在路由器中将各个服务的 IP 地址与 MAC 地址绑定,防止 IP 变动。
- 监控与维护:可以安装
netdata、cockpit等工具监控主机状态。
恭喜你!🎉 一台功能强大的 All in One 家庭服务器已经搭建完成。