MKFS.FAT(8)

BEZEICHNUNG
mkfs.fat - ein MS-DOS-Dateisystem anlegen

ÜBERSICHT
mkfs.fat [OPTIONEN] GERÄT [BLOCKANZAHL]

BESCHREIBUNG
mkfs.fat wird zum Erstellen eines FAT-Dateisystems auf einem Gerät oder in einer Abbilddatei verwendet. Das angegebene GERÄT ist die dem Gerät zugehörige Spezialdatei (zum Beispiel /dev/sdXX) oder die Abbilddatei (die nicht existieren muss, wenn die Option -C angegeben ist). Die BLOCKANZAHL ist die Anzahl der Blöcke auf dem Gerät. Die Größe eines Blocks ist stets 1024 Byte, unabhängig von der Sektor- oder Clustergröße. Daher bezeichnet die BLOCKANZAHL die Größe des Dateisystems in kiB und nicht die Anzahl der Sektoren, wie dies bei allen anderen mkfs.fat-Optionen der Fall ist. Falls weggelassen, wählt mkfs.fat die Größe des Dateisystems automatisch, um den verfügbaren Platz zu füllen.

Zwei verschiedene Varianten des FAT-Dateisystems werden unterstützt. Per Vorgabe werden die die von Microsoft definierten Dateisysteme FAT12, FAT16 und FAT32 unterstützt, die häufig auf Festplatten und Wechseldatenträgern wie USB-Sticks und SD-Karten verwendet werden. Die zweite unterstützte Variante ist die auf dem Atari ST verwendete klassische Atari-Variante.

In der Atari-Variante, sofern vom Benutzer nicht anders angewiesen, verwendet mkfs.fat immer zwei Sektoren pro Cluster, da GEMDOS andere Werte nicht besonders mag. Es folgt auch der maximalen Sektorgröße, mit der GEMDOS umgehen kann. Größere Dateisysteme werden durch Erhöhen der logischen Sektorgröße verwaltet. Eine Atari-kompatible Seriennummer wird für das Dateisystem erzeugt, und für Dateisysteme einer der üblichen Diskettengrößen (720kB, 1.2MB, 1.44MB, 2.88MB) wird ein 12-Bit-FAT verwendet, anderenfalls ein 16-Bit-FAT. Dies kann mit der Option -F außer Kraft gesetzt werden. Einige PC-spezifische Bootsektor-Felder werden nicht geschrieben und eine Bootmeldung (Option -m) wird ignoriert.

OPTIONEN

-a  deaktiviert die Ausrichtung der Datenstrukturen an der Clustergröße. Normalerweise richtet mkfs.fat für jedes Dateisystem die Datenstrukturen auf diese Weise aus, außer bei sehr kleinen Dateisystemen. Durch die Deaktivierung werden einige wenige Speichercluster zusätzlich bereitgestellt, was aber in RAID-Verbünden, auf Flash-Speichermedien oder Festplatten mit großen Sektoren deutlich auf Kosten der Performance geht.

-A  Wählen Sie die Atari-Variante des FAT-Dateisystems, falls diese nicht bereits aktiv ist, anderenfalls wählen Sie das Standard-FAT-Dateisystem. Die Atari-Variante wird standardmäßig ausgewählt, wenn Sie mkfs.fat auf einem 68k Atari Linux ausführen.

-b SICHERUNGSSEKTOR
    gibt den Ort des Boot-Sicherungssektors für FAT32 an. Die Vorgabe ist von der Anzahl der reservierten Sektoren abhängig, aber üblicherweise ist es der Sektor 6. Falls hinter dem Wiederherstellungs-Bootsektor freier Platz verfügbar ist, dann wird eine Sicherung des FAT32-Info-Sektors nach dem Wiederherstellungs-Bootsektor angelegt, üblicherweise im Sektor 7. Die Sicherung muss innerhalb des Bereichs der reservierten Sektoren liegen. Der Wert 0 deaktiviert das Anlegen der FAT32-Wiederherstellungs- und Info-Sektoren vollständig.

-c  prüft das Gerät auf fehlerhafte Blöcke, bevor das Dateisystem angelegt wird.

-C  erstellt die als GERÄT in der Befehlszeile angegebene Datei und schreibt das zu erstellende Dateisystem hinein. Dies kann dazu verwendet werden, das neue Dateisystem in einer Datei statt auf einem realen Gerät zu erzeugen und zu vermeiden, vorab dd zu verwenden, um eine Datei der entsprechenden Größe zu erzeugen. Mit dieser Option muss die BLOCKANZAHL angegeben werden, da anderenfalls die beabsichtigte Größe des Dateisystems nicht bekannt wäre. Die erzeugte Datei ist eine Sparse-Datei (Datei mit Löchern), die tatsächlich nur die Metadatenbereiche enthält (Bootsektor, FATs und Wurzelverzeichnis). Die Datenportionen werden nicht auf der Platte gespeichert, aber die Datei wird dennoch die korrekte Größe haben. Die entstandene Datei kann später auf eine Diskette oder ein anderes Gerät geschrieben oder über ein Loop-Gerät eingehängt werden.

-D LAUFWERKSNUMMER
    gibt die im FAT-Bootsektor zu speichernde BIOS-Laufwerksnummer an. Diese Nummer ist üblicherweise 0x80 bis 0xFF für Festplatten und Wechseldatenträger (0x80 ist die erste Festplatte C:, 0x81 ist die zweite Festplatte D:, …) und 0x00 bis 0x7F für Diskettenlaufwerke oder Partitionen, die als Disketten-Emulation verwendet werden sollen (0x00 ist das erste Diskettenlaufwerk A:, 0x01 ist das zweite Diskettenlaufwerk B:).

-f ANZAHL-DER-FATS
    gibt die Anzahl der Dateizuweisungstabellen (»File allocation tables«) im Dateisystem an. Die Vorgabe ist 2.

-F FAT-GRÖSSE
    gibt den Typ der verwendeten Dateizuweisungstabellen (FATs) an (12, 16 oder 32 Bit). Falls nichts angegeben wird, wählt mkfs.fat automatisch zwischen 12, 16 und 32 Bit, je nachdem, was sich am besten für die Größe des Dateisystems eignet.

-g KÖPFE/SEKTOREN-PRO-SPUR
    gibt die Anzahl der KÖPFE und SEKTOREN-PRO-SPUR an, welche die Plattengeometrie des GERÄTS repräsentieren. Beide Anzahlen werden im FAT-Bootsektor gespeichert. Die Anzahl der SEKTOREN-PRO-SPUR wird auch für die Ausrichtung der Gesamtzahl der FAT-Sektoren verwendet. Standardmäßig wird die Plattengeometrie aus dem GERÄT selbst gelesen. Falls diese nicht verfügbar ist, dann wird die LBA-Assist Translation und die Zuordnungstabelle aus der SD Card Part 2 File System Specification basierend auf der Gesamtzahl der Plattensektoren verwendet.

-h ANZAHL-DER-VERSTECKTEN-SEKTOREN
    gibt die Anzahl der sogenannten versteckten Sektoren an, so wie sie im FAT-Bootsektor gespeichert ist: Diese Zahl bezeichnet den Anfangssektor der Partition, die das Dateisystem enthält. Normalerweise ist dies eine Positionsangabe (Versatz in Sektoren) relativ zum Anfang der Festplatte. Allerdings ist es für logische MBR-Datenträger, die sich in einer erweiterten Partition des Typs 0x05 befinden (einer erweiterten Nicht-LBA-Partition), aufgrund eines Fehlers in der MS-DOS-Implementierung von FAT erforderlich, dies relativ zum unmittelbaren »Extended Boot Record« der Partition anzulegen. Bootcode und sonstige Software, die mit FAT-Datenträgern umgeht, könnten sich auch darauf verlassen, dass dieses Feld korrekt eingerichtet ist; die meisten modernen FAT-Implementierungen werden es jedoch ignorieren. Standardmäßig verwendet mkfs.fat den Partitionsversatz relativ zum Plattenanfang, sofern das angegebene GERÄT ein Partitions-Blockgerät ist. Anderenfalls nimmt mkfs.fat 0 an. Mit dieser Option können Sie dieses Verhalten außer Kraft setzen.

-i DATENTRÄGERKENNUNG
    legt die Datenträgerkennung (ID) des neu erstellten Dateisystems fest; die DATENTRÄGERKENNUNG ist eine 32-Bit-Hexadezimalzahl (zum Beispiel 2e24ec82). Die Vorgabe ist eine Zahl, die aus der Erstellungszeit des Dateisystems abgeleitet wird.

-I  ignoriert und deaktiviert Sicherheitsüberprüfungen. Standardmäßig weigert sich mkfs.fat, ein Dateisystem auf einem partitionierten Gerät oder virtuellen Zuweisung anzulegen. mkfs.fat reklamiert eine solchen Versuch und verweigert die Arbeit. Das ist bei MO-Medien anders. Sie werden dort nicht immer Partitionen benötigen. Das Dateisystem kann sich direkt über das gesamte Medium erstrecken. Unter anderen Betriebssystemen ist dies als das Superfloppy-Format bekannt. Dieser Schalter weist mkfs.fat an, korrekt zu arbeiten.

-l DATEI
    liest die Liste der fehlerhaften Blöcke aus der angegebenen DATEI.

-m MELDUNGSDATEI
    legt die Meldung fest, die der Benutzer bei Versuchen erhält, das Dateisystem zu booten, ohne dass ein Betriebssystem korrekt installiert ist. Die Größe der Meldungsdatei darf 418 Byte nicht überschreiten, wobei zu beachten ist, dass Zeilenvorschübe in Wagenrücklauf/Zeilenvorschub-Kombinationen umgewandelt und Tabulatoren expandiert werden. Falls der Dateiname ein Minuszeichen (-) ist, wird der Text aus der Standardeingabe gelesen.

-M FAT-MEDIENTYP
    gibt den Medientyp an, der im FAT-Bootsektor gespeichert werden soll. Dieser Wert ist üblicherweise 0xF8 für Festplatten und 0xF0 oder ein Wert von 0xF9 bis 0xFF für Disketten oder Partitionen, die als Disketten-Emulation verwendet werden sollen.

--mbr[=y|yes|n|no|a|auto]
    füllt (zum Schein) eine MBR-Tabelle mit einer Festplattensignatur einer Partition, die im Sektor 0 beginnt (welcher den MBR selbst einschließt) und sich über das gesamte Gerät erstreckt. Dies ist nur für nicht entfernbare Festplatten notwendig, die auf Microsoft-Windows-Systemen verwendet werden, und nur dann, wenn die gesamte unpartitionierte Festplatte formatiert wird. Der Ort der Festplattensignatur und Partitionstabelle überschneidet sich mit dem Ende des ersten Sektors (Ort des Boot-Codes), daher wird kein zusätzlicher Platz belegt. Standard ist der Modus auto, in dem mkfs.fat die MBR-Tabelle nur dort ablegt, wenn eine ganze unformatierte Festplatte formatiert werden soll.

-n DATENTRÄGERNAME
    legt den Datenträgernamen (die Bezeichnung) des Dateisystems fest. Der Datenträgername darf bis zu 11 Zeichen lang sein. Die Angabe einer leeren Zeichenkette, einer, die nur aus Leerzeichen besteht oder der Zeichenkette »NO NAME« als DATENTRÄGERNAME hat den gleichen Effekt, als wenn die Option -n nicht angegeben worden wäre. Die Vorgabe ist keine Bezeichnung.

--codepage=TABELLE
    verwendet die angegebene DOS-Zeichensatz-TABELLE zum Dekodieren der Bezeichnung. Standardmäßig wird die Zeichensatztabelle 850 verwendet.

-r EINTRÄGE-IM-WURZELVERZEICHNIS
    wählt die minimale Anzahl der im Wurzelverzeichnis verfügbaren Einträge. Die Vorgabe ist 112 oder 224 für Disketten und 512 für Festplatten. Beachten Sie, dass dies die minimale Anzahl ist und diese durch mkfs.fat wegen der Ausrichtung von Strukturen erhöht werden kann. Siehe auch die Option -a von mkfs.fat.

-R ANZAHL-DER-RESERVIERTEN-SEKTOREN
    wählt die minimale Anzahl der reservierten Sektoren. Im FAT32-Format werden mindestens zwei reservierte Sektoren benötigt, die Vorgabe ist 32. Andernfalls ist die Vorgabe 1 (nur der Bootsektor). Beachten Sie, dass dies die minimale Anzahl ist und diese durch mkfs.fat wegen der Ausrichtung von Strukturen erhöht werden kann. Siehe auch die Option -a von mkfs.fat.

-s SEKTOREN-PRO-CLUSTER
    wählt die Anzahl der Plattensektoren pro Cluster. Diese Anzahl muss eine Zweierpotenz sein, also 1, 2, 4, 8, … 128.

-S LOGISCHE-SEKTORGRÖSSE
    wählt die Anzahl der Bytes pro logischem Sektor. Diese Anzahl muss eine Zweierpotenz und größer oder gleich 512 sein, also 512, 1024, 2048, 4096, 8192, 16384 oder 32768. Größere Werte als 4096 sind nicht zur FAT-Dateisystemspezifikation konform und könnten nicht überall funktionieren.

-v  gibt ausführliche Meldungen aus.

--offset SEKTOR
    schreibt das Dateisystem in einem spezifischen Sektor innerhalb der Gerätedatei. Dies ist hilfreich, wenn Sie in einem partitionierten Plattenabbild ein Dateisystem anlegen wollen, ohne ein Loop-Gerät einrichten zu müssen.

--variant TYP
    erstellt ein Dateisystem des angegebenen TYPS. Zulässige Werte sind standard und atari (in beliebiger Kombination aus Groß- und Kleinschreibung). Die Unterschiede sind in der vorstehenden BESCHREIBUNG erklärt.

--help
    zeigt eine Zusammenfassung der Befehlszeilenoptionen an und beendet das Programm.

--invariant
    verwendet konstante statt zufällig erzeugte Werte oder zeitbasierte Daten für Datenträgerkennung und Erstellungszeit. Mit dieser Option liefern mehrfache Durchläufe von mkfs.fat auf dem gleichen Gerät identische Ergebnisse. Der Hauptzweck dieser Option besteht im Testen von mkfs.fat.

FEHLER
mkfs.fat kann keine bootfähigen Dateisysteme anlegen. Das ist aus verschiedenen Gründen nicht so einfach, wie Sie auf den ersten Blick vielleicht denken und wurde bereits ausgiebig diskutiert. mkfs.fat wird dies schlichtweg nicht unterstützen ;)

SIEHE AUCH
fatlabel(8), fsck.fat(8)

HOMEPAGE
Die Heimat des Projekts dosfstools ist seine GitHub-Projektseite (https://github.com/dosfstools/dosfstools).

AUTOREN
dosfstools wurde von Werner Almesberger (werner.almesberger@lrc.di.epfl.ch), , Roman Hodek und anderen geschrieben. Die aktuellen Betreuer sind Andreas Bombe (aeb@debian.org) und Pali Rohár (pali.rohar@gmail.com).

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).