symbol not found: grub_tpm_measure

Ich habe bei 2 (von 2) Rechnern jedes Mal diesen Fehler gehabt bei einem Upgrade von 42.2 auf 42.3 und landete im grub-rescue Modus.
Ich konnte mir helfen, indem ich ein Live-Linux über USB startete und grub2 neu installierte. Danach war alles in Ordnung.

Aber ist das normal?

Das Upgrade führte ich mit “zypper dup” durch.
Die Rechner sind nicht mehr neu, gute alte BIOS-Ware.

Same results here:
On a system with btfrs but I think a seperate boot partition, I’m getting the same message and grub rescue prompt.
Booting from usb in rescue mode and doing a grub2-install does not help.

Using the same hardware but another harddisk where only ext4 is used in one partition, the upgrade went smoothly.

Beide Systeme booten bei mir von einer ext4-Partition.

Welche Paket-Quellen hattest Du aktiviert?
“zypper dup” hat einem garantierte Verhalten nur, wenn ausschließlich die openSUSE Standard Quellen aktiviert sind.
<https://doc.opensuse.org/documentation/leap/startup/html/book.opensuse.startup/cha.update.osuse.html&gt; § 12.1.4.

hello

I had the same “symbol grub_tpm_measure not found” issue, but in another context, and the way I solved it might help some others with the same issue

context:

  • i have a laptop which works fine, with a TPM that is enabled by defaut, but i’m not dealing with secure boot (there’s a basic EFI boot)
  • i simply did a basic update of my kernel, but something went wrong during mkconfig detection and setup of the new configuration, because this time the grub was in a bad state…
  • all attempts to do step-by-step rescue commands and boot from grub rescue mode failed with this error

how I fixed it:

  • i set TPM=off in my BIOS
  • i booted on a USB thumb drive (using a live tumbleweed)
  • i tried to make a fresh new grub install without the TPM visible, hoping that it would not embed “something which doesn’t work” (and it worked !)

after booting the live distro, in a terminal i did:

i am using system binaries from the tumbleweed live usb key

mkdir /mnt
mount /dev/sda2 /mnt

mount -t proc none /mnt/proc
mount --rbind /dev /mnt/dev
mount --rbind /sys /mnt/sys

chroot /mnt /bin/bash

now i am using system binaries from my laptop’s system (which is a Leap 15.0)

this will make the EFI partition visible at the proper place

mount -a

that’s the theoretical command-line way, …

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg

… but i did even simpler: the yast2 way (in text mode because the leap dependencies are not OK with the tumbleweed graphical environment)

DISPLAY= yast2 bootloader

check settings, then apply them

reboot

i hope this helps,
eric