PVE 9.1 已经发布三个多月,也测试了一段时间,发现还是挺稳定的,决定把家里那台PVE从8.4.14升到9.1。
✅升级前准备
1. 备份
数据是重要的,升级前记得先做好备份,PVE主机整机备份还原
2. 确保当前系统为 PVE 8.4 的最新小版本
pveversion
# 应显示 pve-manager/8.4.x
# 如果不是,先更新到最新版本
apt update && apt dist-upgrade -y
3. 运行官方检查脚本
pve8to9 --full
如果没有报直接更新,常见的会有一个'systemd-boot'相关的错误,解决办法参考后面 安全移除 systemd-boot 元包

🔧 正式升级
1. 替换 APT 软件源为 Debian 13(Trixie) + PVE 9
修改主源:
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
修改 PVE 官方源(企业版或 no-subscription):
# 企业用户(有订阅)
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
# 无订阅用户(社区源)
cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: http://mirrors.ustc.edu.cn/proxmox/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
(可选)添加 Ceph Squid 源(如使用 Ceph):
cat > /etc/apt/sources.list.d/ceph.sources << EOF
Types: deb
URIs: http://mirrors.ustc.edu.cn/proxmox/debian/ceph-squid
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
2. 执行系统升级
apt update
apt full-upgrade -y # 或 apt dist-upgrade -y
- 过程中可能会提示配置文件冲突(如 GRUB、sshd_config),建议保留当前版本(按 N),除非你明确知道改动内容。
- 中间有弹窗选项,直接默认回车就可以了


- 也有自己改过配置文件与原文件冲突的,这个根据自己需求选择,大多用本地自己改过的就行

- 升级时间较长(10~30 分钟),请勿中断。
3. 重启并验证
reboot
重启后验证:
pveversion
# 应显示 pve-manager/9.1-x
uname -r
# 应为 6.17.x 内核

解决'systemd-boot'报错
在 Proxmox VE 8.x 的 ISO 安装版本中,系统默认安装了 systemd-boot 这个 meta-package(元包)。但从 Debian Trixie(13) / PVE 9 开始,systemd-boot 包的行为发生了变化,所以大多情况下会有这个报错。
FAIL: systemd-boot meta-package installed. This will cause problems on upgrades of other boot-related packages. Remove 'systemd-boot' See https://pve.proxmox.com/wiki/Upgrade_from_8_to_9#sd-boot-warning for more information.
解决方法:安全移除 systemd-boot 元包
1. 确认你没有手动依赖 systemd-boot
运行以下命令查看是否真的在用 systemd-boot 引导:
efibootmgr -v
- 如果输出中 **没有
systemd-bootx64.efi**,而是proxmox.efi或类似名称,说明你用的是proxmox-boot-tool,可以安全移除。 - 如果你明确知道自己配置了 systemd-boot 作为主引导器(极少见),则不要删除。
💡 绝大多数通过官方 ISO 安装的 PVE 用户都使用
proxmox-boot-tool,而非原生systemd-boot。
2. 卸载 systemd-boot 元包(保留底层工具)
apt remove --purge systemd-boot
⚠️ 注意:
这个命令只会移除 meta-package,不会删除systemd-boot-efi或systemd-boot-tools(这些是proxmox-boot-tool可能依赖的组件)。
pve8to9脚本也明确说明:只有 meta-package 需要移除。
3. 验证是否解决
再次运行检查脚本:
pve8to9
如果不再报 systemd-boot meta-package installed 错误,说明问题已解决。
评论区