Dateisysteme mit mkfs unter Linux erzeugen
Lerne, wie du mit mkfs ein Dateisystem auf einer Linux-Partition erzeugst, das richtige Gerät identifizierst und es anschließend sicher mountest.
Eine Partition kann erst sinnvoll für Dateien und Verzeichnisse verwendet werden, wenn auf ihr ein Dateisystem angelegt wurde. Das Dateisystem legt Regeln und Strukturen für Dateien, Verzeichnisse, Metadaten und freien Speicher fest. Unter Linux erledigst du diese Aufgabe häufig mit mkfs.
Datenträger, Partition und Dateisystem unterscheiden
Ein Datenträger ist ein physisches oder virtuelles Speichermedium, zum Beispiel eine SSD, eine Festplatte oder ein virtueller Datenträger. Ein Datenträger kann in mehrere Partitionen aufgeteilt werden. Eine Partition ist ein abgegrenzter Bereich, der ein eigenes Dateisystem enthalten kann.
Das Dateisystem liegt auf einer Partition. Es ist nicht dasselbe wie die Partition selbst: Die Partition beschreibt vor allem den Speicherbereich, während das Dateisystem diesen Bereich für die Ablage von Dateien organisiert. Linux greift über eine Gerätedatei unter /dev auf Datenträger und Partitionen zu.
| Gerätename | Bedeutung | Beispiel |
|---|---|---|
/dev/sda | Ganzer erster SCSI- oder SATA-Datenträger | Nicht mit einer einzelnen Partition verwechseln |
/dev/sda3 | Dritte Partition auf /dev/sda | Ziel für ein Dateisystem kann diese Partition sein |
/dev/nvme0n1 | Ganzer erster NVMe-Datenträger | Der Gerätename endet nicht mit einer Partitionsnummer |
/dev/nvme0n1p3 | Dritte Partition des NVMe-Datenträgers | Das p trennt Datenträgername und Partitionsnummer |
/dev/vdb1 | Erste Partition eines virtuellen Datenträgers | Häufig in virtuellen Maschinen |
Formatiere normalerweise die vorgesehene Partition, etwa /dev/sdb1, und nicht versehentlich den gesamten Datenträger /dev/sdb. Wird ein Dateisystem auf dem ganzen Datenträger erzeugt, können dort vorhandene Partitionstabellen und alle Partitionen unbrauchbar werden.
Das Zielgerät sicher identifizieren
Prüfe vor jedem Formatieren Modell, Größe, Partition, Dateisystem, Label und Mountpoint. Die folgenden Befehle verändern den Datenträger nicht:
lsblk -f
sudo blkid
sudo fdisk -l
lsblk -f zeigt Blockgeräte, Partitionen, erkannte Dateisysteme, UUIDs, Labels und Einhängepunkte. blkid liest Dateisystemsignaturen und Kennungen aus. Mit fdisk -l kannst du zusätzlich Partitionstabellen und Größen prüfen.
Vergleiche die Ausgabe mit deiner Planung. Wenn die Größe nicht passt oder du /dev/sda und /dev/sda3 nicht sicher auseinanderhalten kannst, führe mkfs nicht aus.
Prüfen, ob die Partition verwendet wird
Ein aktives oder eingehängtes Dateisystem darf nicht formatiert werden. Prüfe den Mountpoint:
findmnt /dev/sdb1
Ist die Partition tatsächlich eingehängt und handelt es sich um das richtige, nicht benötigte Ziel, hänge sie aus:
sudo umount /dev/sdb1
Bei Systempartitionen, LVM, RAID, Verschlüsselung oder Geräten, die von laufenden Diensten verwendet werden, reicht ein einfaches Aushängen möglicherweise nicht aus. Ermittle zuerst die zugrunde liegende Konfiguration. SSDs, virtuelle Datenträger und Wechselmedien erfordern dieselbe Sorgfalt bei der Identifikation.
Was ist mkfs?
mkfs steht für „make filesystem“ und ist ein allgemeines Frontend zum Erzeugen eines Dateisystems. Mit der Option -t gibst du den Dateisystemtyp an:
sudo mkfs -t DATEISYSTEM GERÄT
Abhängig vom Typ ruft mkfs ein spezifisches Programm auf, beispielsweise mkfs.ext3, mkfs.ext4, mkfs.xfs oder ein Werkzeug für Btrfs. Welche Typen verfügbar sind, hängt von der Distribution und den installierten Dateisystem-Hilfsprogrammen ab.
| Dateisystem | Typischer Einsatz | Besonderheit | Erzeugungswerkzeug |
|---|---|---|---|
| ext3 | Ältere Linux-Systeme und Kompatibilität | Journaling-Dateisystem der ext-Familie; heute meist nicht die erste Wahl | mkfs.ext3 |
| ext4 | Allgemeine Linux-Dateisysteme | Verbreitete, bewährte Standardwahl | mkfs.ext4 |
| XFS | Bestimmte Server- und große Datenbereiche | Eigenständige Eigenschaften und eigene Verwaltungswerkzeuge | mkfs.xfs |
| Btrfs | Umgebungen mit erweiterten Verwaltungsanforderungen | Unterstützt unter anderem Snapshots; Administration ist anspruchsvoller | mkfs.btrfs |
Ext4 ist für viele allgemeine Linux-Datenpartitionen eine passende Standardwahl. Ext3 ist vor allem interessant, wenn eine ältere Infrastruktur oder eine bestimmte Kompatibilität es verlangt. XFS und Btrfs können je nach Einsatzzweck sinnvoll sein, sollten aber nach den Anforderungen an Verwaltung, Sicherung, Snapshots und vorhandene Infrastruktur ausgewählt werden.
Weitere Grundlagen findest du bei Dateisystem Ext4, Dateisystem Ext3 und Dateisystem XFS.
Ein Dateisystem auf einer vorhandenen Partition erzeugen
Das folgende Beispiel verwendet eine bereits vorhandene, nicht eingehängte Partition. Ersetze den Gerätenamen nur dann, wenn du das Ziel eindeutig überprüft hast.
Ext3 erzeugen
sudo mkfs -t ext3 /dev/sda3
Dieser Befehl erzeugt ein ext3-Dateisystem auf der dritten Partition des ersten SCSI- oder SATA-Datenträgers. Er formatiert nicht automatisch den gesamten Datenträger, sondern nur /dev/sda3 – sofern dieser Name tatsächlich auf die geplante Partition zeigt.
Ext4 als moderne Standardwahl
sudo mkfs -t ext4 /dev/sdb1
Das direkte spezifische Werkzeug ist gleichwertig und macht den gewünschten Typ oft noch deutlicher:
sudo mkfs.ext4 /dev/sdb1
Für administrative Befehle brauchst du ausreichende Rechte, normalerweise über sudo oder als root.
Wichtige Optionen und typische Ausgabe
| Option | Bedeutung | Hinweis |
|---|---|---|
-t TYPE | Wählt den Dateisystemtyp | Zum Beispiel -t ext4 |
-c | Prüft vor der Erstellung auf fehlerhafte Blöcke | Kann bei großen Partitionen sehr lange dauern |
| Dateisystemspezifische Optionen | Zusätzliche Einstellungen des jeweiligen Werkzeugs | Mit der passenden Manpage prüfen, zum Beispiel man mkfs.ext4 |
Mit -c führst du beispielsweise eine Prüfung auf Bad Blocks aus. Ein Bad Block ist ein nicht zuverlässig nutzbarer Speicherblock:
sudo mkfs -t ext4 -c /dev/sdb1
Diese Prüfung kann bei großen oder langsamen Datenträgern erheblich länger dauern als das reine Erzeugen des Dateisystems. Bei einem neuen und unauffälligen Datenträger ist abzuwägen, ob die zusätzliche Zeit erforderlich ist. Bei Verdacht auf einen Hardwarefehler solltest du zusätzlich die Datenträgerdiagnose und SMART-Werte prüfen.
Die Ausgabe beim Erzeugen kann unter anderem die Anzahl der Blöcke, Inodes, Blockgruppen und Sicherungen des Superblocks nennen. Ein Block ist eine Verwaltungseinheit für Dateisystemdaten. Ein Inode speichert Metadaten wie Eigentümer, Zugriffsrechte und Verweise auf Datenblöcke. Eine Blockgruppe fasst in ext-Dateisystemen Blöcke, Inodes und Verwaltungsdaten zusammen. Der Superblock enthält zentrale Angaben zu Größe, Typ und Struktur des Dateisystems; Sicherungskopien helfen bei bestimmten Wiederherstellungssituationen.
Labels verwenden
Ein Label ist eine lesbare Kennzeichnung des Dateisystems. Je nach Dateisystem kann es direkt beim Erzeugen mit einer spezifischen Option gesetzt werden. Prüfe die genaue Syntax mit der Manpage des Werkzeugs. UUIDs sind für dauerhafte Konfigurationen meist robuster, weil sie unabhängig vom wechselnden Gerätenamen sind.
Dateisystem nach der Erstellung prüfen
Kontrolliere nach dem Befehl, ob Typ, UUID und Label wie erwartet erkannt werden:
lsblk -f /dev/sdb1
sudo blkid /dev/sdb1
Ein erzeugtes Dateisystem ist noch nicht automatisch im Linux-Verzeichnisbaum verfügbar. Dafür brauchst du einen Mountpoint und den Mount-Vorgang:
sudo mkdir -p /mnt/daten
sudo mount /dev/sdb1 /mnt/daten
findmnt /mnt/daten
Der Mountpoint ist ein vorhandenes Verzeichnis, an dem Linux das Dateisystem einhängt. Erst nach dem Mounten kannst du dort auf die Dateien und Verzeichnisse des neuen Dateisystems zugreifen.
Dauerhaft über UUID einbinden
Für eine dauerhafte Einbindung kannst du die UUID in /etc/fstab verwenden. Ermittle zuerst die echte UUID mit lsblk -f oder blkid. Eine Beispielzeile lautet:
UUID=<uuid> /mnt/daten ext4 defaults 0 2
Ersetze <uuid> und den Mountpoint durch die Werte deiner Umgebung. Prüfe eine neue fstab-Konfiguration möglichst mit einem Mount-Test, bevor du das System neu startest. Eine Einführung findest du unter Die Datei /etc/fstab und Dateisysteme mounten.
Fehlerbehebung
Das falsche Gerät könnte formatiert werden
Stoppe sofort. Prüfe mit lsblk -f, blkid und bei Bedarf fdisk -l Modell, Größe, Partition, Label und Mountpoint. Führe mkfs erst aus, wenn die Identität eindeutig feststeht.
Das Gerät ist eingehängt oder wird verwendet
Wenn findmnt einen Mountpoint anzeigt oder mkfs vor einem aktiven Dateisystem warnt, darfst du nicht fortfahren. Ermittle den richtigen Mountpoint und hänge die Partition mit umount aus. Bei System-, RAID-, LVM- oder verschlüsselten Geräten muss die gesamte Abhängigkeit geprüft werden.
Der gewünschte Dateisystemtyp fehlt
Eine Meldung wie „mkfs.<typ> nicht gefunden“ weist meist auf ein fehlendes Hilfsprogramm hin. Installiere das für deine Linux-Distribution vorgesehene Paket für den gewünschten Dateisystemtyp und prüfe anschließend beispielsweise mkfs.ext4 oder mkfs.xfs erneut.
Die Prüfung mit -c dauert lange
Das ist bei großen Partitionen erwartbar, weil viele Speicherbereiche geprüft werden. Warte, sofern die Prüfung eingeplant ist, oder entscheide vor dem Start bewusst, ob sie notwendig ist. Bei wiederkehrenden Fehlern sollte die Hardwarediagnose folgen.
Mount schlägt fehl
Prüfe mit lsblk -f oder blkid, ob das Dateisystem erkannt wird. Lege den Mountpoint an, stelle den Dateisystemtyp fest und vergewissere dich, dass du die richtige Partition statt des ganzen Datenträgers verwendest.
Sicherheits-Checkliste
- Wichtige Daten vor dem Formatieren sichern.
- Zielgerät anhand von Größe, Modell, Partition und Mountpoint identifizieren.
- Niemals aus Unsicherheit heraus den Befehl ausführen.
- Keine eingehängten, aktiven oder vom System verwendeten Geräte formatieren.
- LVM-, RAID-, Verschlüsselungs- und Systemabhängigkeiten vorher prüfen.
- Nach dem Erzeugen Typ, UUID und Label kontrollieren.
- Das Dateisystem anschließend mounten, wenn es im Verzeichnisbaum verfügbar sein soll.
Wenn du zunächst Partitionen anlegen oder deren Aufbau prüfen möchtest, ist das fdisk-Programm ein passender nächster Schritt. Für spätere Prüfungen und Reparaturen siehe Dateisystemcheck durchführen.