Upgrading from Proxmox Virtual Environment (VE) 8 to 9 is an important step to keep your virtualization infrastructure secure, stable, and aligned with the latest Linux kernel, QEMU, and Ceph improvements. However, as with any major upgrade, administrators may run into challenges. In this article, we’ll cover some of the common issues during the Proxmox VE 8 → 9 upgrade, and practical solutions to address them.
1. Repository and Sources List Errors
Issue:
root@proxmox:~# apt update
Hit:1 http://security.debian.org trixie-security InRelease
Hit:2 http://ftp.debian.org/debian trixie InRelease
Hit:3 http://ftp.debian.org/debian trixie-updates InRelease
Get:4 http://download.proxmox.com/debian/pve trixie InRelease [2,771 B]
Err:4 http://download.proxmox.com/debian/pve trixie InRelease
Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 24B30F06ECC1836A4E5EFECBA7BCD1420BFE778E, which is needed to verify signature.
Warning: OpenPGP signature verification failed: http://download.proxmox.com/debian/pve trixie InRelease: Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 24B30F06ECC1836A4E5EFECBA7BCD1420BFE778E, which is needed to verify signature.
Error: The repository ‘http://download.proxmox.com/debian/pve trixie InRelease’ is not signed.
Notice: Updating from such a repository can’t be done securely, and is therefore disabled by default.
Notice: See apt-secure(8) manpage for repository creation and user configuration details.
Fix:
root@proxmox:~# wget http://download.proxmox.com/debian/pbs-client/dists/trixie/main/binary-amd64/proxmox-archive-keyring_4.0_all.deb
–2025-09-07 22:49:52– http://download.proxmox.com/debian/pbs-client/dists/trixie/main/binary-amd64/proxmox-archive-keyring_4.0_all.deb
Resolving download.proxmox.com (download.proxmox.com)… 185.219.221.167, 2a0b:7140:5:100::167
Connecting to download.proxmox.com (download.proxmox.com)|185.219.221.167|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 5360 (5.2K) [application/octet-stream]
Saving to: ‘proxmox-archive-keyring_4.0_all.deb’
proxmox-archive-keyring_4.0_all.deb 100%[=====================================================================>] 5.23K 17.0KB/s in 0.3s
2025-09-07 22:49:53 (17.0 KB/s) – ‘proxmox-archive-keyring_4.0_all.deb’ saved [5360/5360]
root@proxmox:~# dpkg -i proxmox-archive-keyring_4.0_all.deb
(Reading database … 57907 files and directories currently installed.)
Preparing to unpack proxmox-archive-keyring_4.0_all.deb …
Unpacking proxmox-archive-keyring (4.0) over (3.0) …
Setting up proxmox-archive-keyring (4.0) …
root@proxmox:~# apt update
Get:1 http://download.proxmox.com/debian/pve trixie InRelease [2,771 B]
Hit:2 http://security.debian.org trixie-security InRelease
Get:3 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 Packages [211 kB]
Hit:4 http://ftp.debian.org/debian trixie InRelease
Hit:5 http://ftp.debian.org/debian trixie-updates InRelease
Fetched 214 kB in 5s (44.3 kB/s)
89 packages can be upgraded. Run ‘apt list –upgradable’ to see them.
2. Corrupt/missing proxmox-ve package
Issue:
root@proxmox:~# apt upgrade
/bin/sh: 1: /usr/share/proxmox-ve/pve-apt-hook: not found
Error: Sub-process /usr/share/proxmox-ve/pve-apt-hook returned an error code (127)
Error: Failure running script /usr/share/proxmox-ve/pve-apt-hook
Fix:
root@proxmox:~# mkdir -p /usr/share/proxmox-ve/
root@proxmox:~# touch /usr/share/proxmox-ve/pve-apt-hook
root@proxmox:~# chmod +x /usr/share/proxmox-ve/pve-apt-hook
root@proxmox:~# apt update
Hit:1 http://ftp.debian.org/debian trixie InRelease
Hit:2 http://security.debian.org trixie-security InRelease
Hit:3 http://download.proxmox.com/debian/pve trixie InRelease
Hit:4 http://ftp.debian.org/debian trixie-updates InRelease
89 packages can be upgraded. Run ‘apt list –upgradable’ to see them.
root@proxmox:~# apt install proxmox-ve