Boot failure after dist-upgrade touching GRUB EFI stack (grub-efi-amd64-signed 2.12-9+pmx2 → 2.12-9+pmx4) on Secure Boot system

theahlmightyx1

New Member
Feb 2, 2025
2
0
1
System details:


  • Proxmox VE 9.x, Boot Mode: EFI (Secure Boot)
  • Kernel at time of failure: 7.0.14-28-pve (installed in failing transaction)
  • Kernel prior: 7.0.14-26-pve
  • Hardware: MSI Pro Z790-P WiFi, Intel i9-12900K, 128GB RAM, RTX 5060 Ti (passthrough), MSI Pro Z790-P WiFi motherboard
  • Root: LVM on single SATA SSD (not ZFS; proxmox-boot-tool not managing ESP — single ESP via standard grub-install)
  • No manual intervention between update and reboot

Timeline:


  • 2026-11-04 18:52:37 — Upgrade from the Web UI completed cleanly at 18:53:34, kernel upgrade so a reboot was needed. See package list below.
  • 2026-11-04 23:43:45 — journald recorded the clean shutdown End-Date (last clean state).
  • Post-reboot: system failed to boot. Power on, LEDs on MSI EZ Debug cycled Red → Amber → White → Red, hard power-off at ~16 seconds. No display output at any time. Repeatable across many attempts.
  • 6+ hours of troubleshooting on misleading hardware-side evidence (aging AIO H100i from 2020, since confirmed independent).
  • Disconnected a few HDDs in the system and one SATA SSD (not the OS SSD) to see if system would boot.
  • 2026-11-05 ~15:20 — disconnected OS SSD SATA power and data cables, then reconnected. Next boot succeeded. Current uptime stable since.

Packages upgraded in the failing transaction (from /var/log/apt/history.log):



Code:
proxmox-kernel-7.0.14-28-pve-signed  (new install, auto)
proxmox-kernel-7.0  7.0.14-26 → 7.0.14-28
grub-efi-amd64-signed  1+2.12+9+pmx2 → 1+2.12+9+pmx4
grub-efi-amd64  2.12-9+pmx2 → 2.12-9+pmx4
grub-efi-amd64-unsigned  2.12-9+pmx2 → 2.12-9+pmx4
grub-efi-amd64-bin  2.12-9+pmx2 → 2.12-9+pmx4
grub-pc-bin  2.12-9+pmx2 → 2.12-9+pmx4
grub-common  2.12-9+pmx2 → 2.12-9+pmx4
grub2-common  2.12-9+pmx2 → 2.12-9+pmx4
proxmox-grub  2.12-9+pmx2 → 2.12-9+pmx4
pve-firmware  3.18-8 → 3.18-9
proxmox-backup-restore-image  1.0.0 → 1.1.0
proxmox-widget-toolkit  5.2.10 → 5.2.11
libpve-rs-perl  0.15.3 → 0.15.4
apt  3.0.3 → 3.0.4
libapt-pkg6.0  2.6.1 → 2.6.2
libapt-pkg7.0  3.0.3 → 3.0.4
apt-utils  3.0.3 → 3.0.4
libpve-guest-common-perl  6.0.5 → 6.0.6
libpve-access-control  9.1.2 → 9.2.0
pve-container  6.1.16 → 6.1.18
libpve-network-api-perl  1.6.7 → 1.6.8
libpve-network-perl  1.6.7 → 1.6.8
libpve-http-server-perl  6.0.5 → 6.0.6
libpve-common-perl  9.2.6 → 9.2.7
proxmox-firewall  1.2.3 → 1.2.4
pve-firewall  6.0.6 → 6.0.7
ifupdown2  3.3.0-1+pmx12 → 3.3.0-1+pmx13

Evidence collected post-recovery:


  1. journalctl --list-boots — zero boot entries exist between the clean shutdown at 2026-11-04 23:43:45 and the successful boot at 2026-11-05 15:27:52. 15+ hours of failed boot attempts produced no journal entries at all, indicating the kernel never reached journald. Failure was pre-journald, meaning early-init or pre-GRUB.
  2. efibootmgr -v — single real boot entry (Boot0001 debian → \EFI\debian\shimx64.efi), Timeout: 0, no fallback entries configured. Secure Boot chain: shim → GRUB → kernel.
  3. proxmox-boot-tool status — “/etc/kernel/proxmox-boot-uuids does not exist.” ESP is managed by stock grub-install, not proxmox-boot-tool.
  4. md5sum on ESP grubx64.efi vs /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed:
  5. Code:
    [root@i9 ~]# ls -la /boot/efi/EFI/debian/ && md5sum /boot/efi/EFI/debian/grubx64.efi /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed
    total 4624
    drwxr-xr-x 2 root root    4096 Nov  4 18:53 .
    drwxr-xr-x 5 root root    4096 Nov  4 18:53 ..
    -rwxr-xr-x 1 root root     112 Nov  4 18:53 BOOTX64.CSV
    -rwxr-xr-x 1 root root  120024 Nov  4 18:53 fbx64.efi
    -rwxr-xr-x 1 root root     201 Nov  4 18:53 grub.cfg
    -rwxr-xr-x 1 root root 2685544 Nov  4 18:53 grubx64.efi
    -rwxr-xr-x 1 root root  875096 Nov  4 18:53 mmx64.efi
    -rwxr-xr-x 1 root root 1032032 Nov  4 18:53 shimx64.efi
    c9355d4fb25202f74af048c6956fe620  /boot/efi/EFI/debian/grubx64.efi
    c9355d4fb25202f74af048c6956fe620  /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed
    [root@i9 ~]# file /boot/efi/EFI/debian/shimx64.efi /boot/efi/EFI/debian/grubx64.efi

Recovery action: Powered off, disconnected SATA power and data cables from the OS SSD, system booted to BIOS, powered back off, plugged OS SSD back in, flipped PSU on, system booted and the GUI was reachable. . System came up cleanly on the first attempt and has been stable since.


Hypothesis: The GRUB EFI package upgrade on a Secure Boot-enabled Proxmox 9 system left the UEFI firmware in an inconsistent cached state related to the Secure Boot chain or NVRAM device binding. The ESP files themselves were installed correctly (md5sums match the signed binary on disk, timestamps consistent with the apt transaction). The failure was pre-kernel — zero journal entries for 15+ hours of attempted boots. Forcing SATA re-enumeration by disconnecting and reconnecting the OS SSD cleared whatever firmware state was stuck and allowed the Secure Boot chain to execute cleanly on the next attempt.


I can’t definitively say whether the stuck state was a cached validation hash, a shim-to-GRUB handoff memory artifact, or stale NVRAM device tracking — only that a SATA-level device re-enumeration fixed it, which implicates firmware state rather than file content.

I must also state that I had no monitor hooked up during the failing boot attempts — this is a headless Proxmox node and my first instinct was to troubleshoot by LED pattern and timing rather than to attach a display. In hindsight I should have, but by the time I had reason to believe the issue was pre-kernel rather than hardware-side, I had already recovered via SATA re-enumeration and could no longer reproduce the failure to capture on-screen output. So I cannot report whether a Security Violation 0x1A, a shim MOK dialog, a GRUB rescue prompt, or something else was being displayed at the 16-second mark.
The first time I did have a monitor hooked up was after the OS SSD reseat. At that point the system POSTed and reached the Proxmox login screen normally. No errors on screen, no delays.

I had AI assistance from Claude in walking through the diagnostic steps and collecting the evidence above. Posting here to see if the Proxmox community has seen this pattern and to contribute the recovery procedure (SATA re-enumeration) as a datapoint for anyone else who hits it.


I tried to find similar occurrences on here but have not found anything. A few posts came up on grub related and or kernel topics but they were old. And since I have been stable across three unclustered nodes for over two years, I want to find the issue.

Edit: added my system stability context at the end.
Edit2: proxmox-secure-boot-support has never been installed on this system (install dates to Feb 2025, apt/dpkg history shows no install/remove record for the package). This hasn’t caused problems through many previous dist-upgrades, so I’m not claiming it’s causally related to this failure, just flagging it in case it’s relevant. Would the Proxmox team recommend installing it on an existing Secure-Boot-enabled PVE 9 host? I want to say that I made the PVE 8 > 9 updated on a previous motherboard and CPU (went from i9-9900k > i9-12900k). HAve had many kernel updates and reboots since with 0 stability issues up until this one.
 
Last edited:
1. proxmox-secure-boot is just a meta package pulling in the secure boot related packages, it is not required to enable/use secure boot
2. without any information about what the actual issue was, it will be hard to diagnose this further
3. updating Grub does not really do anything other than writing to the ESP, and writing some EFI variables

there's two likely possibilities:
- the issue was unrelated, and just triggered by chance on that reboot
- your firmware is broken and doesn't handle writing to EFI vars well

if the problem comes back, please try to collect as much information as possible during the failed boot(s)..
 
Thank you for getting back @fabian. On #2, there is a gap with the node being headless hardware wise - obviously as I cannot serial in or anything over say BMC afaik. And it was late, and I was a bit lazy and did not want to drag the system up to my main PC room to hook a monitor up to at the time of the failures. With that said, Ill also add the OS SSD drive details I reseated that appears to have fixed the issue for now

Code:
SMART Attributes Data Structure revision number: 4
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0032   100   100   ---    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   ---    Old_age   Always       -       32801
 12 Power_Cycle_Count       0x0032   100   100   ---    Old_age   Always       -       2686
165 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       734702472729
166 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       21
167 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       102
168 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       73
169 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       595
170 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       0
171 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       0
173 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       42
174 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       144
184 End-to-End_Error        0x0032   100   100   ---    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   ---    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   ---    Old_age   Always       -       112
194 Temperature_Celsius     0x0022   071   057   ---    Old_age   Always       -       29 (Min/Max 12/57)
199 UDMA_CRC_Error_Count    0x0032   100   100   ---    Old_age   Always       -       0
230 Unknown_SSD_Attribute   0x0032   007   007   ---    Old_age   Always       -       7786844129045
232 Available_Reservd_Space 0x0033   100   100   004    Pre-fail  Always       -       100
233 Media_Wearout_Indicator 0x0032   100   100   ---    Old_age   Always       -       40831
234 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       56316
241 Total_LBAs_Written      0x0030   253   253   ---    Old_age   Offline      -       47570
242 Total_LBAs_Read         0x0030   253   253   ---    Old_age   Offline      -       53698
244 Unknown_Attribute       0x0032   000   100   ---    Old_age   Always       -       0

My BIOS is also dated 09/27/2024 (version 1.E0), update is planned if this recurs. As well, the SSD is from 2020, but has shown 0% where out.. with that said, I would image that does not rule out the SSD being the cause either.

Regardless, I feel this is much less a PVE issue at this point.
Thank you again, will report back if any issues.