GRUB error: ../../grub-core/commands/efi/tpm.c:142:Command failed on boot


I’d like some help troubleshooting a dual-boot setup with the error in the title.
I have Fedora 40 KDE, plus Windows 11 installed. Fedora 40 works fine, so long as I don’t boot Windows.

If I boot Windows 11 and shut down (I have fast startup off in Windows options btw), then the next Fedora boot will throw a grub error along the lines of “tpm.c:142 command failed”, and I have to press a key to continue boot. The bigger problem is, this also causes Windows Boot Manager and UEFI Firmware Settings entries to disappear from GRUB. They only re-appear after power cycling the laptop, or booting fedora and powering off.

One fix I’ve found is to disable PTT in my BIOS settings, completely getting rid of TPM. With TPM disabled, I can boot Windows 11, restart, and all boot entries are still there in grub and Fedora throws no errors. So either Windows 11 is messing with the TPM in a weird way and bugging out GRUB, or Fedora’s GRUB is buggy

However, this is more of a workaround than a fix, and I’d prefer to avoid disabling features of my laptop like TPM.

Any ideas as to what’s going on here?

Windows 11 requires TPM to install, but can be run with it disabled.

There are some fixes for TPM in fedora but you would need to search for them.

The weird thing is that it’s grub that’s having an issue, not fedora itself.

There is a long-standing grub issue, but the underlying cause appears to be in the system vendor’s UEFI implementation. Have you checked for UEFI (“BIOS”) firmware updates from your vendor? Some vendors provide firmware updates using linux fwupd (see man fwupdtool).

I’ve already installed the latest BIOS (UEFI) update provided by Dell, 1.30.0 for my Inspiron 15 5593.