Kernel not updating to 6.8

luison

Renowned Member
Feb 22, 2010
148
5
83
Spain
elsurexiste.com
We've just upgraded a server to PVE8 from Vo7. All went smooth but I am rather uncertain of why the kernel is not being updated.

Code:
proxmox-boot-tool kernel list
Manually selected kernels:
5.3.10-1-pve

Automatically selected kernels:
5.15.158-2-pve
6.8.8-4-pve

Code:
 proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with uefi
2C6E-A8ED is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)
7885-910E is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)
D060-1673 is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)

Code:
 proxmox-boot-tool refresh
Running hook script 'proxmox-auto-removal'..
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/cmdline found - falling back to /proc/cmdline
/dev/disk/by-uuid/2C6E-A8ED contains no grub directory - skipping
/dev/disk/by-uuid/7885-910E contains no grub directory - skipping
/dev/disk/by-uuid/D060-1673 contains no grub directory - skipping

No pending updates
I understand no pending reboots either:

Code:
cat: /var/run/reboot-required: No existe el fichero o el directorio

Code:
pveversion -v
proxmox-ve: 8.2.0 (running kernel: 5.15.158-2-pve)
pve-manager: 8.2.4 (running version: 8.2.4/faa83925c9641325)
proxmox-kernel-helper: 8.1.0
pve-kernel-5.15: 7.4-15
proxmox-kernel-6.8: 6.8.8-4
proxmox-kernel-6.8.8-4-pve-signed: 6.8.8-4
pve-kernel-5.15.158-2-pve: 5.15.158-2
pve-kernel-5.15.158-1-pve: 5.15.158-1
pve-kernel-5.4.203-1-pve: 5.4.203-1
ceph-fuse: 16.2.11+ds-2
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown: residual config
ifupdown2: 3.2.0-1+pmx9
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.1.4
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.7
libpve-cluster-perl: 8.0.7
libpve-common-perl: 8.2.1
libpve-guest-common-perl: 5.1.4
libpve-http-server-perl: 5.1.0
libpve-network-perl: 0.9.8
libpve-rs-perl: 0.8.9
libpve-storage-perl: 8.2.3
libqb0: 1.0.5-1
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.4.0-3
proxmox-backup-client: 3.2.7-1
proxmox-backup-file-restore: 3.2.7-1
proxmox-firewall: 0.5.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.6
proxmox-widget-toolkit: 4.2.3
pve-cluster: 8.0.7
pve-container: 5.1.12
pve-docs: 8.2.2
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.1
pve-firewall: 5.0.7
pve-firmware: 3.13-1
pve-ha-manager: 4.0.5
pve-i18n: 3.2.2
pve-qemu-kvm: 9.0.0-6
pve-xtermjs: 5.3.0-3
qemu-server: 8.2.3
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.4-pve1
 
Do not think we've ever pinned one but we'll give it a try. In any case I understand being that the case after doing that shouldn't

proxmox-boot-tool refresh

Produce a different output?
Is the "/dev/disk/by-uuid/2C6E-A8ED contains no grub directory - skipping" correct reply of the command?
 
at some point 5.3.10-1-pve was pinned given the proxmox-boot-tool kernel list
output shown.

proxmox-boot-tool kernel unpin and reboot will undo this or if you want to be cautious start with proxmox-boot-tool kernel unpin --next-boot and reboot for single use trial. If all good after reboot, run proxmox-boot-tool kernel unpin and you are back on the latest kernel train.
 
  • Like
Reactions: luison
I should have mentioned, be prepared to potentially have some of your network interface names changed once booted into the latest kernel.

If networking is off or not working, ip a and compare the interface names with what you have with the older naming conventions in /etc/network/interfaces under kernel 5.3/systemd and make changes there as needed.
 
Last edited:
  • Like
Reactions: luison
at some point 5.3.10-1-pve was pinned given the proxmox-boot-tool kernel list
output shown.

proxmox-boot-tool kernel unpin and reboot will undo this or if you want to be cautious start with proxmox-boot-tool kernel unpin --next-boot and reboot for single use trial. If all good after reboot, run proxmox-boot-tool kernel unpin and you are back on the latest kernel train.

So had a try to

Code:
# proxmox-boot-tool kernel unpin
Removed /etc/kernel/next-boot-pin.
Removed /etc/kernel/proxmox-boot-pin.

But then we noticed that /etc/kernel contained a file named
proxmox-boot-manual-kernels
with the "5.3.10-1-pve" on it. So we also removed it... and rebooted.
A kernel list now showed correctly:

Code:
# proxmox-boot-tool kernel list
Manually selected kernels:
None.

Automatically selected kernels:
5.15.158-2-pve
6.8.8-4-pve

But proxmox-boot-refresh maintains exactly the same result:

Code:
n# proxmox-boot-tool refresh
Running hook script 'proxmox-auto-removal'..
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/cmdline found - falling back to /proc/cmdline
/dev/disk/by-uuid/2C6E-A8ED contains no grub directory - skipping
/dev/disk/by-uuid/7885-910E contains no grub directory - skipping
/dev/disk/by-uuid/D060-1673 contains no grub directory - skipping

which as I said I am not sure if I can ignore those grub directory errors.

But in any case
Code:
#uname -a
Linux e20home 5.15.158-2-pve #1 SMP PVE 5.15.158-2 (2024-07-26T13:11Z) x86_64 GNU/Linux

Code:
# proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with uefi
2C6E-A8ED is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)
7885-910E is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)
D060-1673 is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)

So the 6.8 kernel is still not being selected.
Do i need to manually "add" the kernel with proxmox-boot tool kernel add?

Also the boot menu displays kernels that have been removed, like 5.15.158-1

Not sure what I am missing. I understood that proxmox-boot-tool refresh was in charge of all this now and no need to update update-initramfs.
So where does proxmox-boot-tool kernel list get the list from?

Also noticed that the "6.8.8-4-pve" if I check for installed packages has a differente naming structure?

Code:
#dpkg --get-selections | grep pve
...
proxmox-kernel-6.8.8-4-pve-signed install
...
pve-kernel-5.15.158-2-pve install
pve-kernel-5.4.203-1-pve install

...
 
Last edited:
The naming structure changed somewhere after the switch to the early Linux 6 kernels Promox 7 or so, which this machine locked to linux 5.3 skipped.

Not sure about the grub directory errors, but believe I have seen the same. When you're booting do you see GRUB or systemd-boot?
https://pve.proxmox.com/wiki/Host_Bootloader#sysboot_determine_bootloader_used

If you run proxmox-boot-tool kernel pin 6.8.8-4-pve --next-boot then reboot, after that is the latest expected kernel used, do things work correctly?

dpkg --list|grep pve-kernel will list all the old kernels
dpkg --list|grep proxmox-kernel will list the more recent kernels

Then you can use apt purge pve-kernel-5.3*, apt purge pve-kernel-5.4* , etc ... to completely remove those except the ones you want to keep. Neither apt autoremove nor the normal Proxmox update process completely remove them.
 
  • Like
Reactions: luison
Back to this, as we never managed to resolve this issue and we are now trying to migrate our boot to ZFS and would like to have this sorted.

Situation:
Code:
#proxmox-boot-tool kernel list
Manually selected kernels:
None.


Automatically selected kernels:
5.15.158-2-pve
6.8.12-1-pve
6.8.12-2-pve

Tried:
Code:
#proxmox-boot-tool kernel pin 6.8.12-2-pve --next-boot


Set kernel '6.8.12-2-pve' in /etc/kernel/next-boot-pin.
Refresh the actual boot ESPs now? [yN] y
Running hook script 'proxmox-auto-removal'..
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/cmdline found - falling back to /proc/cmdline
/dev/disk/by-uuid/2C6E-A8ED contains no grub directory - skipping
/dev/disk/by-uuid/7885-910E contains no grub directory - skipping
/dev/disk/by-uuid/D060-1673 contains no grub directory - skipping
Pinned for next boot only.

But no changes... still booting on old 5.15 kernel.

I noticed that:
Code:
# ls /boot/efi/loader/entries/ -l
total 16
-rwxr-xr-x 1 root root 266 jul 29 18:04 proxmox-5.15.158-1-pve.conf
-rwxr-xr-x 1 root root 266 jul 29 18:04 proxmox-5.15.158-2-pve.conf
-rwxr-xr-x 1 root root 257 nov 23  2020 proxmox-5.3.10-1-pve.conf
-rwxr-xr-x 1 root root 261 jul 29 18:04 proxmox-5.4.203-1-pve.conf

Code:
# mount |grep efi
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/sda5 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

So if I understand the documentatio correctly, something is not working with my proxmox-boot-tool as the /boot/efi/loader/entries I understand should contain conf files in entries for 6.8.12-1 and 6.8.12-2

No idea how to proceed now.
 
Just booted from a rescue console and same issue. Can anyone help clarify if missing:

No /etc/kernel/cmdline found - falling back to /proc/cmdline

Can be causing the issue, and in that case how to figure out what it should be? (No ZFS)

Considered returning to GRUB but apart from not making much sense, now:

Code:
# update-grub
Generating grub configuration file ...
W: This system is booted via proxmox-boot-tool:
W: Executing 'update-grub' directly does not update the correct configs!
W: Running: 'proxmox-boot-tool refresh'


No /etc/kernel/cmdline found - falling back to /proc/cmdline
/dev/disk/by-uuid/2C6E-A8ED contains no grub directory - skipping
/dev/disk/by-uuid/7885-910E contains no grub directory - skipping
/dev/disk/by-uuid/D060-1673 contains no grub directory - skipping
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve


Found linux image: /boot/vmlinuz-6.8.12-1-pve
Found initrd image: /boot/initrd.img-6.8.12-1-pve
Found linux image: /boot/vmlinuz-5.15.158-2-pve
Found initrd image: /boot/initrd.img-5.15.158-2-pve
Found linux image: /boot/vmlinuz-5.4.203-1-pve
Found initrd image: /boot/initrd.img-5.4.203-1-pve
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

Also noticed on another thread that:

* change the boot-type of your hardware to UEFI (disable CSM,....)

I am assuming disabling legacy boot is not the issue. The system is booting correctly via UEFI. Three partitions are formated and recognized by proxmox-boot-tool but "refresh" does not change anything and we are stack on and old kernel.


UPDATE
Also tried creating a symlink from /etc/kernel/cmdline to /proc/cmdline as seen here (ubuntu related) . No error now but same situation:

Code:
# proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with uefi
2C6E-A8ED is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)
7885-910E is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)
D060-1673 is configured with: uefi (versions: 5.15.158-1-pve, 5.15.158-2-pve, 5.3.10-1-pve, 5.4.203-1-pve, grubx64.efi)

But available kernel 6.8.12-2 does still not get included.

Found this but is related to PVE 7 so guessing is not the case either:
https://forum.proxmox.com/threads/p...-bootloader-but-no-etc-kernel-cmdline.127962/
 
Last edited:
Still stuck on this issue now considering we will have to reinstall host system as we are also moving disks to ZFS.

On another server I am not 100% again with proxmox-boot-tool output, it would be great is someone could clarify if this is correct output as in does not look so to me.

In this case I am guessing GRUB is the bootloader as "efibootmgr" command does not even exist


Code:
n# proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with uefi
D191-855E is configured with:
D0AA-657B is configured with:
D11B-8323 is configured with:
D039-0134 is configured with:

Code:
# proxmox-boot-tool refresh
Running hook script 'proxmox-auto-removal'..
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/cmdline found - falling back to /proc/cmdline
/dev/disk/by-uuid/D191-855E contains no grub directory - skipping
/dev/disk/by-uuid/D0AA-657B contains no grub directory - skipping
/dev/disk/by-uuid/D11B-8323 contains no grub directory - skipping
/dev/disk/by-uuid/D039-0134 contains no grub directory - skipping

Code:
# update-grub
Generating grub configuration file ...
W: This system is booted via proxmox-boot-tool:
W: Executing 'update-grub' directly does not update the correct configs!
W: Running: 'proxmox-boot-tool refresh'

No /etc/kernel/cmdline found - falling back to /proc/cmdline
/dev/disk/by-uuid/D191-855E contains no grub directory - skipping
/dev/disk/by-uuid/D0AA-657B contains no grub directory - skipping
/dev/disk/by-uuid/D11B-8323 contains no grub directory - skipping
/dev/disk/by-uuid/D039-0134 contains no grub directory - skipping
Found linux image: /boot/vmlinuz-6.8.12-4-pve
Found initrd image: /boot/initrd.img-6.8.12-4-pve
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve
Found linux image: /boot/vmlinuz-6.8.12-1-pve
Found initrd image: /boot/initrd.img-6.8.12-1-pve
Found linux image: /boot/vmlinuz-5.15.158-1-pve
Found initrd image: /boot/initrd.img-5.15.158-1-pve
Adding boot menu entry for UEFI Firmware Settings ...
done
 
Not that I found any documentation or answers here (thanks @vesalius) but I think I finally, after months, found a "sort of" solution to this.
It was only when I went ahead and read something regarding "reinit" which by the way is not documented at the wiki page

So proxmox-boot-tool reinit gave me the clue of the issue:

Code:
n# proxmox-boot-tool reinit
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
UUID="2C6E-A8ED" SIZE="536870912" FSTYPE="vfat" PARTTYPE="c12a7328-f81f-11d2-ba4b-00a0c93ec93b" PKNAME="sda" MOUNTPOINT="/boot/efi"
E: '/dev/disk/by-uuid/2C6E-A8ED' is mounted on '/boot/efi' - exiting.

Apparently at some point /boot/efi got included in fstab and mounted on reboots and, just guessing here, proxmox-boot-tool does not work on that scenario but only reinit reports it.

So now managed to boot updated kernel but seem to have lost my UEFI menu if that makes sense. I now have a Linux boot loader and and an UEFI boot on each of those disks when selection boot order via BIOS, the first one only seems to hold the latest kernel and boots correctly updated kernel with an "old style" grub type menu, while the second option (UEFI boot partition that I thought was the one managed by promox-boot-tool) still only shows older kernels. So perhaps is grub booting with an "update-grub" command performed at some point. Very confusing!


Code:
# proxmox-boot-tool reinit
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
UUID="2C6E-A8ED" SIZE="536870912" FSTYPE="vfat" PARTTYPE="c12a7328-f81f-11d2-ba4b-00a0c93ec93b" PKNAME="sda" MOUNTPOINT=""
Mounting '/dev/disk/by-uuid/2C6E-A8ED' on '/var/tmp/espmounts/2C6E-A8ED'.
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Installing grub x86_64 target..
Instalando para plataforma x86_64-efi.
Instalación terminada. No se notificó ningún error.
Installing grub x86_64 target (removable)..
Instalando para plataforma x86_64-efi.
Instalación terminada. No se notificó ningún error.
Unmounting '/dev/disk/by-uuid/2C6E-A8ED'.
Adding '/dev/disk/by-uuid/2C6E-A8ED' to list of synced ESPs..
UUID="7885-910E" SIZE="536870912" FSTYPE="vfat" PARTTYPE="c12a7328-f81f-11d2-ba4b-00a0c93ec93b" PKNAME="nvme0n1" MOUNTPOINT=""
Mounting '/dev/disk/by-uuid/7885-910E' on '/var/tmp/espmounts/7885-910E'.
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Installing grub x86_64 target..
Instalando para plataforma x86_64-efi.
Instalación terminada. No se notificó ningún error.
Installing grub x86_64 target (removable)..
Instalando para plataforma x86_64-efi.
Instalación terminada. No se notificó ningún error.
Unmounting '/dev/disk/by-uuid/7885-910E'.
Adding '/dev/disk/by-uuid/7885-910E' to list of synced ESPs..
UUID="D060-1673" SIZE="536870912" FSTYPE="vfat" PARTTYPE="c12a7328-f81f-11d2-ba4b-00a0c93ec93b" PKNAME="nvme2n1" MOUNTPOINT=""
Mounting '/dev/disk/by-uuid/D060-1673' on '/var/tmp/espmounts/D060-1673'.
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Installing grub x86_64 target..
Instalando para plataforma x86_64-efi.
Instalación terminada. No se notificó ningún error.
Installing grub x86_64 target (removable)..
Instalando para plataforma x86_64-efi.
Instalación terminada. No se notificó ningún error.
Unmounting '/dev/disk/by-uuid/D060-1673'.
Adding '/dev/disk/by-uuid/D060-1673' to list of synced ESPs..

Sorry for the parts in spanish.

Code:
# proxmox-boot-tool refresh
Running hook script 'proxmox-auto-removal'..
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/cmdline found - falling back to /proc/cmdline
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Copying and configuring kernels on /dev/disk/by-uuid/2C6E-A8ED
        Copying kernel 5.15.158-2-pve
        Copying kernel 6.8.12-2-pve
        Copying kernel 6.8.12-4-pve
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-4-pve
Found initrd image: /boot/initrd.img-6.8.12-4-pve
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve
Found linux image: /boot/vmlinuz-5.15.158-2-pve
Found initrd image: /boot/initrd.img-5.15.158-2-pve
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Copying and configuring kernels on /dev/disk/by-uuid/7885-910E
        Copying kernel 5.15.158-2-pve
        Copying kernel 6.8.12-2-pve
        Copying kernel 6.8.12-4-pve
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-4-pve
Found initrd image: /boot/initrd.img-6.8.12-4-pve
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve
Found linux image: /boot/vmlinuz-5.15.158-2-pve
Found initrd image: /boot/initrd.img-5.15.158-2-pve
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Copying and configuring kernels on /dev/disk/by-uuid/D060-1673
        Copying kernel 5.15.158-2-pve
        Copying kernel 6.8.12-2-pve
        Copying kernel 6.8.12-4-pve
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-4-pve
Found initrd image: /boot/initrd.img-6.8.12-4-pve
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve
Found linux image: /boot/vmlinuz-5.15.158-2-pve
Found initrd image: /boot/initrd.img-5.15.158-2-pve
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!