Proxmox VE 9.0 这个版本出来之后,我身边的折腾党基本都陆续迁过去了。界面还是那个味,底层却换成了 Debian 13 Trixie,内核也升到了 6.8 LTS 系列。对于想在家里一台物理机上同时跑软路由、NAS、Windows 和各类 Linux 小服务的人来说,PVE 依然是目前综合成本最低、可玩性最高的方案之一。
这篇基础篇我尽量按照自己实际装机的流程写,从 U 盘启动到系统落地,再到换源、静态 IP 规划和 Wake-on-LAN 远程唤醒,每一步都会说清楚为什么要这么做,而不是只丢给你一串命令。跟着走一遍,你应该能收获一个源干净、网络合理、随时能远程开机的基础虚拟化平台。
1. 装前必读:PVE 9.0 到底是什么,适合什么场景
1.1 PVE 的定位与核心价值
如果你之前只用过 VirtualBox 或者 VMware Workstation,可以这样理解:PVE 是一个跑在裸机上的操作系统,本身的唯一使命就是把这台机器的 CPU、内存、磁盘和网卡虚拟化,然后以网页形式提供管理界面。它和 Windows 下“先装系统再装虚拟机软件”的思路完全不同,PVE 自己就是宿主系统,性能损耗更低,也更适合 7x24 小时运行。
9.0 版本带来的一个关键变化是底层 Debian 平台的升级,软件包更丰富,对新硬件(特别是 12 代以上 Intel 酷睿的混合架构、以及主流 DDR5 内存平台)的兼容性明显更好。同时 Proxmox 的 Web 管理界面默认走 8006 端口,整个管理都是 HTTPS 加密,迁到新版本后界面响应速度也快了一些。
1.2 基础篇你能得到什么
这篇教程覆盖四个核心需求:
- 从零开始安装 PVE 9.0,包括分区、时区、网络参数的填写;
- 换国内镜像源,解决官方源更新慢到怀疑人生的问题;
- 规划静态 IP 和网桥,让虚拟机既能和外网通信,也能互相访问;
- 配置 Wake-on-LAN,实现局域网甚至外网远程开机。
关于硬件选型多说一句,如果只是练手,一台三四百元的二手小主机(N100、J4125 这类)就完全够用。PVE 对配置要求不高,但网卡尽量选 Intel 或 Realtek 的主流型号,少碰那种来源不明的小众万兆网卡,否则驱动会让你怀疑人生。
注意:PVE 9.0 默认只支持 64 位 CPU,安装前记得在 BIOS 里确认虚拟化技术(VT-x/AMD-V)已经打开,否则后面开虚拟机大概率报错。
2. 保姆级安装流程:从 ISO 下载到系统落地
2.1 准备工作与安装介质制作
先去 Proxmox 官网下载 PVE 9.0 的 ISO 镜像,文件名一般是proxmox-ve_9.0-1.iso之类。下载的同时准备一个容量不小于 2GB 的 U 盘,注意制作启动盘会清空 U 盘数据,里面有文件的话先备份。
制作启动盘我用的是 Rufus,写入模式选 DD 镜像模式,不要选 ISO 模式。原因是 PVE 的 ISO 比较特殊,ISO 模式写入后可能出现引导不了或者安装到一半找不到介质的问题,DD 模式是整盘逐字节写入,兼容性最好。
制作完成后先别急着插到机器上。我习惯先把机器接好显示器、键盘,因为安装过程是图形界面操作的,没有显示器你会很痛苦。
2.2 安装过程全记录与分区策略
U 盘插入目标机器,开机时按 F11(不同主板按键不同,常见的是 F12、F7 或 Del)进入一次性启动菜单,选择 U 盘启动。看到 Proxmox 的欢迎界面后,选第一个 “Install Proxmox VE (Graphical)” 回车。
整个安装过程是向导式的,关键节点我列一下:
- EULA 协议界面直接同意;
- 目标磁盘选择:如果有多个磁盘,一定要看清楚选中的是哪个,别把存数据的大硬盘干掉了;
- 分区方案:新手建议直接选 “Use whole disk”,PVE 会自动创建分区。如果想手动控制,后面再上 ZFS 或 LVM-Thin,基础篇先用整盘默认方案最稳;
- 国家和时区选 China / Asia/Shanghai,键盘布局保持默认即可;
- 管理员密码和邮箱是必填项,邮箱虽然只是提示作用,但建议填真实可用的,后面配置通知用得上;
- 管理网络配置是重头戏,我单独展开讲。
2.3 安装过程网络参数怎么填
安装界面里有一个 “Management Network Configuration” 页面,这里填的是 PVE 管理口的 IP 地址、掩码、网关和 DNS。很多人在这步随便填,装完发现 IP 不对或者网段冲突,结果反复重装。
如果你是家庭网络,路由器网段通常是192.168.1.0/24或192.168.0.0/24。以192.168.1.0/24为例:
- IP 地址(CIDR 格式):建议填
192.168.1.100/24,这个地址要避开路由器 DHCP 自动分配的范围,免得冲突; - 网关:你的主路由 IP,通常是
192.168.1.1; - DNS 服务器:可以先填
223.5.5.5(阿里公共 DNS)和119.29.29.29(腾讯公共 DNS),等系统装完换源之后再改成国内环境更快的组合。
重要提示:这里的 IP 一旦设置好,装完系统后台管理地址就是它。为了避免装完再改的麻烦,建议安装前就规划好这个地址,并且把它从路由器 DHCP 的自动分配段里排除。
2.4 安装完成后的避坑检查
看到 “Installation complete” 后拔掉 U 盘,重启。默认启动项是 PVE 的 GRUB 菜单,等它自动引导完成后,屏幕上会显示一个带网址的登录提示,类似https://192.168.1.100:8006/。在浏览器打开这个地址就能进入 Web 管理界面。
这里有个很容易踩的坑:PVE 安装到有多个网卡的机器上时,系统默认只会配置第一个网口。如果你把网线插在了第二个口上,装完会发现根本无法访问。解决办法是把所有网线拔掉只剩一根,插在第一个网口上再安装,或者装完系统后通过命令行把桥接绑定到正确网口。
另外提醒一点,如果你的机器有独立显卡,装好 PVE 后它会被系统占作帧缓冲输出,这正常,不影响使用。日常管理全部走 Web 界面,无需给宿主机配桌面环境。
3. 系统初始化与换源:先让更新跑起来
3.1 为什么必须换源
PVE 9.0 安装完成后默认软件源指向官方服务器,国内访问速度很糟糕。更麻烦的是,Proxmox 的企业源enterprise.proxmox.com需要订阅账号才能更新,没订阅的话执行apt update会直接报 401 错误。
换源的目的有两个:一是把 PVE 专属的源换成国内镜像站的 Proxmox 源,解决 401 和无订阅限制问题;二是把底层的 Debian 源换成国内 Debian 镜像源,解决更新慢的问题。
这里我顺带说一句,换源不只 PVE 需要,Ubuntu、Kali、CentOS、conda、pip 这些场景的逻辑完全一样:把官方源地址替换成离你网络更近的镜像,更新速度和成功率都会明显改善。方法论是通用的。
3.2 换源实操:三处源都要换
先通过 SSH 登录到 PVE,或者在 Web 界面的 Shell 里操作都行。我用 SSH 演示。
第一步,备份原有源文件,防止手滑改错:
cp /etc/apt/sources.list /etc/apt/sources.list.bak cp -r /etc/apt/sources.list.d /etc/apt/sources.list.d.bak第二步,修改 Debian 源。编辑/etc/apt/sources.list,把内容替换为国内镜像源。我以清华源为例:
cat > /etc/apt/sources.list << 'EOF' deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ trixie-security main contrib non-free non-free-firmware EOF注意 PVE 9.0 对应 Debian 13,代号是 Trixie。如果你在网上抄到书签还是 bookworm 的源,那就是 Debian 12 的内容,用在 9.0 上会出问题。
第三步,处理 PVE 专属源。编辑/etc/apt/sources.list.d/pve-enterprise.list,这个文件默认指向企业源,注释掉它:
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list然后新增一个无订阅的 PVE 源文件/etc/apt/sources.list.d/pve-no-subscription.list:
cat > /etc/apt/sources.list.d/pve-no-subscription.list << 'EOF' deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve trixie pve-no-subscription EOF第四步,更新系统,让所有源配置生效:
apt update apt dist-upgrade -y如果看到Get:后面的地址是mirrors.tuna.tsinghua.edu.cn开头,说明换源成功。系统升级完成后建议重启一次,让新内核稳定加载。
3.3 CT 模板源同步更换
很多人在这一步漏掉一个地方:LXC 容器模板下载源。虽然基础篇还没开始建容器,但提前换好能省掉后面卡在模板下载的烦心事。
打开 Web 管理界面,选中数据中心,点击存储一栏里的local,再点“内容”,拉到模板部分点“模板”,能看到一个下载弹窗。这个弹窗的模板源地址需要手动改:
https://mirrors.tuna.tsinghua.edu.cn/proxmox/images/system/如果是阿里云镜像,对应地址是https://mirrors.aliyun.com/proxmox/images/system/。任选其一即可。顺手在弹窗里刷新一下,能看到模板列表,说明源可用。
3.4 还需要处理的一个小细节
PVE 升级内核后可能出现/etc/pve和当前内核版本不匹配的情况,这只是提示,不影响使用。真正需要注意的是apt update时如果出现The following signatures couldn't be verified的报错,多半是 gpg 公钥没导入,解决方法:
wget -qO - https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/proxmox-release-trixie.gpg | apt-key add -注意,Proxmox 官方文档里的 key 地址是官方域名,如果访问不了就用镜像站对应地址。导入完再apt update一次,报错会消失。
4. 网络配置:别再被桥接概念绕晕
4.1 先理解 PVE 的网络模型
PVE 的网络基础概念不复杂:物理网卡、Linux 网桥、虚拟网卡。默认安装时系统会创建一个名为vmbr0的 Linux Bridge,把第一块物理网卡enp1s0(名字取决于你的硬件,常见的有eno1、enp2s0)和这个桥接在一起。
桥接可以理解为虚拟交换机。物理网卡插在交换机上,虚拟机也插在同一个交换机上,所以虚拟机默认和宿主机处在同一个二层网络,可以直接拿主路由分配的 IP,这就是 PVE 开箱即用的默认网络模式。
4.2 安装后的静态 IP 调整方法
如果你安装时填的 IP 不符合实际网络需求,不需要重装系统。直接编辑/etc/network/interfaces文件:
nano /etc/network/interfaces一个典型的配置如下:
auto lo iface lo inet loopback iface enp1s0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.1.100/24 gateway 192.168.1.1 bridge-ports enp1s0 bridge-stp off bridge-fd 0 dns-nameservers 223.5.5.5 119.29.29.29bridge-stp off和bridge-fd 0是关闭生成树协议和转发延迟,目的是让虚拟机启动后网络瞬间可用,不会出现等半分钟才有网的错觉。
改完后重启网络服务:
systemctl restart networking如果你通过 SSH 修改,这个命令会短暂断开连接,但因为 IP 是静态的,重启完会立刻恢复。注意不要在这台机器上同时开着大量无法中断的服务。
4.3 新增一个仅主机用的网桥
vmbr0拿来给虚拟机分配局域网 IP 没问题,但有时候我想让虚拟机用一个独立的网段,或者让虚拟机之间高速通信而不经过物理路由器,这时就需要新增网桥。
我习惯再建一个名为vmbr1的网桥,不绑定任何物理网口:
auto vmbr1 iface vmbr1 inet static address 10.10.10.1/24 bridge_ports none bridge_stp off bridge_fd 0这个网桥在 Web 界面创建虚拟机的网络配置时可以直接选用。宿主机本身在10.10.10.1,虚拟机的第二块网卡可以设为10.10.10.2/24,两者之间通信完全走内部虚拟交换机,不占用物理网络带宽。
实际操作中这样的“双网卡”方案很常用:第一块网卡走vmbr0和外网通信,第二块走vmbr1做内网传输,比如跑 NAS 备份流量时,保证备份数据不会挤占主网络。
5. 远程唤醒(Wake-on-LAN):让机器随叫随到
5.1 远程唤醒的工作原理
Wake-on-LAN 简写为 WOL,核心原理非常简单:当电脑处于 S3/S5 状态,即睡眠或关机(但电源还在供电)时,网卡依然在监听网络上的特定数据包。这个特定数据包叫 Magic Packet,也就是俗称的魔术包,它由连续 6 个0xFF和重复 16 次的目标网卡 MAC 地址组成。
只要网卡收到属于自己的魔术包,就会向主板发送一个开机信号,机器随即启动。整个过程不需要 BIOS 支持远程管理,也不需要额外的硬件,几乎所有主板板载网卡都支持。
5.2 配置的三个层面
想在 PVE 上实现远程唤醒,需要三个层面都配合好。
第一层是 BIOS。开机按 Del 或 F2 进入 BIOS 设置,找到电源管理相关选项,把 “Wake-on-LAN” 或 “Power On By PCI-E” 设为 Enabled。不同主板位置不一样,华硕一般在 Advanced 的 APM Configuration 里,微星在 Settings 的 Advanced 里,戴尔和惠普的商用机通常在电源管理菜单下直接有一个 Wake-on-LAN 开选项。
第二层是网卡驱动。在 PVE 宿主机上执行:
ethtool enp1s0看输出里Supports Wake-on这一行,如果里面包含g说明硬件支持魔术包唤醒。然后执行:
ethtool -s enp1s0 wol g这个命令是临时生效的,重启后失效。要永久生效,我建议在/etc/network/interfaces的对应物理网卡配置段加上一句post-up ethtool -s enp1s0 wol g:
iface enp1s0 inet manual post-up ethtool -s enp1s0 wol g当然前提是安装了 ethtool,没装的话先apt install ethtool -y。
第三层是发送魔术包的工具。局域网内可以用手机 App 或电脑上的工具,发送时需要目标机器的 MAC 地址和所在网段的广播地址。我常用的是在另一台 Linux 机器上用wakeonlan命令:
apt install wakeonlan wakeonlan AA:BB:CC:DD:EE:FF如果魔术包发送成功,目标机器 PVE 会在几秒到十几秒内启动。
5.3 外网远程唤醒的思路
局域网里发魔术包很容易,但人不在家想远程开机就涉及一个问题:魔术包通常只在同一广播域内有效。外网唤醒思路有两个方向。
第一个方向是在路由器上把 WOL 魔术包的 UDP 端口转发到 PVE 所在网段的广播地址,但这依赖路由器固件对广播转发的支持,很多家用路由器做不到,或者安全性存疑。
第二个方向,也是我更推荐的方式:家里常开一台功耗很低的设备(如树莓派、软路由、或者已经在运行的另一台 NAS),通过它来转发唤醒请求。思路是外网 SSH 到这台常开设备,然后在它上面执行wakeonlan命令。这样做既不需要在路由器上开奇怪的转发规则,也不依赖 PVE 自己是否在线,是为数不多常年稳定有效的方案。
另外建议把需要唤醒机器的 MAC 地址记录好。有些人可能不知道,设备关机后再开机,部分板载网卡的 MAC 地址会变化,这多半是 BIOS 里 “MAC Address Pass Through” 相关选项没开,或者主板使用了不同的 MAC 地址来源,排查时需要注意。
6. 常见问题与排查实录
6.1 网页打不开 8006 端口
安装完成或者刚改完网络后,最常见的问题就是浏览器访问https://IP:8006打不开。
先确认 PVE 本机服务是否正常:
ss -lntp | grep 8006如果有输出说明服务在监听,问题多半出在网络层。再检查宿主机能否 ping 通网关,如果宿主机 ping 不通网关,重点看网口绑定和 IP 是否配置正确。还有一种隐蔽的情况:有些路由器开了“AP 隔离”或“客户端隔离”,导致同一局域网内的设备无法互访,这时候换一台设备测试就能定位。
提示:访问 PVE Web 界面时浏览器会提示证书无效,这是正常的,因为 PVE 默认使用自签名证书,点击“高级”继续访问即可。
6.2 安装时识别不到网卡
这种情况主要出现在比较新的主板板载 2.5G 网卡上,比如 Realtek RTL8125 或 Intel I225-V。PVE 9.0 的内核是 6.8,对这几款网卡已经有驱动支持,但如果安装界面下拉列表里没有你的网卡,可以考虑临时接一块 USB 有线网卡装系统,装完系统通过换源更新内核后,再切换回板载网卡。
安装完成后通过ip addr查看网卡识别情况,如果看到物理网卡名字,但状态是 DOWN,执行:
ip link set enp1s0 up手动拉起来后,再执行systemctl restart networking重新应用配置。
6.3 换源后 apt update 报错
换源后最常碰到两类报错。
一类是 401 Unauthorized,原因是/etc/apt/sources.list.d/pve-enterprise.list没注释,或者pve-no-subscription.list里的仓库名写错了。对照本文 3.2 节检查一遍。
另一类是Certificate verification failed,一般是系统时间不对导致 HTTPS 证书校验失败。执行:
date如果时间和实际时间偏差太大,安装chrony做时间同步,或者手动设置正确时间后再apt update。
6.4 远程唤醒不生效
按照 5.2 节配置完 WOL 后仍然无法唤醒,我按排查优先级给你列个清单:
- 先确认目标机器是彻底关机还是睡眠状态,部分系统“关机”其实是混合睡眠,WOL 可能不响应;
- 再确认 BIOS 里 ERP 或者深度节能选项是否关闭,有些主板开启 ErP 后,关机状态下网卡完全断电,自然收不到魔术包;
- 然后用
ethtool enp1s0检查Wake-on当前值是否显示为g,如果显示d表示没生效; - 最后检查发送端是否填对了 MAC 地址和端口,魔术包默认走 UDP 端口 9 或 7。
我调试 WOL 那年踩过一个印象很深的坑:整机配置全对,换了好几个唤醒工具都没反应,最后发现是主板 BIOS 里 “Fast Boot” 开启导致关机后网卡初始化延迟,关了快速启动立刻解决。如果你也遇到“怎么都唤不醒”的情况,不妨去 BIOS 里找找 Fast Boot 选项。
6.5 PVE 后台系统盘空间越来越小
最后提一个迟早会遇到的问题:PVE 安装时默认给系统盘分配了全部空间,但如果你用的是小容量 SSD 或 U 盘装系统,空间很容易被 ISO 镜像、备份文件和 CT 模板占满。
建议在 Web 界面的“数据中心”里把local存储的内容类型勾选为只保留“ISO 镜像”和“容器模板”,把虚拟机磁盘和备份放到单独的存储里。系统盘只装系统,数据盘专门放数据,这个习惯越早养成越好。
基础篇先写到这里。PVE 9.0 的安装和基础网络优化是后面所有折腾动作的地基,把源换好、网络规划好、远程唤醒弄通,你就能随时躺沙发上按个按钮把家里服务器叫醒,然后安心坐等虚拟机里的服务自己跑起来。我在实际使用中强烈建议你把每一步修改的配置文件都留一份备份,尤其是/etc/network/interfaces,这文件要是改错了,轻则虚拟机全部失联,重则宿主机自己都连不上网,只能扛着显示器键盘去机房挨个排查。