Concise checklist and commands to perform an in-place upgrade from Proxmox VE 8.4.1 to Proxmox VE 9 (Debian Trixie).
/etc/pve
, /etc/network/interfaces
, /etc/resolv.conf
, /etc/passwd
).tmux
or screen
if you must use SSH.8.4.1
or newer. If not, update to the latest 8.4.x before continuing.pve8to9 --full
.bookworm
→ trixie
.apt update
and perform the upgrade to Trixie / PVE 9.Run these commands on each node (preferably via console). Keep to one node at a time in clusters — migrate VMs off the node before upgrading it.
# Verify current PVE version
pveversion
# Run the pre-upgrade checklist (recommended)
pve8to9 --full
# Make sure system is up-to-date on 8.4.x
apt update && apt dist-upgrade -y
If you run Ceph on your nodes (especially hyper-converged), confirm ceph --version
shows 19.2 (Squid)
. If not, follow the official Ceph upgrade instructions to move from Quincy/Reef → Squid before continuing.
# replace bookworm with trixie in the sources
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 other third-party bookworm lines you cannot upgrade
# then update
apt update
apt policy
Choose enterprise or no-subscription depending on your setup.
# enterprise (deb822 style)
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 example
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
# update package lists
apt update
# do a dry-run check with apt
apt -s full-upgrade
# then perform the actual upgrade
apt full-upgrade -y
# if you see a request about removing 'proxmox-ve', follow the official guidance (may require removing linux-image-amd64 first)
# example: apt remove linux-image-amd64
reboot
# after reboot, check versions
pveversion
lsb_release -a
# confirm kernel is at least 6.14 and PVE reports 9.x
proxmox-ve
, check for conflicts with packages like linux-image-amd64
and follow the official instructions to resolve them.systemctl disable --now systemd-journald-audit.socket
.How to Upgrade Proxmox VE 8.4 to 9 – Full Walkthrough