1. Introduction
Proxmox VE 9.x brings new features, security updates, and performance improvements.
You can upgrade in two main ways:
- Fresh install → Install PVE 9 from ISO, then restore backups.
- In-place upgrade → Keep your system and update it to Debian Trixie + PVE 9.
This guide focuses on the in-place upgrade from PVE 8.x (Bookworm) to PVE 9.x (Trixie).
⚠ Important:
- Back up all VMs, containers, and configuration before starting.
- Test in a lab environment if possible.
- For production, plan downtime or do a node-by-node cluster upgrade.
2. Prerequisites
- Upgrade to latest PVE 8.4.x:
apt update apt dist-upgrade pveversionEnsure version is 8.4.1+. - If using Ceph, upgrade to Ceph 19.2 Squid before proceeding.
- Make sure you have:
- Reliable console/IPMI access (avoid GUI virtual console during upgrade).
- 5 GB+ free space on root (10 GB+ recommended).
- Healthy cluster (if applicable).
- Tested backups (VMs, CTs, configs in
/etcand/etc/pve).
- Install terminal multiplexer:
apt install tmuxThis keeps your session alive during upgrade.
3. Pre-Upgrade Checklist
Run Proxmox’s upgrade checker:
pve8to9 --full
Fix all warnings before proceeding.
4. Migrating Running Workloads (Clusters Only)
Migrate VMs/CTs away from the node you are upgrading.
- Do one node at a time.
- Never upgrade all nodes simultaneously.
5. Update Repositories
5.1 Update Debian from Bookworm to Trixie
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
Comment out any leftover Bookworm repos.
5.2 Add Proxmox VE 9 Repository
Enterprise (licensed):
cat > /etc/apt/sources.list.d/pve-enterprise.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
No-subscription:
cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
No-subscription: (For Proxmox Backup Serverr)
cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/pbs
Suites: trixie
Components: pbs-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
5.3 Update Ceph Repository (Ceph Users Only)
Enterprise:
cat > /etc/apt/sources.list.d/ceph.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/ceph-squid
Suites: trixie
Components: enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
No-subscription:
cat > /etc/apt/sources.list.d/ceph.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/ceph-squid
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
6. Upgrade Process
6.1 Update Package Index
apt update
6.2 Start Upgrade
apt dist-upgrade
- Read prompts carefully.
- When in doubt, keep existing config except for
/etc/lvm/lvm.confand/etc/ssh/sshd_config(recommend updating these).
6.3 Reboot into New Kernel
reboot
7. Post-Upgrade Steps
Verify version: pveversion Should show Proxmox VE 9.x.
- Clear browser cache & reload Web UI (
CTRL+SHIFT+R). - Cluster users:
- Upgrade remaining nodes one-by-one.
- Check HA rules (HA groups are replaced with HA rules).
- Optional: Convert repository files to
deb822format:apt modernize-sources
8. Common Pitfalls & Fixes
- pve8to9 warns proxmox-ve is too old:
Make sure you upgraded to the latest PVE 8.x before starting. - GRUB fails in UEFI with LVM:
[ -d /sys/firmware/efi ] && apt install grub-efi-amd64 - PCI passthrough issues:
Boot with older kernel until fixed. - Veeam Backup breaks on QEMU ≥ 10:
Pin VM machine type to9.2+pve1. - NIC name changes:
Usepve-network-interface-pinningto lock NIC names.
Upgrade Complete! Your Proxmox VE 9 is now running with Debian Trixie.