[PVE 9.2.x] How to Fix Broken Kernel Install? Or is this a DKMS issue? (PVE Node is Working, but on Older Kernel)

Sep 1, 2022
580
219
68
42
I searched around and checked the documentation, but since this hasn't happened to me before I'm not sure I was looking in the right place. I'm not sure what to do about this.

I have a kernel on my system that seems to have not installed correctly. I would not have caught it, but a DKMS driver I have installed on the system tried to build against it and freaked out.

It's also possible that this is actually an issue with the DKMS driver not being compatible, but I'm not sure how to tell the difference and could use a bit of advice on figuring out what's going on.


I was trying to install an update to the PBS client, and along the way the system attempted to build the DKMS module for 7.0.14-19 and promptly freaked out.
Bash:
run-parts: /etc/kernel/postinst.d/dkms exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/proxmox-kernel-7.0.14-19-pve-signed.postinst line 20.
dpkg: error processing package proxmox-kernel-7.0.14-19-pve-signed (--configure):
 installed proxmox-kernel-7.0.14-19-pve-signed package post-installation script subprocess returned error exit status 2
Setting up proxmox-backup-client (4.2.8-1) ...
dpkg: dependency problems prevent configuration of proxmox-kernel-7.0:
 proxmox-kernel-7.0 depends on proxmox-kernel-7.0.14-19-pve-signed | proxmox-kernel-7.0.14-19-pve; however:
  Package proxmox-kernel-7.0.14-19-pve-signed is not configured yet.
  Package proxmox-kernel-7.0.14-19-pve is not installed.
  Package proxmox-kernel-7.0.14-19-pve-signed which provides proxmox-kernel-7.0.14-19-pve is not configured yet.

dpkg: error processing package proxmox-kernel-7.0 (--configure):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.13.1-1) ...
Errors were encountered while processing:
 proxmox-kernel-7.0.14-19-pve-signed
 proxmox-kernel-7.0
Error: Sub-process /usr/bin/dpkg returned an error code (1)

So, it's clearly still trying to clean up/finish the latest kernel install, and rather politely failing thanks to an issue with the DKMS module.

The question I have is if there's a way to tell if this si a problem with the kernel install itself or with the DKMS module being outdated, before I just YOLO installing the latest version of the DKMS driver and hope that fixes it?

Some background:
Bash:
root@andromeda2:~# uname -a
Linux andromeda2 7.0.14-17-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.14-17 (2026-09-10T10:16Z) x86_64 GNU/Linux

root@andromeda2:~# proxmox-boot-tool kernel list
Manually selected kernels:
None.

Automatically selected kernels:
6.17.13-21-pve
7.0.14-17-pve
7.0.14-19-pve

root@andromeda2:~# pveversion -v | column
proxmox-ve: 9.2.0 (running kernel: 7.0.14-17-pve)               libpve-network-perl: 1.6.7
pve-manager: 9.2.20 (running version: 9.2.20/49318c671b82f31e)  libpve-notify-perl: 9.1.6
proxmox-kernel-helper: 9.2.0                                    libpve-rs-perl: 0.15.3
proxmox-kernel-7.0.14-17-pve-signed: 7.0.14-17                  libpve-storage-perl: 9.1.11
proxmox-kernel-7.0.14-15-pve-signed: 7.0.14-15                  libspice-server1: 0.15.2-1+b1
proxmox-kernel-7.0.14-12-pve-signed: 7.0.14-12                  lvm2: 2.03.31-2+pmx1
proxmox-kernel-7.0.14-11-pve-signed: 7.0.14-11                  lxc-pve: 7.0.0-2
proxmox-kernel-7.0.14-8-pve-signed: 7.0.14-8                    lxcfs: 7.0.0-pve1
proxmox-kernel-7.0.14-4-pve-signed: 7.0.14-4                    novnc-pve: 1.7.0-2
proxmox-kernel-6.17: 6.17.13-21                                 proxmox-backup-client: 4.2.8-1
proxmox-kernel-6.17.13-21-pve-signed: 6.17.13-21                proxmox-backup-file-restore: 4.2.8-1
proxmox-kernel-6.14: 6.14.11-9                                  proxmox-backup-restore-image: 1.0.0
proxmox-kernel-6.14.11-9-pve-signed: 6.14.11-9                  proxmox-enterprise-support-keyring: 1.1
proxmox-kernel-6.8.12-13-pve-signed: 6.8.12-13                  proxmox-firewall: 1.2.3
proxmox-kernel-6.8: 6.8.12-13                                   proxmox-kernel-helper: 9.2.0
proxmox-kernel-6.8.4-2-pve-signed: 6.8.4-2                      proxmox-mail-forward: 1.0.3
proxmox-kernel-6.5.13-6-pve-signed: 6.5.13-6                    proxmox-mini-journalreader: 1.7
proxmox-kernel-6.5.13-5-pve: 6.5.13-5                           proxmox-offline-mirror-helper: 0.7.4
ceph-fuse: 19.2.6-pve4                                          proxmox-widget-toolkit: 5.2.10
corosync: 3.1.10-pve3                                           pve-cluster: 9.1.6
criu: 4.1.1-1                                                   pve-container: 6.1.14
frr-pythontools: 10.6.1-1+pve3                                  pve-docs: 9.2.12
ifupdown2: 3.3.0-1+pmx12                                        pve-edk2-firmware: 4.2026.08-1
intel-microcode: 3.20251111.1~deb13u1                           pve-esxi-import-tools: 1.0.1
ksm-control-daemon: 1.5-1                                       pve-firewall: 6.0.6
libjs-extjs: 7.0.0-7                                            pve-firmware: 3.18-6
libproxmox-acme-perl: 1.7.2                                     pve-ha-manager: 5.2.5
libproxmox-backup-qemu0: 2.0.3                                  pve-i18n: 3.10.0
libproxmox-rs-perl: 0.4.1                                       pve-qemu-kvm: 11.0.3-3
libpve-access-control: 9.1.2                                    pve-xtermjs: 6.0.0-2
libpve-apiclient-perl: 3.4.3                                    qemu-server: 9.2.10
libpve-cluster-api-perl: 9.1.6                                  smartmontools: 7.5-pve2
libpve-cluster-perl: 9.1.6                                      spiceterm: 3.4.2
libpve-common-perl: 9.2.2                                       swtpm: 0.8.0+pve3
libpve-guest-common-perl: 6.0.5                                 vncterm: 1.9.2
libpve-http-server-perl: 6.0.5                                  zfsutils-linux: 2.4.4-pve1

root@andromeda2:~# apt search proxmox-kernel-7.0 | grep -i "installed"

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

proxmox-kernel-7.0/stable,now 7.0.14-19 amd64 [installed,automatic]
proxmox-kernel-7.0.14-11-pve-signed/stable,now 7.0.14-11 amd64 [installed,auto-removable]
proxmox-kernel-7.0.14-12-pve-signed/stable,now 7.0.14-12 amd64 [installed,auto-removable]
proxmox-kernel-7.0.14-15-pve-signed/stable,now 7.0.14-15 amd64 [installed,automatic]
proxmox-kernel-7.0.14-17-pve-signed/stable,now 7.0.14-17 amd64 [installed,automatic]
proxmox-kernel-7.0.14-19-pve-signed/stable,now 7.0.14-19 amd64 [installed,automatic]
proxmox-kernel-7.0.14-4-pve-signed/stable,now 7.0.14-4 amd64 [installed,auto-removable]
proxmox-kernel-7.0.14-8-pve-signed/stable,now 7.0.14-8 amd64 [installed,auto-removable]
 
It didn't show the module as installed for kernel 7.0.14-19-pve.

I'm assuming that since dpkg crashed out trying to set up the DKMS module, that was the reason that kernel never built correctly.

I accidentally went ahead and upgraded to the latest version of the DKMS package while I was just trying to download the deb (I've done the upgrade cycle too many times, and muscle memory got away from me), and now the latest kernel is installed and working and dkms is showing the module is happy.

Code:
root@andromeda2:~# uname -a
Linux andromeda2 7.0.14-19-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.14-19 (2026-09-18T07:31Z) x86_64 GNU/Linux

root@andromeda2:~# dkms status
i915-sriov-dkms/2026.09.16, 6.17.13-21-pve, x86_64: installed (Original modules exist)
i915-sriov-dkms/2026.09.16, 7.0.14-17-pve, x86_64: installed (Original modules exist)
i915-sriov-dkms/2026.09.16, 7.0.14-19-pve, x86_64: installed (Original modules exist)

root@andromeda2:/usr/lib/modules# proxmox-boot-tool kernel list
Manually selected kernels:
None.

Automatically selected kernels:
6.17.13-21-pve
7.0.14-17-pve
7.0.14-19-pve

(I still need to figure out the proper way to completely uninstall 6.17.13. Apt isn't autoremoving it. I guess I need to remove it from the proxmox-boot-tool list of available kernels, first.)
 
Something like apt autopurge "proxmox-kernel-6.17*" perhaps. I expect the PVE boot tool to take care of this itself via a hook.
Maybe also check for other related packages with something like dpkg -l "*6.17*".
 
Last edited:
Something like apt autopurge "proxmox-kernel-6.17*" perhaps. I expect the PVE boot tool to take care of this itself via a hook.
Maybe also check for other related packages with something like dpkg -l "*6.17*".
Thanks.

When I can poke at it some more, I might see if I can dry-run a removal via boot tool. That should wipe out the actual kernel, not just unhook it from the boot menu. At least, that's how I would expect it to work.

But, I wanted to make sure I had a backup plan to properly remove the kernel if not.