Skip to main content

🛠️ GRUB-Fehler

GRUB-Fehler „symbol grub_memcpy not found“ unter Manjaro Linux beheben

Anleitung für ext4 & Btrfs, UEFI-Systeme und NVMe-SSDs

Grundsätzlich empfiehlt es sich, besonders vor großen Updates, die Seite forum.manjaro.org/c/announcements/11 zu checken.

Offizielle Ursache laut Manjaro-Team (Update vom 08.12.2025 / Version 25.1 ‘Anh-Linh’):
Bei einigen UEFI-Systemen wird der eigentliche GRUB-Bootloader auf der EFI-Partition nicht automatisch aktualisiert, obwohl das GRUB-Paket im System bereits auf eine neue Version aktualisiert wurde.
Dadurch entsteht ein Versionsmismatch zwischen dem GRUB-Core auf der EFI-Partition und den GRUB-Modulen im Verzeichnis /boot/grub – und genau dieser Versionskonflikt führt zu Fehlermeldungen wie
symbol grub_memcpy not found beim nächsten Systemstart.

⚠️ Um solche Probleme zu verhindern, empfiehlt das Manjaro-Team, nach großen Updates GRUB manuell zu aktualisieren, bevor neu gestartet wird:

sudo grub-install && sudo update-grub

Dieses Verhalten passt exakt zu dem hier beschriebenen Fehlerbild.
Manjaro Link zum Forum: stable-update-2025-12-08-25-1-anh-linh-preview


❗ Problem

Beim Booten erscheint der Fehler:

error: symbol `grub_memcpy` not found.
Entering rescue mode...
grub rescue>

Das System startet nicht mehr, weil GRUB beschädigt ist oder die falsche Version lädt.

In einem konkreten Fall war der Ordner /boot/efi zwar vorhanden, aber die EFI-Partition nicht eingehängt – dadurch konnte GRUB beim Update nicht korrekt aktualisiert werden und nach dem Reboot nicht mehr starten.

Hinweis:
Die integrierte GRUB-Diagnose von tweaksManjaro.sh ab Version V25.12.020 hätte diesen Fehler vor dem Neustart erkannt und verhindern können.
Bei Manjaro können GRUB-Probleme häufiger auftreten, weil das Rolling-Release-Modell wesentlich öfter Kernel- und GRUB-Komponenten aktualisiert und dabei leider nicht zuverlässig prüft, ob /boot/efi wirklich eingehängt ist.
Linux Mint nutzt dagegen ein konservatives, sehr stabiles Boot-System ohne häufige GRUB-Updates, weshalb dieser Fehler dort praktisch nie vorkommt – deshalb empfehle ich Manjaro nicht für Anfänger oder Einsteiger.

Die einfachste Art ist eventuell, im BIOS die Bootreihenfolge des UEFI OS temporär so zu ändern, dass Manjaro an erster Stelle steht. Starte Manjaro ohne Grub, führe anschließend die folgenden Befehle aus:

sudo pacman -Syu
sudo grub-install && sudo update-grub
sudo mkinitcpio -P

aus und boote danach wieder über das UEFI OS. Wenn das nicht funktioniert, musst du einen Manjaro-Live-USB-Stick nutzen.

Diese Anleitung beschreibt Schritt für Schritt die vollständige Reparatur – sowohl für Btrfs- als auch für ext4-Systeme.


🧩 Voraussetzungen

  • Ein Manjaro Live-USB-Stick
  • BIOS/UEFI so eingestellt, dass vom USB gebootet wird
  • Grundwissen über Terminalbefehle
  • Du weißt, ob deine Root-Partition mit Btrfs oder ext4 formatiert ist

🚀 Schritt 1: Ins Live-System booten

  1. Vom Manjaro USB-Stick starten
  2. Auf dem Desktop Terminal öffnen

📦 Schritt 2: Festplatten und Partitionen anzeigen

sudo fdisk -l

Typische Manjaro-Installation auf NVMe sieht so aus:

Btrfs-Variante

  • /dev/nvme0n1p1 → EFI-Systempartition (FAT32, ~300 MB)
  • /dev/nvme0n1p2 → Root-Partition (Btrfs)
  • /dev/nvme0n1p3 → Swap (optional)

➡️ Entscheidend ist, dass die Root-Partition Btrfs ist und das Subvolume @ enthält.

ext4-Variante

  • /dev/nvme0n1p1 → EFI-Systempartition (FAT32, ~300 MB)
  • /dev/nvme0n1p2 → Root-Partition (ext4)
  • /dev/nvme0n1p3 → Swap (optional)

➡️ Bei ext4 gibt es keine Subvolumes, die Root-Partition wird direkt eingehängt.


📂 Schritt 3: Root-Dateisystem korrekt mounten

Je nach Dateisystem unterscheidet sich das Mounten:

🟦 Btrfs: Root-Subvolume mounten

Alle vorherigen Mounts sicher entfernen:

sudo umount -R /mnt 2>/dev/null

Dann Root-Subvolume mounten:

sudo mount -o subvol=@ /dev/nvme0n1p2 /mnt

(Passe /dev/nvme0n1p2 ggf. an deine Root-Partition an.)

🟩 ext4: klassische Root-Partition mounten

Auch hier vorher aufräumen:

sudo umount -R /mnt 2>/dev/null

Dann Root-Partition direkt mounten (ohne Subvolume):

sudo mount /dev/nvme0n1p2 /mnt

(Auch hier /dev/nvme0n1p2 an deine ext4-Root-Partition anpassen.)


🗂️ Schritt 4: EFI-Partition mounten

EFI-Verzeichnis anlegen (gilt für Btrfs und ext4):

sudo mkdir -p /mnt/boot/efi

EFI-Partition einhängen:

sudo mount /dev/nvme0n1p1 /mnt/boot/efi

🔧 Schritt 5: In das installierte System wechseln (chroot)

sudo manjaro-chroot /mnt

Prompt sollte so aussehen:

sh-5.3#

→ Jetzt arbeitest du im echten System.

Das System aktualisieren:

sudo pacman -Syu        # Vollständiges Update
sudo mkinitcpio -P      # Initramfs neu erzeugen

❗Wichtig: Nur im chroot ausführen, niemals im Live-System!


🛠️ Schritt 6: GRUB neu installieren (UEFI)

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro

Erfolgreiche Ausgabe:

Installation finished. No error reported.

🔄 Schritt 7: GRUB-Konfiguration neu erstellen

grub-mkconfig -o /boot/grub/grub.cfg

Typische (unproblematische) Meldungen:

  • Warnungen über /dev/sda1 (USB-Stick) → ignorieren
  • Warnungen „unknown device nvme0n1“ → normal bei NVMe
  • Timeshift-Snapshots werden erkannt → korrekt (vor allem bei Btrfs)

🚪 Schritt 8: chroot verlassen

exit

🔁 Schritt 9: System neu starten

sudo reboot

Wichtig: USB-Stick entfernen, sobald der PC neu startet.


🎉 Ergebnis

Das System sollte wieder normal starten.
GRUB wurde vollständig repariert und zeigt alle Kernel sowie ggf. Timeshift-Snapshots korrekt an.


📝 Hinweise & Troubleshooting

❔ „cannot find a GRUB drive for /dev/sda1“

Unkritisch. Der USB-Stick wird gescannt und enthält natürlich kein GRUB.

❔ „unknown device nvme0n1“

Normal bei NVMe-Geräten, kein Problem.

❔ GRUB startet, aber Einträge fehlen

Dann erneut ausführen:

sudo update-grub

(Innerhalb von manjaro-chroot.)


🧱 Zusammenfassung der wichtigsten Befehle

Für Btrfs-Root

sudo fdisk -l
sudo umount -R /mnt
sudo mount -o subvol=@ /dev/nvme0n1p2 /mnt
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
sudo manjaro-chroot /mnt
sudo pacman -Syu
sudo mkinitcpio -P
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro
grub-mkconfig -o /boot/grub/grub.cfg
exit
sudo reboot

Für ext4-Root

sudo fdisk -l
sudo umount -R /mnt
sudo mount /dev/nvme0n1p2 /mnt
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
sudo manjaro-chroot /mnt
sudo pacman -Syu
sudo mkinitcpio -P
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro
grub-mkconfig -o /boot/grub/grub.cfg
exit
sudo reboot

✔️ Fertig!

Diese Anleitung deckt alle erforderlichen Schritte ab, um GRUB nach dem Fehler „symbol grub_memcpy not found“ vollständig zu reparieren – sowohl bei Btrfs + UEFI + NVMe als auch bei ext4 + UEFI + NVMe.


🔧 Troubleshooting-Matrix

Problem / Symptom Wahrscheinliche Ursache Prüfung Lösung
GRUB-Fehler nach großem Update (z.B. grub_memcpy) Versionsmix zwischen GRUB-Core (EFI) und GRUB-Modulen (/boot) Dateien in /boot und EFI-Partition vergleichen chroot → grub-install + grub-mkconfig
GRUB lädt alte Kernel oder keine Kernel GRUB-Konfiguration veraltet ls -l /boot sudo grub-mkconfig -o /boot/grub/grub.cfg
System bootet nach Timeshift-Restore nicht Snapshot enthält ältere Bootdateien Snapshot-Datum vs. Kernel-Version prüfen Nach Restore GRUB neu installieren
chroot funktioniert nicht oder bricht ab (Btrfs) Btrfs-Subvolume wurde nicht korrekt gemountet `mount grep mnt`
chroot funktioniert nicht oder bricht ab (ext4) Falsche Root-Partition gemountet oder gar nicht gemountet `mount grep mnt`
EFI-Partition wirkt „leer“ oder unbenutzt EFI beim Update oder Boot nicht eingehängt `mount grep efi`
GRUB startet, aber zeigt kein Menü grub.cfg beschädigt oder unvollständig Inhalt prüfen: /boot/grub/grub.cfg Neu erzeugen: grub-mkconfig -o /boot/grub/grub.cfg

🟢 Wichtigste Sofortmaßnahme (Kurzform)

Bei GRUB-Problemen nach einem Update:

Die einfachste Art ist, im BIOS die Bootreihenfolge des UEFI OS temporär so zu ändern, dass Manjaro an erster Stelle steht und du direkt ins System kommst; dann kannst du GRUB dort fixen. Wenn das nicht möglich ist, musst du einen Manjaro-Live-USB-Stick nutzen und die folgenden Befehle im chroot ausführen:

sudo manjaro-chroot /mnt
sudo pacman -Syu
sudo mkinitcpio -P
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro
grub-mkconfig -o /boot/grub/grub.cfg