How to update Proxmox 8 to Proxmox 9 BETA – A step-by-step guide

So you want to take a look at the new Proxmox 9 Beta Throw version before the final version appears? I got you covered!

Addendum, 7.8 -> Final release has already been rolled out, Even before Trixie.

Seriously now, I can understand that – after all, getting to know new features and improvements before they are officially available is always exciting. But wait a minute:

Before we get started, I have to tell you: Proxmox 9 is currently in beta. This means that you should not install it on a production system. This guide is really only for your homelab or a test environment, where it's not bad if something goes wrong.

If you are no longer sure whether the update is for you after this disclaimer, there is still a plan B to get a taste of it.

You are already on the road with Proxmox, so set up a new Debian LXC container (probably quite sufficient for a first impression), install the current 8.4.5 there and update it directly instead of your complete Homelab.

What you should know beforehand

Before we start the update, you should make sure that your Proxmox 8 system is running and that you have full administrative access. In addition, you need a stable internet connection, as we will download various packages. And very importantly: Make sure you have a full backup of your system! I can't stress this enough – with beta software, something can always go wrong unforeseen.

First on the latest Proxmox 8 version

The update to Proxmox 9 only works if you already have the latest version of Proxmox 8. Specifically, you need at least version 8.4.5. If you have an older version, you must first perform a normal update.

To do this, open the Proxmox web interface and select your server. Then go to ‘Updates’ and click on ‘Refresh’. Proxmox now loads all available updates and shows them to you. When updates are available, simply click on "Upgrade", confirm with "Yes" and "Enter", and wait until everything is ready. After refreshing the web interface, you should see version 8.4.5.

At this point, it makes sense to restart the entire server. Depending on which update you have been on so far, you will also be informed directly in the console.

The compatibility check – Better safe than sorry

Proxmox has provided us with a handy tool to help you check if your system is ready for the update. You should definitely do that before you move on.

Open the shell in the Proxmox web interface and run the following command:

pve8to9 --full

The script now runs through and makes about 35 different checks. In the end, you will get a summary of how many tests have been passed and whether there are warnings or errors. Only if everything is green – i.e. no warnings or failures are displayed – should you continue with the update. If problems appear, you should fix them before moving on.

Customize the repository configuration

Now it's getting a bit more technical, but don't worry – I'll tell you exactly what happens. Proxmox 9 is based on Debian 13 (codename ‘Trixie’), while Proxmox 8 is still based on Debian 12 (‘Bookworm’). That's why we need to change the package sources.

First, we change the existing repository entries from Bookworm to Trixie. This is what you do with these two commands:

sed -i 's/bookworm/trixie/g' /etc/apt/sources.list sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list

These commands search your repository files and replace all occurrences of ‘bookworm’ with ‘trixie’. The first command edits the main repository file, the second the enterprise file (if any).

After that, we need to add a new repository for Proxmox 9. Here we use the modern DEB822 format:

cat > /etc/apt/sources.list.d/proxmox.sources << EOF Types: deb URIs: http://download.proxmox.com/debian/pve Suites: trixie Components: pve-test Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF

This looks complicated at first glance, but basically we are only creating a new file here with the information where Proxmox 9 can be found.

Load the new package lists

After configuring the repositories, we need to download the new package lists:

apt update

You'll probably see some of the old repository lists skipped – that's perfectly normal and fine.

The actual update – now it's exciting

Now comes the most important part: The real distribution upgrade. To do this, use this command:

apt dist-upgrade

An important tip: You could also apt dist-upgrade -y use to automatically answer "yes" to all questions. I recommend you, however, that -y omit it because you will have to make some important decisions during the update.

The update takes quite a while and you will be asked several times for different things. Let me explain what's coming for you:

Keyboard configuration: First, the system will ask you about your keyboard settings. If you have a German keyboard and it is already configured correctly, you can simply press Enter.

ETC Issues File: Then the system would like to know if the /etc/issue You can change the file. Here you should answer "No" (this is also the standard) because we do not want to make unnecessary changes to system files.

Service restart during the update: This is an important question! The system asks if it can automatically restart services during the update. Here you should definitely choose ‘No’. Why?
Because automatic service restarts during a running update can cause the update to fail or cause your Internet connection to be interrupted.

Special services: Later, the system will ask you specifically for certain services such as Postfix, SSH and Cron. You can say "yes" to these, because they usually do not endanger the update.

LVM configuration: Finally, the system asks if it can change your LVM configuration. You should definitely say "no" here! If you have additional hard drives or special storage configurations, changing the LVM configuration could cause you to lose access to your data.

The update is ready – what now?

Once all questions have been answered and the update has gone through, you will return to the normal command line. You may see a warning about a missing EFI file – that's not bad at first, but more on that later.

Close the shell window and update your Proxmox web interface with F5. If everything worked out, you should now see ‘9.0-1 beta’ as a version. Congratulations - you have successfully updated to Proxmox 9 Beta!

A little tidying up

You can now bring some order to your repository configuration. Go to "Repositories" in the web interface and see if the "PVE Enterprise" repository is enabled. If so, disable it to avoid possible error messages in the future (unless you actually have an Enterprise license).

Check also under ‘Updates’ if further updates are available. Normally, everything should be up-to-date right after the big update. By the way, you can also find all this information in Proxmox Wiki.

Important things you should know

The topic UEFI vs. GRUB Boot: If you have seen a warning about GRUB Boot, you should know that Proxmox 9 will no longer support GRUB Boot in the long term. This means that systems with GRUB Boot should be switched to UEFI in the future. In a virtualized environment, this is usually less critical, but with bare metal installations, you should keep that in mind.

Check after the update: Take a few minutes to check if everything is still working. Check if your VMs and containers are running normally, if the network configuration is correct, and if your storage configuration is still correct. Also test your backup functionality – better now than later long faces!

If something goes wrong

‘pve8to9 –full’ does not work: This happens if your Proxmox is not yet updated to version 8.4.5. First perform the normal update, then the compatibility check will also work.

The update fails: Check your internet connection and make sure all compatibility checks have been passed. Sometimes it helps, again. apt update Run and then repeat the upgrade.

Services do not work after the update: A restart of the entire system can often work wonders here. You can also check the status of individual services with systemctl status <servicename> check.

The complete commands at a glance

If you are already experienced and just need a quick overview, here are all the commands in the right order:

# Compatibility check pve8to9 --full # Repository conversion 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 # Add Proxmox 9 repository cat > /etc/apt/sources.list.d/proxmox.sources << EOF Types: deb URIs: http://download.proxmox.com/debian/pve Suites: trixie Components: pve-test Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF # Download and install updates apt update apt dist-upgrade

Attention, special case during the beta:

A hyperconverged Ceph cluster installed directly in Proxmox VE currently needs to run Ceph 19.2 Squid. Otherwise, you'll need to update Ceph first before you can upgrade to Proxmox VE 9 on Debian 13 Trixie! You can check the current Ceph version in the Ceph panel of each node in the Proxmox VE web interface.

So for all who have CEPH in use, for you there is still additional work to do, because during the beta phase of Proxmox VE 9 only the test repository is available for Ceph. You should be able to add the Ceph Test repository with the following command:

cat > /etc/apt/sources.list.d/ceph.sources << EOF Types: deb URIs: http://download.proxmox.com/debian/ceph-squid Suites: trixie Components: Test Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF

Make sure that apt recognizes the repository correctly by first apt update and then apt policy Executed. No errors should occur and the new repository should be displayed correctly in the output of apt policy. Removes the old file /etc/apt/sources.list.d/ceph.list.
Leads then apt update and then apt policy again to ensure that it has been properly removed.

Removes the line ‘backports“. The upgrade was not tested with packages installed from the backports repository. Then updates the package index of the repositories and ensures that no errors are reported with apt update

conclusion

The update from Proxmox 8 to Proxmox 9 Beta is quite feasible, but requires some patience and attention. The nice thing is that there hasn't been much change in the user interface, so you'll find your way around right away.

But always remember: You are working with a beta version! Use them only for learning and experimentation, never in a productive environment. And don't forget, Regular backups to make.

Have fun discovering the new features in Proxmox 9! If you have questions or something doesn't work, it's best to look at the official forum passing or throwing one Take a look at the documentation.


This guide refers to Proxmox 9 Beta, version 4.8.25. Things may change until the final version.