Skip to content

Upgrading Proxmox 8 to Proxmox 9

Introduction

In this post I will present instructions how to upgrade Proxmox 8 to Proxmox 9.

OS used: Debian 12
Software used: Proxmox 8

Source

Introduction

Proxmox is probably a central component of many homelab systems, which is why backup data before proceeding with an upgrade. Because of its importance, it's also a good idea to perform a practice upgrade in a test virtual machine.
Proxmox 8 is based on Debian 12 and Proxmox 9 is based on Debian 13.
This tutorial assumes that you are using Proxmox without Enterprise subscription and you won't need to install this repository.

Instructions

  • Update Proxmox 8 packages to the latest version:

    • Datacenter > your Proxmox host > Updates > click Upgrade
  • Reboot Proxmox system.

  • Stop all running virtual machines.

  • Connect using SSH to your Proxmox host and perform actions below as root user.

  • Check requirements for Proxmox 9 upgrade:

    # pve8to9
    

    Ideally you should have no WARNINGS and FAILURES. With WARNINGS upgrade will probably succeed, but if you have FAILURES you need to fix them before upgrade.

  • Update Dabian base repositories to Debian 13 Trixie:

    # sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
    

  • Add Proxmox 9 no-subscription 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
    

  • Update packages:

    # apt update
    

  • Check repositories list - no errors should be shown when running this command:

    # apt policy
    

  • Remove old Proxmox 8 repository files:

    # rm /etc/apt/sources.list.d/pve-install-repo.list && \
      rm /etc/apt/sources.list.d/pve-enterprise.list
    

  • Update packages and check repositories list:

    # apt update && \
      apt policy
    

  • Upgrade Proxmox:

    # apt dist-upgrade
    

    During the above step, you will be asked to approve changes to configuration files and some service restarts, as the default configurations will be updated by the respective packages. I choose to restart services during package upgrades without asking.
    Also files that I was asked to replace to new version or leave current:
    - /etc/issue - I choose to use new file
    - /etc/lvm/lvm.conf - I choose to use new file

  • Reboot Proxmox system.

  • When logging to the upgraded Proxmox 9 Web UI refresh browser cache by pressing following key combination: Ctrl + Shift + R.

  • Disable enterprise repository if you don't have active enterprise subscription and plan to use only free no-subscirption repository:

    • Datacenter > your Proxmox host > Updates > Repositories > select pve-enterprise > click button Disable
  • Modernize APT repository sources files to the new standard used in Debian:

    # apt modernize-sources
    

    This command will create new .sources files with repositories configurations, but will also keep backup of old files as .list.bak. If everything is working correctly, you can delete those old files.

  • Clean unused dependencies:

    # apt autoremove