Perform the Upgrade

With the repositories pointed at trixie, you can now upgrade the system to Proxmox VE 9.x.

Danger

Prefer a console or IPMI/iKVM session — it does not depend on the network, so a dropped connection cannot interrupt the upgrade. The Proxmox web UI consoles (noVNC, xterm.js) and SSH all rely on the network and pveproxy, so they can drop mid-upgrade. If you must use one of these, run the upgrade inside a terminal multiplexer (tmux or screen) so it keeps running if your connection drops. Neither is installed on Proxmox VE by default.

(SSH only) Install tmux and start a named session, then run the remaining steps on this page inside it:

apt update
apt install -y tmux
tmux new -s upgrade

If your SSH connection drops, the upgrade keeps running inside tmux. Reconnect over SSH and reattach to the session (run tmux ls first if you do not recall its name):

tmux attach -t upgrade

Note

screen works the same way if you prefer it: apt install -y screen, then screen -S upgrade to start and screen -r upgrade to reattach.

Refresh the package index and start the distribution upgrade:

apt update
apt dist-upgrade

Review the summary of packages to be upgraded, then confirm to proceed.

Note

Early in the upgrade, apt-listchanges may display package changelogs in a pager and pause until you press q to close it — this cancels nothing; the upgrade continues afterward. To skip these pauses, run the upgrade as APT_LISTCHANGES_FRONTEND=none apt dist-upgrade.

Answering configuration prompts

During the upgrade, apt may ask what to do about modified configuration files. Unless you have made manual changes, the following answers are safe:

Configuration file prompts

File

Recommended answer

/etc/issue

Keep the currently-installed version (cosmetic only).

/etc/default/grub

Install the package maintainer’s version (unless you edited it manually).

/etc/ssh/sshd_config

Install the package maintainer’s version (moves off deprecated options).

/etc/lvm/lvm.conf

Keep your current version (N) — it preserves the pve-manager global_filter that excludes ZFS zvols and Ceph RBDs; the maintainer’s version only adds commented-out defaults. (Proxmox’s guide suggests Y, which is also safe — Proxmox re-adds the filter on reboot.)

Warning

If you are unsure about a prompt, keep your currently-installed version. NETLAB+-managed network configuration lives in /etc/network/interfaces and /etc/network/interfaces.d/ — do not overwrite these files.

Note

You may see the following output during the upgrade:

Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi', but GRUB packages not set up to update it!
Run the following command:

echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u

Then reinstall GRUB with 'apt install --reinstall grub-efi-amd64'

If so, perform the commands as instructed.

The upgrade can take several minutes to an hour depending on storage speed. Allow it to finish without interruption.

Reboot

Once apt dist-upgrade completes successfully, reboot to load the new Proxmox VE 9 kernel:

reboot

Note

Reboot even if you previously opted into a newer kernel on Proxmox VE 8 — the kernel is rebuilt for Proxmox VE 9.

When the host comes back up, continue with Post-Upgrade Tasks.