Linux Datenträger herausfinden

Du möchtest unter Linux herausfinden, welche Festplatten, SSDs, NVMe-Laufwerke, USB-Sticks und Partitionen vorhanden sind? Dafür musst Du kein zusätzliches Programm installieren. Die wichtigsten Werkzeuge heißen lsblk, blkid, findmnt und df.

In dieser Anleitung zeige ich Dir, welcher Befehl welche Informationen liefert und wie Du den richtigen Datenträger erkennst, ohne versehentlich etwas zu verändern.

Wichtig: Die in dieser Anleitung verwendeten Befehle lesen Informationen aus und verändern keine Partitionen. Gib bei Werkzeugen wie fdisk, parted, mkfs oder dd niemals weitere Schreibbefehle ein, wenn Du nicht ganz genau weißt, welchen Datenträger Du ausgewählt hast.

Alle Datenträger mit lsblk anzeigen

Für einen schnellen Überblick genügt:

lsblk

lsblk zeigt Blockgeräte normalerweise als Baum an. Eine Festplatte oder SSD steht oben, ihre Partitionen erscheinen eingerückt darunter. Typische Gerätenamen sind:

  • /dev/sda, /dev/sdb: SATA-, SAS-, USB- oder virtuelle Datenträger
  • /dev/nvme0n1: erstes NVMe-Laufwerk
  • /dev/nvme0n1p1: erste Partition des ersten NVMe-Laufwerks
  • /dev/mmcblk0: SD-Karte oder eMMC-Speicher
  • /dev/loop0: Loop-Gerät, häufig von Snap-Paketen oder eingebundenen Abbildern verwendet

Die übersichtliche Komplettansicht

Für eine ausführlichere, aber noch gut lesbare Übersicht empfehle ich diesen Befehl:

lsblk -e 7 -o NAME,PATH,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS,MODEL,SERIAL,TYPE,TRAN,ROTA

Die Option -e 7 blendet Loop-Geräte aus. Das macht die Ausgabe auf vielen Desktop-Systemen deutlich übersichtlicher. Die mit -o angegebenen Spalten werden bewusst festgelegt. Dadurch bleibt die Ausgabe nachvollziehbar, auch wenn sich die Standardausgabe von lsblk in einer späteren Version ändert.

Spalte Bedeutung
NAME Kurzer Gerätename, beispielsweise sda oder nvme0n1
PATH Vollständiger Gerätepfad, beispielsweise /dev/sda
SIZE Größe des Datenträgers oder der Partition
FSTYPE Dateisystem wie ext4, xfs, btrfs, vfat oder ntfs
LABEL Vom Benutzer vergebener Name des Dateisystems
UUID Eindeutige Kennung des Dateisystems, wichtig für /etc/fstab
MOUNTPOINTS Alle Verzeichnisse, unter denen das Dateisystem eingebunden ist
MODEL Modellbezeichnung des Laufwerks
SERIAL Seriennummer, falls sie vom Gerät bereitgestellt wird
TYPE Gerätetyp, zum Beispiel disk, part, lvm oder crypt
TRAN Transportweg wie sata, usb, sas oder nvme
ROTA 1 bedeutet normalerweise rotierende HDD, 0 normalerweise SSD/NVMe

Hinweis zu ROTA: Bei virtuellen Maschinen, USB-Adaptern und manchen RAID-Controllern kann diese Angabe unvollständig oder ungenau sein. Prüfe deshalb zusätzlich Modell und Transportart.

Nur physische Festplatten und SSDs anzeigen

Wenn Du nur die eigentlichen Laufwerke sehen möchtest und nicht jede Partition, verwende -d:

lsblk -d -e 7 -o NAME,PATH,MODEL,SERIAL,SIZE,TRAN,ROTA

Dieser Befehl eignet sich besonders gut, um mehrere ähnlich große Datenträger anhand von Modell und Seriennummer auseinanderzuhalten.

Dateisysteme und UUIDs anzeigen

Eine kompakte Übersicht über Dateisystem, Label, UUID und Einhängepunkt erhältst Du mit:

lsblk -f

Alternativ kannst Du die auf den Datenträgern gespeicherten Dateisysteminformationen direkt mit blkid auslesen:

sudo blkid

Für ein einzelnes Gerät sieht der Befehl beispielsweise so aus:

sudo blkid /dev/sda1

blkid zeigt unter anderem UUID, TYPE, LABEL und bei GPT-Partitionen häufig auch PARTUUID. Für den normalen Überblick ist lsblk -f meist einfacher. blkid ist hilfreich, wenn Du die Kennung einer bestimmten Partition exakt überprüfen möchtest.

Wo ist ein Datenträger eingehängt?

Mit findmnt siehst Du die aktuell eingebundenen Dateisysteme in einer übersichtlichen Baumdarstellung:

findmnt

Welches Gerät das Root-Dateisystem / enthält, zeigt:

findmnt /

Ein bestimmtes Gerät kannst Du ebenfalls suchen:

findmnt --source /dev/sda1

Wenn Du wissen möchtest, wie viel Speicherplatz auf den eingehängten Dateisystemen frei ist, verwende:

df -hT

-h zeigt Größen lesbar in GiB oder TiB an. -T ergänzt den Dateisystemtyp.

Stabile Gerätenamen unter /dev/disk finden

Namen wie /dev/sda können sich ändern, wenn Laufwerke hinzugefügt, entfernt oder in anderer Reihenfolge erkannt werden. Für Skripte und dauerhafte Konfigurationen sind stabile Bezeichner besser geeignet.

Die vom System angelegten Verweise findest Du hier:

ls -l /dev/disk/by-id/
ls -l /dev/disk/by-uuid/
ls -l /dev/disk/by-label/
  • by-id verwendet in der Regel Modell- und Serieninformationen des Geräts.
  • by-uuid verweist über die UUID auf ein Dateisystem.
  • by-label verwendet den vergebenen Namen des Dateisystems.

Den Systemdatenträger erkennen

Um herauszufinden, auf welchem Datenträger Linux installiert ist, gehst Du am sichersten in zwei Schritten vor:

  1. Root-Dateisystem ermitteln:
    findmnt /
  2. Den angezeigten Gerätepfad anschließend in der Baumansicht suchen:
    lsblk -o NAME,PATH,SIZE,FSTYPE,MOUNTPOINTS,MODEL

Bei LVM oder einer verschlüsselten Installation kann findmnt / beispielsweise /dev/mapper/debian--vg-root anzeigen. In der Baumansicht von lsblk erkennst Du, auf welcher Partition und auf welchem physischen Laufwerk dieses logische Gerät liegt.

Partitionsinformationen mit fdisk ansehen

Eine ausführliche Liste der erkannten Datenträger und Partitionstabellen erhältst Du mit:

sudo fdisk -l

Die Option -l steht für „auflisten“. Der Befehl verändert nichts. Starte fdisk aber nicht ohne diese Option, wenn Du nur Informationen ansehen möchtest: Im interaktiven Modus lassen sich Partitionstabellen verändern.

UUID in /etc/fstab verwenden

Für dauerhaft einzubindende Dateisysteme sollte in /etc/fstab möglichst eine UUID oder PARTUUID verwendet werden. Gerätenamen wie /dev/sdb1 hängen von der Erkennungsreihenfolge ab und können sich ändern.

Bevor Du die Datei bearbeitest, erstelle eine Sicherung:

sudo cp /etc/fstab /etc/fstab.backup

Ein typischer Eintrag kann so aussehen:

UUID=12345678-abcd-1234-abcd-1234567890ab  /daten  ext4  defaults,nofail  0  2

Nach einer Änderung solltest Du auf einem systemd-System die Konfiguration neu einlesen und die Datei überprüfen:

sudo systemctl daemon-reload
sudo findmnt --verify --verbose

Achtung: Ein fehlerhafter fstab-Eintrag kann den nächsten Systemstart verzögern oder verhindern. Starte den Rechner erst neu, wenn findmnt --verify --verbose keine relevanten Fehler meldet. Für austauschbare oder nicht immer angeschlossene Laufwerke ist die Option nofail häufig sinnvoll.

Häufige Fragen

Warum zeigt lsblk meine neue USB-Festplatte nicht sofort an?

Ziehe das Laufwerk ab, schließe es erneut an und prüfe die letzten Kernelmeldungen mit journalctl -k -n 50. Wenn das Gerät gerade erst angeschlossen oder verändert wurde, kann außerdem sudo udevadm settle helfen, bevor Du lsblk erneut ausführst.

Was ist der Unterschied zwischen UUID und PARTUUID?

Die UUID gehört zum Dateisystem innerhalb einer Partition. Die PARTUUID bezeichnet den Eintrag der Partition in der Partitionstabelle. Wird ein Dateisystem neu formatiert, ändert sich normalerweise seine UUID; die PARTUUID kann dabei erhalten bleiben.

Warum fehlt bei einem Gerät die Seriennummer?

Nicht jeder Controller oder USB-Adapter reicht die Seriennummer an Linux weiter. Das bedeutet nicht automatisch, dass der Datenträger defekt ist. Prüfe zusätzlich MODEL, TRAN und die Einträge unter /dev/disk/by-id/.

Wie erkenne ich eine SSD oder HDD?

In der Spalte ROTA bedeutet 1 normalerweise eine rotierende Festplatte und 0 eine SSD oder ein NVMe-Laufwerk. Bei virtuellen Laufwerken, RAID-Systemen und manchen USB-Gehäusen ist diese Angabe nicht immer zuverlässig.

Muss ich nach diesen Befehlen neu starten?

Nein. Die Befehle lsblk, blkid, findmnt, df und fdisk -l lesen nur Informationen aus. Nur wenn Du /etc/fstab geändert hast, solltest Du systemctl daemon-reload und anschließend findmnt --verify --verbose ausführen. Ein Neustart ist zum Prüfen normalerweise nicht nötig.

Kurzfassung

  • Alle Laufwerke: lsblk
  • Nur physische Laufwerke: lsblk -d -e 7 -o NAME,MODEL,SERIAL,SIZE,TRAN,ROTA
  • Dateisysteme und UUIDs: lsblk -f oder sudo blkid
  • Eingehängte Dateisysteme: findmnt
  • Systemdatenträger: findmnt /
  • Belegung und freier Platz: df -hT
  • Partitionstabellen anzeigen: sudo fdisk -l

Weiterführende Dokumentation