This is the major jump: Proxmox VE 8.4 on Debian 12 Bookworm to Proxmox VE 9.x on Debian 13 Trixie, then current 9.1 packages. If your node is still on 8.2 or 8.3, use the 8.4 catch-up guide first. The official Proxmox 8-to-9 path expects current 8.4 packages before the major upgrade starts.
Proxmox VE 9.0, released August 5, 2025, moved the platform to Debian 13, kernel 6.14, QEMU 10, LXC 6, ZFS 2.3, and Ceph Squid. It also added snapshots for thick-provisioned shared LVM storage, SDN Fabrics, HA resource affinity rules, and a stronger mobile interface. Proxmox VE 9.1, released November 19, 2025, added OCI image support for LXC templates, vTPM state in qcow2, finer nested virtualization controls, better SDN status reporting, and updated core packages.
Preflight Checklist
Use a console, IPMI/iKVM, or SSH inside tmux. Make verified VM and container backups. In a cluster, migrate guests off one node and upgrade that node first. If the cluster uses Ceph, upgrade Ceph Quincy or Reef to Ceph Squid before the Proxmox VE 9 upgrade.
tmux new -s pve9-upgrade
apt update
apt dist-upgrade
pveversion -v
pve8to9 --full
pvecm status 2>/dev/null || true
ha-manager status 2>/dev/null || true
ceph --version 2>/dev/null || true
ceph -s 2>/dev/null || true
df -h /
Back up the important host configuration. The VM and CT backups matter most, but these files are often what save time if networking, repositories, storage, or cluster behavior needs to be rebuilt.
tar czf "/root/pve-host-config-$(date -I).tar.gz"
/etc/pve
/etc/network/interfaces
/etc/resolv.conf
/etc/hosts
/etc/apt/sources.list
/etc/apt/sources.list.d
Switch From Bookworm To Trixie Repositories
Install the current Proxmox archive keyring before changing repositories. Then replace Debian Bookworm with Trixie and add the correct Proxmox VE 9 repository. Choose enterprise or no-subscription, not both.
apt install proxmox-archive-keyring
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
grep -R bookworm /etc/apt/sources.list /etc/apt/sources.list.d 2>/dev/null || true
Enterprise repository:
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 lab repository:
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
If the node has hyper-converged Ceph, use the matching Ceph Squid repository. 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 lab Ceph repository:
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
Run The Upgrade
Update package indexes, check policy output, run the upgrade, rerun the checker, and reboot. Review config-file prompts instead of blindly overwriting local changes.
apt update
apt policy
apt dist-upgrade
pve8to9 --full
reboot
Post-Upgrade Verification
After reboot, verify the running kernel, Proxmox version, cluster health, storage, and guest state. Proxmox VE 9 deprecates HA groups in favor of HA rules. The migration happens once all nodes are upgraded, so do not troubleshoot HA placement from only one partially-upgraded node unless you understand the mixed-version state.
pveversion -v
uname -r
systemctl status pveproxy pvedaemon pvestatd pve-cluster --no-pager
pvecm status 2>/dev/null || true
ha-manager status 2>/dev/null || true
journalctl -eu pve-ha-crm --no-pager -n 80 2>/dev/null || true
ceph -s 2>/dev/null || true
zpool status 2>/dev/null || true
qm list
pct list
Once the host is stable on 9.0, run normal package updates to reach current 9.1 packages from the same Trixie repositories.
apt update
apt dist-upgrade
pveversion
reboot
Known Watch Points
- Legacy cgroup v1 containers are not supported on Proxmox VE 9. Replace very old container OS builds before upgrading.
- Older hardware should be tested first. Kernel and Ceph changes can expose CPU or driver limitations.
- Network interface names can change with the new kernel. Have console access and consider the Proxmox network interface pinning tool if the checker recommends it.
- NVIDIA vGPU users must confirm driver compatibility before the move.
- VMs using third-party backup integrations or PCI passthrough deserve a test reboot before production maintenance is declared finished.
Related Catch-Up Guides
- Proxmox VE 8.2 to 8.4 catch-up guide
- Proxmox Backup Server 3.4 to 4.2 upgrade guide
- Proxmox Mail Gateway 8.2 to 9.0 upgrade guide
