Ext4 erstellen eines Dateisystem

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Allgemein

mkfs.ext4 legt ein ext4-Dateisystem auf einer Partition oder einem Gerät an. Der Aufruf ohne Optionen genügt für den Normalfall – Blockgröße, Anzahl der Inodes und die übrigen Kennwerte werden aus der Gerätegröße abgeleitet.

Achtung: mkfs.ext4 fragt nicht nach und überschreibt ein vorhandenes Dateisystem sofort. Das Ziel muss die gewünschte Partition sein (z. B. /dev/sdg1), nicht die ganze Platte, außer man will das Dateisystem wirklich ohne Partitionstabelle direkt aufs Gerät legen.

Ein ext4-Dateisystem anlegen

  • mkfs.ext4 /dev/sdg1
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 2621440 4k blocks and 655360 inodes
Filesystem UUID: 1b40fc1f-21dd-497e-9266-454f206f67b2
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

Aus der Ausgabe lässt sich schon einiges ablesen: die Blockgröße (4k), die Zahl der Blöcke und Inodes, die UUID und die Blöcke, auf denen die Superblock-Kopien liegen – genau die aus dem Artikel zum Dateisystem-Aufbau.

Wichtige Optionen

Option Erklärung
-b BLOCKSIZE Blockgröße in Byte: 1024, 2048 oder 4096
-L LABEL Volume-Label setzen
-U UUID UUID setzen (random für einen Zufallswert)
-N ANZAHL feste Anzahl der Inodes
-i BYTES ein Inode je so viele Byte – je größer der Wert, desto weniger Inodes
-m PROZENT für root reservierter Anteil (Vorgabe 5 %)
-T TYP Verwendungszweck: small, floppy, news u. a. – steuert die Inode-Dichte
-E OPTION erweiterte Optionen, z. B. -E lazy_itable_init=0
-O FEATURE Feature ein- oder ausschalten, z. B. -O encrypt oder -O ^has_journal
-n nichts anlegen, nur anzeigen, was geschähe (u. a. die Lage der Superblock-Kopien)

-N und -i steuern beide die Zahl der Inodes, aber auf verschiedene Weise: -N gibt die Zahl direkt vor, -i gibt an, für wie viele Byte Nutzdaten ein Inode angelegt wird. Beides zusammen anzugeben ergibt keinen Sinn.

Beispiele

Mit festgelegter Blockgröße

Erlaubt sind 1024, 2048 oder 4096 Byte pro Block.

  • mkfs.ext4 -b 2048 /dev/sdg1

Mit fester Anzahl der Inodes

  • mkfs.ext4 -N 3072 /dev/sdg1

Mit Byte pro Inode

Je größer die Zahl, desto weniger Inodes werden angelegt.

  • mkfs.ext4 -i 1024 /dev/sdg1

Mit Volume-Label

  • mkfs.ext4 -L daten-platte /dev/sdg1

Mit vorgegebener UUID

  • mkfs.ext4 -U 3c52166d-7803-42f4-952a-88bf43e11268 /dev/sdg1

Mit geändertem Reservat für root

Standard sind 5 %. Auf reinen Datenplatten ohne Systemdateien kann man den Wert senken.

  • mkfs.ext4 -m 1 /dev/sdg1

Nur anzeigen, nichts schreiben

Zeigt die geplanten Kennwerte und die Lage der Superblock-Kopien, ohne die Platte zu verändern.

  • mkfs.ext4 -n /dev/sdg1

Kontrolle nach dem Anlegen

Die Kennwerte des fertigen Dateisystems zeigt dumpe2fs im Kopfbereich.

  • dumpe2fs -h /dev/sdg1