Alte Linux-Kernel löschen: /boot-Partition bereinigen

von | 04.02.2017 | Linux

Auf Debian-basierten Systemen wie Ubuntu, Linux Mint oder Debian selbst werden Security-Updates und Kernel-Aktualisierungen meist automatisch eingespielt. Das ist grundsätzlich gut für die Sicherheit, bringt aber ein lästiges Problem mit sich: Die /boot-Partition wird kontinuierlich voller, da alte Linux-Kernel standardmäßig nicht automatisch entfernt werden.

Dieses Verhalten ist durchaus sinnvoll – schließlich könnt ihr so bei Problemen mit einem neuen Kernel auf eine ältere, funktionierende Version zurückgreifen. Doch nach mehreren Updates sammeln sich schnell 5-10 oder mehr alte Kernel-Versionen an, die wertvollen Speicherplatz auf der meist relativ kleinen /boot-Partition belegen.

Das Problem erkennen

Wenn die /boot-Partition voll läuft, bekommt ihr entsprechende Warnmeldungen vom System. Ihr könnt den Füllstand auch manuell prüfen:

df -h /boot

Zeigt dieser Befehl eine Auslastung von über 80%, solltet ihr handeln. Mit ls -la /boot seht ihr alle installierten Kernel-Versionen.

Automatische Bereinigung

Der einfachste Weg zur Bereinigung führt über das Terminal. Der folgende Befehl entfernt automatisch nicht mehr benötigte Pakete – dazu gehören auch überflüssige alte Linux-Kernel:

sudo apt-get autoremove

Nach Eingabe eures Admin-Passworts zeigt das System eine Übersicht aller Pakete an, die gelöscht werden sollen. Sind darunter Pakete mit Namen wie „linux-image-“ oder „linux-headers-„, handelt es sich um alte Kernel-Komponenten.

Manuelle Kernel-Bereinigung

Für mehr Kontrolle könnt ihr auch gezielt vorgehen. Zeigt zunächst alle installierten Kernel an:

dpkg –list | grep linux-image

Der aktuell laufende Kernel wird mit diesem Befehl angezeigt:

uname -r

Diesen solltet ihr auf keinen Fall löschen! Auch die neueste verfügbare Version sollte bleiben. Alle anderen könnt ihr gezielt entfernen:

sudo apt-get remove linux-image-5.4.0-42-generic

(Ersetzt die Versionsnummer durch die tatsächlich vorhandenen alten Versionen)

Boot-Loader aktualisieren

Nach dem Entfernen alter Kernel solltet ihr unbedingt den Boot-Loader aktualisieren. Bei GRUB (dem Standard bei den meisten Distributionen) geht das so:

sudo update-grub

Dieser Befehl aktualisiert das Boot-Menü und entfernt Einträge für nicht mehr vorhandene Kernel-Versionen.

Automatisierung einrichten

Seit Ubuntu 16.04 und neueren Debian-Versionen gibt es eine elegante Lösung: Das Paket „unattended-upgrades“ kann so konfiguriert werden, dass alte Kernel automatisch entfernt werden. Installiert es mit:

sudo apt install unattended-upgrades

In der Konfigurationsdatei /etc/apt/apt.conf.d/50unattended-upgrades könnt ihr dann diese Zeile aktivieren:

Unattended-Upgrade::Remove-Unused-Kernel-Packages „true“;

Alternativ nutzt das modernere Tool apt-config:

sudo apt-config dump | grep -i kernel

Vorsichtsmaßnahmen

Bevor ihr alte Kernel löscht, solltet ihr sicherstellen, dass das System mit dem aktuellen Kernel stabil läuft. Testet kritische Funktionen und Hardware-Komponenten. Bei Servern empfiehlt es sich, immer mindestens zwei funktionsfähige Kernel-Versionen zu behalten.

Bei benutzerdefinierten Kernel-Modulen (etwa proprietäre Grafiktreiber) kann das Entfernen alter Kernel zu Problemen führen. In solchen Fällen solltet ihr die entsprechenden DKMS-Module vorher überprüfen:

sudo dkms status

Moderne Alternativen

Neue Tools wie „ncdu“ helfen bei der grafischen Analyse des Speicherverbrauchs:

sudo apt install ncdu
sudo ncdu /boot

Für Systemd-basierte Systeme gibt es auch journalctl-Befehle zur Bereinigung:

sudo journalctl –vacuum-time=2weeks

Die regelmäßige Bereinigung alter Kernel gehört zur Standard-Wartung jedes Linux-Systems. Mit den richtigen Befehlen und etwas Automatisierung bleibt eure /boot-Partition sauber und funktionsfähig.

Zuletzt aktualisiert am 04.04.2026