Fehlerbehebung: „Out of Memory“ und „You Need to Load the Kernel First“

Melden

Dieses Tutorial hilft dir dabei, die frustrierenden Fehler „Out of Memory“ und „You Need to Load the Kernel First“ zu beheben. Diese treten meistens beim Starten von Linux-Distributionen (wie Ubuntu, Linux Mint oder Debian) im GRUB-Bootloader auf, oft nach einem Kernel-Update.


Warum passiert das?

Zwei Hauptgründe führen meist zu diesem Problem:

  1. Platzmangel: Die /boot-Partition ist voll, weshalb der Kernel oder die Initrd-Datei nicht vollständig geschrieben werden konnten.
  2. Zu große Initrd-Datei: Der Bootloader (GRUB) hat nicht genug Speicher reserviert, um eine sehr große RAM-Disk (initrd) zu laden.

Schritt 1: Zugriff auf das System (über einen alten Kernel)

Bevor du den Fehler beheben kannst, musst du dich einloggen. Wenn dein PC beim Booten hängen bleibt:

  1. Starte den PC neu.
  2. Halte die Umschalt-Taste (Shift) oder drücke mehrmals Esc, um das GRUB-Menü anzuzeigen.
  3. Wähle „Advanced Options for Ubuntu“ (oder deine Distribution).
  4. Wähle einen älteren Kernel aus der Liste (nicht den obersten), der nicht auf „Recovery Mode“ endet.
  5. Das System sollte nun normal booten.

Schritt 2: Speicherplatz auf der Boot-Partition freigeben

Wenn die Partition voll ist, konnte das Update nicht korrekt abgeschlossen werden.

  1. Öffne das Terminal.
  2. Prüfe den Speicherplatz:
    df -h /boot
  3. Wenn die Auslastung bei 100 % liegt, entferne alte, nicht mehr benötigte Kernel:
    sudo apt autoremove --purge

    Hinweis: Dies löscht sicher alle Kernel, die nicht mehr aktuell sind und nicht verwendet werden.


Schritt 3: Die Initrd-Größe reduzieren (Wichtigster Schritt!)

Oft ist die Datei initrd.img zu groß für den GRUB-Speicher. Wir können die Kompression ändern, um die Datei kleiner zu machen.

  1. Öffne die Konfigurationsdatei für das Initramfs:
    sudo nano /etc/initramfs-tools/initramfs.conf
  2. Suche die Zeile COMPRESS=.... Ändere sie auf xz oder gzip (xz komprimiert am stärksten):
    COMPRESS=xz
  3. (Optional) Suche die Zeile MODULES=most. Wenn dein System sehr speziell ist und die Datei immer noch zu groß ist, kann man hier MODULES=dep wählen (Vorsicht: Lädt nur nötige Treiber für die aktuelle Hardware). Für die meisten reicht COMPRESS=xz.
  4. Speichere mit Strg+O, Bestätige mit Enter und schließe mit Strg+X.
  5. Aktualisiere das Initramfs, um die Änderungen anzuwenden:
    sudo update-initramfs -u

Schritt 4: GRUB aktualisieren

Damit der Bootloader die Änderungen erkennt und die Verknüpfungen zum Kernel neu setzt, führe diesen Befehl aus:

sudo update-grub

Schritt 5: Problematische Kernel-Versionen (Spezialfall)

Manchmal hat ein spezifischer Kernel (z. B. Version 5.15.0-xx) einen Bug. Wenn das Problem nach den obigen Schritten weiterhin besteht:

  1. Deinstalliere den neuesten, fehlerhaften Kernel (nur wenn du im alten Kernel eingeloggt bist!):
    sudo apt remove linux-image-VERSION-generic linux-headers-VERSION-generic

    (Ersetze VERSION durch die Nummer des Kernels, der nicht funktioniert).

  2. Sperre das Update für diesen Kernel vorerst, bis ein Fix erscheint.

Alternative Lösung: BIOS/UEFI-Einstellungen

In seltenen Fällen liegt es an den Hardware-Einstellungen:

  • TPM deaktivieren: Bei einigen Mainboards hilft es, „TPM“ im BIOS zu deaktivieren, da dies Speicherbereiche reserviert, die GRUB benötigt.
  • Secure Boot: Versuche, Secure Boot testweise im BIOS zu deaktivieren.

Zusammenfassung

Meistens löst Schritt 3 (Kompression auf xz umstellen) das Problem sofort, da die Datei dadurch klein genug wird, damit GRUB sie in den Speicher laden kann. Starte dein System nach den Schritten neu, um zu prüfen, ob der Fehler behoben ist.

sudo reboot
0