MKFS.FAT(8) System Manager's Manual MKFS.FAT(8)

mkfs.fat - tworzy system plików FAT MS-DOS

mkfs.fat [OPCJE] URZĄDZENIE [LICZBA-BLOKÓW]

mkfs.fat służy do utworzenia systemu plików FAT na urządzeniu lub w pliku obrazu. URZĄDZENIE jest specjalnym plikiem odnoszącym się do urządzenia (np. /dev/sdXX) lub pliku obrazu (który nie musi istnieć, jeśli zastosuje się opcję -C). LICZBA-BLOKÓW to liczba bloków na urządzeniu, przy czym rozmiar bloku wynosi zawsze 1024 bajtów, niezależnie od rozmiaru sektora czy klastra. Z tego względu LICZBA-BLOKÓW określa wielkość systemu plików w KiB, a nie liczbę sektorów (podobnie jak wszystkie inne opcje mkfs.fat). Jeśli nie poda się jej, mkfs.fat automatycznie wypełni dostępne miejsce systemem plików.

Obsługiwane są dwa warianty systemu plików FAT. Standardowym są systemy plików FAT12, FAT16 i FAT32 zdefiniowane przez Microsoft i szeroko stosowane na dyskach twardych i na przenośnych nośnikach USB lub kartach pamięci SD. Innym wariantem jest przestarzały wariant Atari używany na Atari ST.

W trybie Atari, jeśli użytkownik nie zażądał inaczej, mkfs.fat użyje 2 sektorów na klaster, ponieważ GEMDOS nie lubi innych wartości. Będzie także przestrzegał maksymalnej liczby sektorów, którą może obsłużyć GEMDOS. Większe systemy plików są tworzone przez zwiększanie logicznego rozmiaru sektora. Generowany jest zgodny z Atari numer seryjny systemu plików, a 12-bitowy FAT jest używany tylko do systemu plików, które mają jeden ze zwyczajowych rozmiarów dyskietek (720k, 1.2M, 1.44M, 2.88M); w przeciwnym wypadku używany jest FAT 16-bitowy. Można to nadpisać opcją -F. Niektóre pola charakterystyczne dla sektora rozruchowego PC nie są zapisywane, a komunikat startowy (opcja -m) jest ignorowany.

Zwyczajowo mkfs.fat dla wszystkich systemów plików z wyjątkiem tych małych wyrówna wszystkie struktury danych do rozmiaru klastra, aby mieć pewność, że jeśli partycja jest poprawnie wyrównana, to tak samo wyrównane będą wszystkie struktury danych systemu plików. Ta opcja wyłącza wyrównywanie i może dostarczyć dodatkowych klastrów do przechowywania danych, jednakże będzie to okupione znaczącym spadkiem wydajności w przypadku dysków RAID, dysków przenośnych lub dysków twardych o dużych sektorach.
Wybiera wariant Atari systemu plików FAT, jeśli nie jest on już aktywny - w takim wypadku wybiera standardowy wariant FAT. Opcja ta jest wybierana domyślnie, jeśli mkfs.fat uruchomiono na 68k Atari Linux.
Wybiera lokalizację kopii sektora rozruchowego FAT32. Wartość domyślna zależy od liczby zarezerwowanych sektorów, ale zwyczajowo jest to sektor 6. Jeśli dostępne jest wolne miejsce za zapasowym sektorem rozruchowym, zapasowe informacje FAT32 są umieszczane właśnie za nim, zwykle w sektorze 7. Sektor kopii musi zawierać się w zakresie zarezerwowanych sektorów. Wartość równa 0 wyłącza tworzenie kopii zapasowej sektorów: rozruchowego i informacji FAT32.
Sprawdza obecność błędnych bloków na urządzeniu przed tworzeniem systemu plików.
Tworzy plik podany w linii poleceń jako URZĄDZENIE i zapisuje w nim system plików do utworzenia. Można tego użyć do utworzenia nowego systemu plików w pliku zamiast w rzeczywistym urządzeniu i do uniknięcia używania polecenia dd do utworzenia pliku o wymaganym rozmiarze. Opcja ta wymaga podania parametru LICZBA-BLOKÓW, ponieważ w przeciwnym wypadku nie byłby znany rozmiar tworzonego systemu plików. Plik jest tworzony jako plik z dziurami (sparse file) zawierający tylko metadane (sektor rozruchowy, tablice FAT i katalog główny). Porcje danych nie są zapisywane na dysk, ale mimo to plik będzie miał poprawny rozmiar. Plik wynikowy może być potem skopiowany na dyskietkę lub inne urządzenie albo zamontowany poprzez urządzenie pętli zwrotnej.
Określa numer urządzenia BIOS do zapisania w sektorze rozruchowym FAT. Dla dysków twardych i nośników wymiennych zwykle jest to 0x80–0xFF (0x80 jest pierwszym dyskiem twardym C:, 0x81 jest drugim dyskiem twardym D:, ...), natomiast dla dyskietek lub partycji używanych do emulacji dyskietek jest to 0x00–0x7F (0x00 jest pierwszą stacją dyskietek A:, 0x01 jest drugą stacją dyskietek B:).
Określa liczbę tablic alokacji plików (FAT) w systemie plików. Domyślną wartością jest 2.
Określa typ używanej tablicy alokacji plików (12-, 16- lub 32-bitowa). Jeśli nie podano tej opcji, to mkfs.fat automatycznie wybiera najlepszy rozmiar FAT dla danego systemu plików.
Określa liczbę GŁOWIC i SEKTORÓW-NA-ŚCIEŻKĘ, które opisują geometrię URZĄDZENIA. Obie wartości są przechowywane w sektorze rozruchowym FAT. Liczba SEKTORÓW-NA-ŚCIEŻKĘ służy do wyrównania całkowitej liczby sektorów FAT. Domyślnie, geometria dysków jest odczytywana z samego URZĄDZENIA. Jeśli nie jest to dostępne, używana jest translacja z wykorzystaniem logicznych bloków adresowych (LBA-Assist Translation) i tablicy translacji z II części specyfikacji systemu plików kart SD (SD Card Part 2 File System Specification) w zależności od całkowitej liczby sektorów.
Określa liczbę tzw. ukrytych sektorów, przechowywaną w sektorze rozruchowym FAT: liczba ta reprezentuje początek sektora partycji zawierającej system plików. Zwykle jest to przesunięcie (w sektorach) w stosunku do początku dysku, choć wobec woluminów logicznych MBR, będących częścią partycji rozszerzonej typu 0x05 (partycja rozszerzona nie LBA), nieco dziwaczna implementacja FAT w MS-DOS wymaga, aby liczba ta była podana w odniesieniu do najbliższego partycji rozszerzonego sektora rozruchowego (ang. Extended Boot Record). Kod rozruchowy i inne oprogramowanie obsługujące woluminy FAT, może również polegać na poprawności wartości liczby ukrytych sektorów, choć większość współczesnych implementacji FAT zignoruje ją. Domyślnie, gdy URZĄDZENIE jest blokowym urządzeniem partycji, mkfs.fat użyje wartości będącej w odniesieniu do początku dysku. W innym przypadku mkfs.fat przyjmie wartość równą zero. Opcji tej można użyć do przesłonięcia tego zachowania.
Ustawia identyfikator woluminu nowo utworzonego systemu plików; IDENTYFIKATOR-WOLUMINU jest 32-bitową liczbą szesnastkową (na przykład, 2e24ec82). Domyślnie jest to liczba zależna od czasu utworzenia systemu plików.
Ignoruje i wyłącza różne zabezpieczenia programu. Domyślnie mkfs.fat odmówi utworzenia systemu plików na urządzeniu z partycjami lub wirtualnym mapowaniem. mkfs.fat w takim przypadku wypisze ostrzeżenie i odmówi współpracy. W przypadku dysków magnetooptycznych (MO) jest inaczej - nie zawsze są one partycjonowane, a system plików może pokrywać cały dysk. Inne systemy operacyjne nazywają to formatem superdyskietki. Opcja ta pozwoli programowi mkfs.fat działać na takich dyskach.
Odczytuje listę błędnych bloków z podanego pliku o nazwie NAZWA-PLIKU.
Ustawia komunikat, jaki otrzymuje użytkownik podczas próby rozruchu tego systemu plików bez poprawnie zainstalowanego systemu operacyjnego. Komunikat nie może przekraczać 418 bajtów po konwersji znaków końca linii na kombinacje powrót karetki+koniec linii i rozwinięciu znaków tabulacji. Jeżeli nazwą pliku jest myślnik ("-"), to tekst jest pobierany ze standardowego wejścia.
Określa typ nośnika do zapisania w sektorze ładowania FAT. Wartością zazwyczaj jest 0xF8 dla dysków twardych i 0xF0 lub wartość z przedziału od 0xF9 do 0xFF dla dyskietek lub partycji używanych do emulowania dyskietek.
Wypełnia (nieprawdziwą) tablicę MBR wpisem jednej partycji dysku rozpoczynającej się od sektora 0 (obejmującą również sam MBR) i wypełniającą całe urządzenie dyskowe. Jest to potrzebne tylko w przypadku dysków niewymiennych używanych w systemach Microsoft Windows i tylko przy formatowaniu całego niespartycjonowanego dysku. Położenie tego wpisu i tablicy partycji nakłada się na koniec pierwszego sektora FAT (położenie kodu rozruchowego), przez co nie jest używane dodatkowe miejsce. Domyślną wartością jest tryb auto, w którym mkfs.fat umieszcza tablicę MBR tylko dla dysków niewymiennych, przy partycjonowaniu całego, niespartycjonowanego dysku.
Ustawia nazwę woluminu (etykietę) systemu plików. Nazwa woluminu może mieć długość do 11 znaków. Przy podaniu pustego łańcucha, ciągu składającego się wyłącznie ze spacji lub łańcucha "NO NAME" jako NAZWY-WOLUMINU, efekt jest taki sam jakby nie użyto opcji -n. Domyślnie nazwa nie jest nadawana.
Używa STRONY kodowej DOS przy etykiecie. Domyślnie jest to strona kodowa 850.
Określa minimalną liczbę pozycji dostępnych w głównym katalogu. Domyślnie jest to 112 lub 224 dla dyskietek oraz 512 dla dysków twardych. Proszę zauważyć, że jest to wartość minimalna, która może być zwiększona przez mkfs.fat ze względu na wyrównanie struktur. Zobacz też: opcja -a mkfs.fat.
Ustawia minimalną liczbę zarezerwowanych sektorów. Format FAT32 wymaga co najmniej 2 zarezerwowanych sektorów, domyślną wartością jest 32. W przypadku innych systemów wartością domyślną jest 1 (tylko sektor rozruchowy). Proszę zauważyć, że jest to wartość minimalna, która może być zwiększona przez mkfs.fat ze względu na wyrównanie struktur. Zobacz też: opcja -a mkfs.fat.
Określa liczbę sektorów dysku przypadających na jeden klaster. Musi być potęgą 2, tj. 1, 2, 4, 8, ... 128.
Określa liczbę sektorów dysku przypadających na jeden klaster. Musi być potęgą 2 większą lub równą 512, tj. 512, 1024, 2048, 4096, 8192, 16384 lub 32768. Wartości większe niż 4096 nie są zgodne ze specyfikacją systemu plików FAT i nie wszędzie muszą działać.
Wypisuje szczegółowe informacje.
Zapisuje system plików do podanego sektora pliku urządzenia. Opcja jest przydatna przy tworzeniu systemu plików w obrazie spartycjonowanego dysku, bez konieczności używania urządzenia pętli zwrotnej.
Tworzy system plików w wariancie TYP. Dozwolone wartości to: standard i atari (wielkość liter nie ma znaczenia). Różnice pomiędzy tymi wariantami opisano w rozdziale OPIS.
Wyświetla podsumowanie opcji i kończy pracę.
Używa stałych, do danych w innym wypadku tworzonych losowo lub w zależności od czasu, takich jak identyfikator woluminu i czas jego utworzenia. Opcja ta umożliwia uzyskanie identycznych rezultatów przy wielokrotnym uruchomieniu mkfs.fat na tym samym urządzeniu. Służy głównie do testowania mkfs.fat.

mkfs.fat nie potrafi utworzyć rozruchowych systemów plików. Z różnych powodów utworzenie takiego systemu plików nie jest takie proste jak mogłoby się wydawać i mkfs.fat nie będzie tego wspierał ;)

fatlabel(8), fsck.fat(8)

Strona internetowa projektu dosfstools znajduje się w serwisie GitHub.

dosfstools napisali: Werner Almesberger, Roman Hodek, i inni. Aktualni opiekunowie to: Andreas Bombe i Pali Rohár.

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Wojtek Kotwica <wkotwica@post.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres manpages-pl-list@lists.sourceforge.net.

31 stycznia 2021 r. dosfstools 4.2