Wiederherstellung aus Timeshift-Snapshot auf BTRFS - Fehler: Symbol >>grub_is_shim_lock_enabled<< Thema ist als GELÖST markiert

Hilfe bei der Installation von Manjaro Linux!
Antworten

Themen Author
Clemens
Forum Held
Forum Held
Beiträge: 508
Registriert: Donnerstag 9. Januar 2020, 18:16
Wohnort: Rottweil
CPU: Ryzen 5 7600X auf ASrock B850M Pro-A WiFi
GPU: iGPU von CPU
Kernel: 612
Desktop-Variante: XFCE
GPU Treiber: Ryzen proprietär
Hat sich bedankt: 97 Mal
Danksagung erhalten: 15 Mal
Kontaktdaten:

Wiederherstellung aus Timeshift-Snapshot auf BTRFS - Fehler: Symbol >>grub_is_shim_lock_enabled<<

#1

Beitrag von Clemens »

Gestern Abend war ich noch absolut glücklich darüber, dass ich die Lösung für mein VirtualBox-Problem im Manjaro.org-Forum erhalten hatte. Nun wollte ich sie umsetzen. Da ich inzwischen mit KVM/Qemu experimentiert und dazu VBox deinstalliert hatte, wäre es die einfachste Lösung, einen früheren Timeshift-Snapshot zurück zu spielen, um umfangreiche Deinstallation und Systemsäuberung zu ersparen.

Ich habe also den PC gestartet und bin mit Esc ins Grub-Startmenü gelangt. Dort habe ich mir aus den dort aufgeführten Timeshift Snapshots den geeigneten ausgesucht. Es wurden immer Images mit "intel" und "amd" in der Bezeichnung angeboten. Da ich auf einem AMD-System arbeite, habe ich das entsprechende AMD-Image ausgewählt und versucht zu starten. Dann erschien zum Stat sofort diese Meldung:

Code: Alles auswählen

ERROR: Failed to mount 'UUID=d89e484-027e-4f84-026a-cd549d796725'
You are now being dropped into an emergency shell.
sh: can't access tty: job control turned off
[rootfs ~]#
Glücklicher Weise hatte ich die UUIDs früher mal notiert und weiß daher, dass hier völlig korrekt das Systemlaufwerk gemeint ist, also von dem aus gebootet wird.

Dann fiel mir ein, dass man ja auch aus Timeshift heraus eine Wiederherstellung ausführen kann. Leider war ich voreilig und hatte nicht die für diesen Vorgang erforderlichen Anleitungen gelesen. Ich habe also Manjaro normal gestartet, dann Timeshift gestartet und dort den passenden Snapshot ausgewählt, dann "Wiederherstellen geklickt.

Es erschien der Warnhinweis, dass keine Haftung übernommen wird. Ich bestätigte und kurz drauf kam die Erfolgsmeldung der Wiederherstellung.

Dann die böse Überraschung beim reboot:

Code: Alles auswählen

Fehler: Symbol >>grub_is_shim_lock_enabled<< nicht gefunden.
Fehler: Symbol >>grub_is_shim_lock_enabled<< nicht gefunden.
Beliebige Taste drücken, um fortzusetzen ...
Nach kurzer Zeit ergänzte sich die Anzeige zu:

Code: Alles auswählen

Sowohl Vorgabe- als auch Alternativeinträge konnten nicht gebootet werden.
Beliebige Taste drücken, um fortzusetzen ...
Kurze Zeit später landete ich im Grub-Menü, in dem ich Manjaro mit Optionen starten und Snapshots auswählen kann.

Bei der Suche nach Lösungen fand ich zur Systemmeldung

Code: Alles auswählen

Fehler: Symbol >>grub_is_shim_lock_enabled
nur Dinge, die ich nicht verstand und die sich betr. der Umsetzung als riskant für das ganze System anfühlen.

Angeblich soll es auch mit "Secure Boot zu tun haben.Das aber habe ich im BIOS nie aktiviert. Auch nutze ich EFI boot und kein legacy.

Ich fand auch diese Diskussion hier: https://forum.manjaro.org/t/how-do-i-us ... /124683/40

Dort wird anscheinend in dem letzten noch gut funktionierenden Snapshot die grub.cfg auf Richtigkeit überprüft und dann der ganze Snapshot mit move-Befehl in die zuletzt aktive root-Partition / root-Volume kopiert. Dann rebootet usw.

Ich hatte nach dieser Anleitung begonnen, im Live-System den Befehl

Code: Alles auswählen

manjaro-chroot -a
auszuführen mit dem Ergebnis:

Code: Alles auswählen

grub-probe: error: cannot find a GRUB drive for /dev/sdg1. Check your device.map.
===> ERROR: No Linux partitions detectd!
Naja das macht auch Sinn, denn hier wurde auf dem Live-Stick nach der Linux-Partition gesucht. Mein bisher gut laufendes neues Manjaro befindet sich auf /dev/nvme1n1

Gemäß der obigen Anleitung bin ich dann auch in die Grub.cfg des letzten Snapshots gegangen und hab die Config auf Auffälligkeiten geprüft.
Dann bin ich auf die Idee gekommen, die Grub.cfg aus dem letzten Snapshot mit derjenigen zu vergleichen, mit der das System nicht starten will. Resultat: Die beiden sind identisch. Immerhin ist jetzt klar, dass es daran nicht liegt.

########
Ich habe hier aktuell Internet-Zugangsprobleme und muss immer zwischenspeichern, damit meine letzten Hinzufügungen nicht weg sind.
########

Angeregt durch andere Quellen im Web habe ich aus dem Lifesystem heraus probiert:

Code: Alles auswählen

su
efibootmgr
BootCurrent: 002
Timeout 1 seconds
BootOrder: 002,001,000
Boot000* Manjaro   HD(2,GPT,0f5be05c-.....)/\EFI\Manjaro\grub64.efi
Boot001* UEFI OS   HD(2,GPT,0f5be05c-.....)/\EFI\BOOT\BOOTX64.EFI000024f
Boot002* KingstonDataTraveler  = der Live-Stick
Dann versuchte ich:

Code: Alles auswählen

su
bootctl status
Could'nt find EFI system partition.....  (klar, damit meint er den LiveStick)
System:
Firmware: n/a
Firmware Arch: x64
SecureBoot: disabled (setup)
TPM2 Support: no
Measured UKI: no
Boot into FW: supported

Random Seed:
System Token: not set

Boot Loaders Listed in EFI Variables:
Title: UEFI OS
ID: 0x0001
Status: active, boot-order
Partition: /dev/disk/by-partuuid/0f5be05c.....
File:  /EFI/BOOT/BOOTX64.EFI

Title: Manjaro
ID: 0x0000
Status: active, boot-order
Partition: /dev/disk/by-partuuid/0f5be05c.....
File:   /EFI/Manjaro/grubx64.efi
Beide Boot-Möglichkeiten (für UEFI-OS und für Manjaro) werden so auch im BIOS angeboten. Dass beide derart unterschiedlich sein sollen, wundert mich. Zumindest bestünde eine Möglichkeit, nochmals beide Bootmöglichketen im BIOS auszuwählen in der bangen Hoffnung, dass eine von beiden funktioniert.
Ich habe auch versucht, mit dem LiveStick und Thunar-Root in den Ordner @/boot/efi/ hinein zu schauen. Da ist aber anscheinend nix drin! Oder wird nix angezeigt.

Zum Vergleich habe ich meinen Laptop herangezogen. Im laufenden System (also kein LiveStick), sehe ich mittels Thunar-Root:

Code: Alles auswählen

/boot/efi/EFI/boot/bootx64.efi
/boot/efi/EFI/Manjaro/grub64.efi
Sowohl bei dem aktuell problematischen PC als auch bei dem Laptop hatte ich bei der Partitionierung /boot/efi/ angelegt. Zumindest ist das ein erheblicher Unterschied zu dem /boot/efi auf dem problematischen PC.

Ich habe versucht, den problematischen PC nacheinander mit beiden Boot-Optionen zu starten. Aber jedes Mal kommt die eingangs beschriebene Meldung:

Code: Alles auswählen

Fehler: Symbol >>grub_is_shim_lock_enabled<< nicht gefunden.
Fehler: Symbol >>grub_is_shim_lock_enabled<< nicht gefunden.
Beliebige Taste drücken, um fortzusetzen ...
Es gibt einen langen Thread zu dieser Meldung und hier evtl. eine Lösung: https://bbs.archlinux.org/viewtopic.php ... 3#p2157953
Der Kollege hat letztlich alle in seinem System existierenden Linux-Bootloader entfernt und dann Grub neu installiert. Leider ist die Erklärung, wie er Zugriff auf die verschiedenen EFI Bootloader-Komponenten erhalten hat und mit welcher Vorgehensweise er es geschafft hat, den Grubloader wieder neu zu installieren, das verstehe ich aus dem Text dort nicht.
Zitat: so I cleaned up everything that belonged to Linux and grub. So basically everything besides my MS Windows boot loader that resides in the same structure. I removed all boot loaders (again except Win) in the UEFI setup (can also be done in efibootmgr to spare the reboot) and installed grub again using grub-install --efi-directory=/boot. I checked efibootmgr again to veryfy that the installation is matching the newly installed boat loader on /boot/EFI and it did. After reboot everything worked again.

Ich fühle mich zu unsicher, hier weiter zu machen. Vielleicht kann mir jemand Schritt für Schritt erklären, was der Kollege getan hat?
Benutzeravatar

LaGGGer
Forum Held
Forum Held
Beiträge: 1870
Registriert: Freitag 26. Juni 2020, 18:53
CPU: AMD Ryzen 7 5800X
GPU: Sapphire Nitro+ AMD Radeon RX 7700 XT
Kernel: 6.10
Desktop-Variante: XFCE
GPU Treiber: amdgpu im Kernel
Hat sich bedankt: 191 Mal
Danksagung erhalten: 331 Mal

Re: Wiederherstellung aus Timeshift-Snapshot auf BTRFS - Fehler: Symbol >>grub_is_shim_lock_enabled<<

#2

Beitrag von LaGGGer »

Grade gefunden, möglicherweise kommst du damit weiter.
https://forum.manjaro.org/t/grub-is-shi ... und/159220
°°
MfG LaGGGer

Themen Author
Clemens
Forum Held
Forum Held
Beiträge: 508
Registriert: Donnerstag 9. Januar 2020, 18:16
Wohnort: Rottweil
CPU: Ryzen 5 7600X auf ASrock B850M Pro-A WiFi
GPU: iGPU von CPU
Kernel: 612
Desktop-Variante: XFCE
GPU Treiber: Ryzen proprietär
Hat sich bedankt: 97 Mal
Danksagung erhalten: 15 Mal
Kontaktdaten:

Re: Wiederherstellung aus Timeshift-Snapshot auf BTRFS - Fehler: Symbol >>grub_is_shim_lock_enabled<<

#3

Beitrag von Clemens »

Ich danke dir für den Link. Genau diese Diskussion hatte ich bereits bei meinen bisherigen Versuchen berücksichtigt. Bin aber dann letztlich damit nicht weiter gekommen.
Hier an dieser Stell in dem langen Thread wird die Lösung mitgeteilt:
https://forum.manjaro.org/t/grub-is-shi ... /159220/24

Die in diesem Zusammenhang zitierte Manjaro Wiki-Website ist aktuell gestört / nicht erreichbar.

Der Benutzer hatte zuletzt zwei Boot-Optionen, ähnlich wie ich auch. Bei ihm funktionierte aber eine der beiden Optionen sodass er wieder in sein System herein kam. Daher hatte er andere Möglichkeiten zur Wiederherstellung als ich. Bei mir startet keine der beiden Möglichkeiten.

Letztlich installiert er Grub neu und erzeugt so auch einen komplett neuen Bootloader – ganz so, wie in der von mir verlinkten Diskussion von bbs.archlinux. Aber wie gesagt: dieser Benutzer konnte wenigstens in sein System wieder herein und von dort bequem mit Pacman den Grub neu installieren.
Ich wüsste nicht, wie ich von einem Live-System aus etwas indem nicht mehr startenden System hinein installieren könnte.


Meine Idee ist ja, mit Hilfe des Live-Systems aus dem zuletzt erstellten Snapshot die Bootloader Dateien zu extrahieren und in die entsprechenden Stellen des nicht mehr startenden Systems einzufügen und damit auch defekte Dine zu ersetzen. Aber es ist nicht so einfach, an diese Partitionen, Subvolumes und Verzeichnisse heranzukommen. Und wenn, dann müsste ich auch wissen, welche Dateien hier entscheidend sind.

Ich habe aktuell so viel verstanden, dass man zig funktionierende Snapshots und sogar ein eigentlich lauffähiges System haben kann – aber wenn der Bootloader spinnt, kannst du nichts mehr machen. Man kommt nur noch über ein Life-System heran und sollte dann aber genau wissen, was man tut. Und was, das weiß ich eben noch nicht und nicht mit der nötigen Klarheit.

Themen Author
Clemens
Forum Held
Forum Held
Beiträge: 508
Registriert: Donnerstag 9. Januar 2020, 18:16
Wohnort: Rottweil
CPU: Ryzen 5 7600X auf ASrock B850M Pro-A WiFi
GPU: iGPU von CPU
Kernel: 612
Desktop-Variante: XFCE
GPU Treiber: Ryzen proprietär
Hat sich bedankt: 97 Mal
Danksagung erhalten: 15 Mal
Kontaktdaten:

Re: Wiederherstellung aus Timeshift-Snapshot auf BTRFS - Fehler: Symbol >>grub_is_shim_lock_enabled<<

#4

Beitrag von Clemens »

Damit es einfacher ist, die von mir gefundene Anleitung zu finden und evtl. mir zu erklären, hier die entscheidende Stelle aus bbs.archlinux:

#######################
In any case using efibootmgr to determine where the grub efi image is expected to be located by the UEFI subsystem and comparing this information with the EFI installation on the disk is always a good point to start!

In more detail it is important to know that grub uses two components when installed in UEFI mode: The grub core image (*.efi) and the grub modules (/boot/grub/x86-64-efi/*.mod). These two components have to match regarding the version, if they mismatch you get exactly these issues like "is_shim_lock_enabled" error messages. This has nothing to do with shim lock itself, the call to the specific method that is expected to be present in one component simply does not exist in the other one and so the call and the whole booting process fails.
Starting with grub 2.12 there seems to be an additional pitfall that the default install location for the core module has changed from EFI/BOOT/BOOTX64.EFI to EFI/<dist>/grubx64.efi. So just updating grub und running grub-install is very likely to end up with a mismatching configuration because the UEFI subsystem already knows the old grub installation of EFI/BOOT/BOOTX64.EFI and tries to use them with the newly installed modules.

What can you do in this situation?

One thing to mention is the flag --removable of grub-install. This will install the grub core module into the old location EFI/BOOT/BOOTX64.EFI and therefore is likely to already resolve the issue. In this case you would end up having two core modules installed and we just hope that the UEFI loader uses any of them, but there is also not really a reason why it would not.

How I resolved the issue: After running efibootmgr I found out that I had multiple old boot loader installations and started to clean this up, I also tried at some point systemd-boot which was also not working, so I cleaned up everything that belonged to Linux and grub. So basically everything besides my MS Windows boot loader that resides in the same structure. I removed all boot loaders (again except Win) in the UEFI setup (can also be done in efibootmgr to spare the reboot) and installed grub again using grub-install --efi-directory=/boot. I checked efibootmgr again to veryfy that the installation is matching the newly installed boat loader on /boot/EFI and it did. After reboot everything worked again.
#######################

Um den Lösungsvorschlag anwenden zu können, muss ich folgende Fragen geklärt haben:
  • Wie bekomme ichüberhaupt Zugang / Berechtigung zu den im Folgenden erwähnten Partitionen und Dateien?
  • Wie kann ich "Bootloader-Installationen" und "Grub" aufräumen?
  • Wie kann ich alle Bootloader im UEFI-setup löschen?
  • Wie gewinne ich diese wieder? Einfach durch Neu-Installation von Grub?
  • Wie installiere ich Gub neu auf dem nicht startenden System?
  • Wie kann ich heraus finden, dass der neu installierte Bootloader zu /boot/EFI passt?
  • Würde der Vorgang, den der Kollege beschreiben hat, auch bei BTRFS funktionieren?
  • Kann ich den Reparaturvorgang in meinem Fall dank der Timeshift BTRFS Snapshost einfacher gestalten, indem ich Bootloader-Dateien aus dem Snapshot entnehme und sie in den aktuell aktiven Bootloader hinei kopiere und so die nicht funktionierenden Dateien / Konfigurationsdaten überschreibe?
Benutzeravatar

ManTuxer
Forum Kenner
Forum Kenner
Beiträge: 229
Registriert: Donnerstag 19. August 2021, 08:29
CPU: Intel Core i7-9750H
GPU: NVIDIA GeForce GTX 1650 Mobile / Intel
Kernel: aktuellsten nicht RC + LTS (fallback)
Desktop-Variante: Cinnamon
GPU Treiber: NVIDIA
Hat sich bedankt: 46 Mal
Danksagung erhalten: 75 Mal

Re: Wiederherstellung aus Timeshift-Snapshot auf BTRFS - Fehler: Symbol >>grub_is_shim_lock_enabled<<

#5

Beitrag von ManTuxer »

Hallo @ Clemens!

Du hattest ja nicht gerade viel Glück in den letzten Wochen.
Schau dir das hier an, dort wird beides beschrieben auch der Weg für btrfs.

Zusammenfassung aus Aragorns Beitrag ohne Erklärungen:
Du musst nur die Laufwerke auf dein System hin anpassen! Diese bekommst du aus dem zweiten Befehl.
  1. Boote vom Stick
    
    
  2. Öffne ein Terminal
  3. Code: Alles auswählen

    sudo su -
    lsblk --fs

    Code: Alles auswählen

    mount -t btrfs -o subvol=@ /dev/sda2 /mnt
    mount -t btrfs -o subvol=@home /dev/sda2 /mnt/home
    mount -t btrfs -o subvol=@log /dev/sda2 /mnt/var/log
    mount -t btrfs -o subvol=@cache /dev/sda2 /mnt/var/cache
    mount -t vfat  /dev/sda1 /mnt/boot/efi
    mount --bind /dev /mnt/dev
    mount -t proc proc /mnt/proc
    mount -t sysfs sysfs /mnt/sys
    mount -t efivarfs efivarfs /mnt/sys/firmware/efi/efivars
    chroot /mnt /bin/bash

    Code: Alles auswählen

    [ -f /var/lib/pacman/db.lck ] && rm -f /var/lib/pacman/db.lck
    pacman-mirrors -f && pacman -Syyu
    update-grub
    exit
Bin leider bis nächste Woche nicht mehr dabei. Hoffe, du bekommst es schnell wieder gebacken und findest danach mehr Ruhe mit deinem Rechner.


Themen Author
Clemens
Forum Held
Forum Held
Beiträge: 508
Registriert: Donnerstag 9. Januar 2020, 18:16
Wohnort: Rottweil
CPU: Ryzen 5 7600X auf ASrock B850M Pro-A WiFi
GPU: iGPU von CPU
Kernel: 612
Desktop-Variante: XFCE
GPU Treiber: Ryzen proprietär
Hat sich bedankt: 97 Mal
Danksagung erhalten: 15 Mal
Kontaktdaten:

Re: Wiederherstellung aus Timeshift-Snapshot auf BTRFS - Fehler: Symbol >>grub_is_shim_lock_enabled<<

#6

Beitrag von Clemens »

Ich danke dir für deinen Hinweis auf das wertvolle Tutorial von Aragorn. Gestern spät kam aber der Verdacht auf, dass die vfat-Partition mit

Code: Alles auswählen

/boot/efi
beschädigt sein könnte. Denn ich konnte zwar einwandfrei im Life-System bei einhängen, nicht aber

Code: Alles auswählen

/boot/efi
.
Wenn ich versuche, es einzuhängen, sieht das so aus:

Code: Alles auswählen

mount -t vfat $esp /mnt/boot/efi
mount: /mnt/boot/efi: can't find in /etc/fstab.
Ich habe mal das Systemlaufwerk mit Gparted untersucht. Dabei fiel auf, dass die vfat-Partition mit einem "i" auf einem schwarzen Kreis gekennzeichnet ist (statt mit einem Schloss-Symbol). Wenn ich nach Rechtsklick auf diese Partition mir die Information dazu anzeigen lasse, erhalte ich:

Code: Alles auswählen

Unable to read the contents of this file system! Because of this some operations may be unavailable. The cause might be a missing software package. The following list of software packages is required for fat32 file system support: dosfstools, mtools.
Da aber diese Tools im Life-System integriert sind, muss es andere Gründe haben, warum Gparted diese Partition nicht lesen kann, wie z.B. defekte Partition.

Demgegenüber ist es ei Widerspruch, dass ich im chroot-modus im Terminal mit cd boot und cd efi in diese Verzeichnisse wechseln kann. Wenn Verzeichnisse erkannt werden und ausgewählt werden können, dann ist das ein Hinweis, dass die Partition vielleicht doch nicht defekt ist.

Ich sitze jetzt seit 18 Stunden an diesem Problem. Es wird ineffizient, sich damit weiter zu beschäftigen und ich erwäge, in Kürze eine komplett neue Installation durchzuführen. Den wenn es gelingen würde, das jetzige System zu reparieren, dann könnte noch ein Fehler unentdeckt drin bleiben, sozusagen als tickende Bombe.

Aragorn ist wirklich ein absolut erfahrener und engagierter Mensch. Mit ihm diskutiere ich dieses Thema ausnahmsweise parallel, da e anscheinend hie im deutschen Forum anscheinend kaum solche Spezialisten gibt. Die aktuelle Diskussion findet sich hier: https://forum.manjaro.org/t/recovering- ... /180733/25
Und das Crossposting möge man mir verzeihen! Das war auch schon bei der Diskussion betreffend der VirtualBox letztlich hilfreich. Diese hatte ja überraschend zum Ergebnis (Aragorn sei dank!), dass die VMs (*.vdi-Dateien) nicht auf einer BTRFS Partition liegen dürfen.

Ach ja, falls jemand wegen einer Systemwiederherstellung auf diese Diskussion hier trifft, der sollte sich auch dieses Tutorial hier anschauen: https://forum.manjaro.org/t/root-tip-re ... ery/175302

Ich wünsche dir eine erholsame angenehme Woche!

Themen Author
Clemens
Forum Held
Forum Held
Beiträge: 508
Registriert: Donnerstag 9. Januar 2020, 18:16
Wohnort: Rottweil
CPU: Ryzen 5 7600X auf ASrock B850M Pro-A WiFi
GPU: iGPU von CPU
Kernel: 612
Desktop-Variante: XFCE
GPU Treiber: Ryzen proprietär
Hat sich bedankt: 97 Mal
Danksagung erhalten: 15 Mal
Kontaktdaten:

Re: Wiederherstellung aus Timeshift-Snapshot auf BTRFS - Fehler: Symbol >>grub_is_shim_lock_enabled<<

#7

Beitrag von Clemens »

Hallo!
Seit vier Stunden bin ich wieder glücklicher PC-Nutzer. Länger hat es nicht gedauert, Manjaro zu installieren, eine saubere Partitionierung vorzunehmen, alle meine geliebten Programme zu installieren und nahezu alle auch "einzurichten". Denn ich hatte die Einrichtungsdaten dieses Mal rechtzeitig gesichert und brauchte diese nur per Symlinks in die einschlägigen Konfigurations-Plätze verlinken.

Thunderbird, der Browser, die Nextcloud, KeepassXC, das Homebanking und Vieles mehr funktionierten nach Einfügen der Symlinks auf Anhieb!

Wenn ein System erst mal so beschädigt ist, wie mein gerade verabschiedetes, lohnt sich keine lange Frickelei!

In diesem Diskussionsverlauf finden sich etliche Links und Fundstellen, mit denen sich andere User Infos und Hilfe verschaffen können.

Allen, die versucht haben, mir hier weiter zu helfen, sage ich herzlichen Dank!
Antworten