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

fsck.fat - sprawdza i naprawia systemy plików FAT MS-DOS

fsck.fat [OPCJE] URZĄDZENIE

fsck.fat weryfikuje spójność systemów plików MS-DOS i opcjonalnie próbuje je naprawić.

Mogą być skorygowane następujące kłopoty z systemem plików (w tej kolejności):

  • FAT zawiera nieprawidłowe numery klastrów. Klaster zmieniany jest na EOF.
  • Łańcuch klastrów łańcucha zawiera pętlę. Pętla jest przerywana.
  • Złe klastry (błędy odczytu). Klastry są znakowane jako błędne i usuwane z zawierających je plików. Ta kontrola jest opcjonalna.
  • Katalogi z dużą liczbą złych wpisów (prawdopodobnie uszkodzone). Katalog może zostać wyrzucony.
  • Pliki . i .. nie są katalogami. Mogą zostać wyrzucone lub można zmienić im nazwę.
  • Katalogi . i .. w katalogu głównym. Są wyrzucane.
  • Złe nazwy plików. Można zmienić im nazwę.
  • Powielone pozycje katalogu. Mogą zostać wyrzucone lub można zmienić im nazwę.
  • Katalogi z niezerowym polem rozmiaru. Rozmiar jest ustawiany na zero.
  • Katalog . nie wskazuje na katalog macierzysty. Wskaźnik początkowy jest dostosowywany.
  • Katalog .. nie wskazuje na rodzica katalogu macierzystego. Wskaźnik początkowy jest dostosowywany.
  • . i .. nie zajmują dwóch pierwszych pozycji w katalogu innym niż główny. Jest to uzupełniane, przy czym zajęte pozycje są przesuwane, jeśli to konieczne.
  • Numer początkowego klastra pliku jest niepoprawny. Plik jest obcinany.
  • Plik zawiera błędne lub niezajęte klastry. Plik jest obcinany.
  • Łańcuch klastrów pliku jest dłuższy niż wskazywany przez pola rozmiaru. Plik jest obcinany.
  • Dwa lub więcej plików współdzieli ten sam klaster(y). Wszystkie pliki oprócz jednego są obcinane. Jeśli plikiem obcinanym jest katalog, który był już przeczytany, to po obcięciu kontrola systemu plików rozpoczynana jest od nowa.
  • Łańcuch klastrów pliku jest krótszy niż wskazywany przez pola rozmiaru. Plik jest obcinany.
  • Etykieta woluminu w katalogu głównym lub etykieta w sektorze rozruchowym jest nieprawidłowa. Nieprawidłowe etykiety są usuwane.
  • Etykieta woluminu w katalogu głównym i etykieta w sektorze rozruchowym różnią się od siebie. Etykieta z katalogu głównego jest kopiowana do sektora rozruchowego.
  • Klastry są zaznaczone jako zajęte, ale nie należą do pliku. Są oznaczane jako wolne.

Dodatkowo, wykrywane, ale nie naprawiane, są następujące problemy:

Nieprawidłowe parametry w sektorze rozruchowym

Gdy fsck.fat sprawdza system plików, zbiera wszystkie zmiany w pamięci i wykonuje je tylko po zakończeniu są wszystkich sprawdzeń. Można to wyłączyć opcją -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 formacie Atari istnieje kilka pomniejszych różnic: niektóre pola sektora startowego są nieco inaczej interpretowane, a specjalne wpisy FAT dla końca pliku i błędnego sektora mogą być inne. Pod MS-DOS dla EOF używane jest 0xfff8 a Atari domyślnie posługuje się 0xffff, ale oba systemy rozpoznają wszystkie wartości od 0xfff8–0xffff jako koniec pliku (end-of-file). MS-DOS dla błędnych sektorów używa tylko 0xfff7, podczas gdy na Atari do tego cel wykorzystywane są 0xfff0–0xfff7 (ale wartością standardową jest nadal 0xfff7).

Automatycznie naprawia system plików. Nie jest konieczna żadna interwencja użytkownika. Każdorazowo, gdy istnieje więcej niż jeden sposób rozwiązania problemu, wybierane jest podejście najmniej niszczące.
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.
Sprawdza sektor rozruchowy testem tylko do odczytu.
Używa STRONY kodowej DOS do odczytu krótkich nazw plików. Domyślnie jest to strona kodowa 850.
Usuwa określony plik. Jeśli istnieje więcej niż jeden plik o tej nazwie, to usuwany jest pierwszy. Opcję tę można użyć kilkukrotnie.
Odzyskuje nieużywane łańcuchy klastrów do plików. Domyślnie nieużywane klastry dodawane są do wolnej przestrzeni dyskowej, z wyjątkiem pracy w trybie automatycznym (-a).
Wybiera tablicę FAT NUMER do dostępu do systemu plików. Domyślnie przyjmowana jest wartość 0, a następnie wybierana jest pierwsza nieuszkodzona tablica FAT. Przez nieuszkodzoną rozumie się tu tablicę z prawidłowym pierwszym klastrem. Jeśli użyta jest wartość domyślna 0, a okaże się, że uszkodzone są wszystkie tablice FAT, fsck.fat poddaje się i nie próbuje naprawiać systemu plików FAT. Jeśli podano niezerową wartość NUMERU, to fsck.fat użyje tablicy FAT NUMER do naprawy systemu plików FAT. Jeśli tablica NUMER ma uszkodzony pierwszy klaster, fsck.fat naprawi go. Następnie, jeśli system plików FAT ma więcej tablic FAT, naprawiona zawartość wybranej tablicy zostanie skopiowana do pozostałych. Aby naprawić uszkodzony pierwszy klaster konieczne jest wywołanie fsck.fat z niezerową wartością NUMERU.
Pokazuje ścieżkowe nazwy przetwarzanych plików.
Tryb nieoperacyjny: nieinteraktywne szukanie błędów, jednak nic nie jest zapisywane do systemu plików.
To samo, co -a dla zgodności z innymi narzędziami *fsck.
Interaktywnie naprawia system plików. Użytkownik pytany jest o radę każdorazowo, gdy istnieje więcej niż jeden sposób naprawy niespójności. Jest to tryb domyślny, a opcja ta jest zachowana jedynie dla kompatybilności wstecznej.
Uznaje krótkie nazwy (w formacie 8.3) ze spacjami za nieprawidłowe, tak jak robiły to poprzednie wersje tego programu. Choć nazwy te nie są zabronione przez specyfikację FAT i nie były nigdy traktowane jako błędne przez narzędzia sprawdzania systemów plików firmy Microsoft, wiele programów dosowych nie umie obsłużyć plików ze spacjami. Użycie tej opcji może zapewnić im dostęp do takich plików.
Krótkie nazwy plików rozpoczynające się spacjami są zawsze traktowane jako błędne, niezależnie od tej opcji.
Poprzednie wersje tego programu traktowały w sposób wyjątkowy EA DATA. SFi WP ROOT. SF jako prawidłowe krótkie nazwy; przy zastosowaniu tej opcji ten wyjątek nie jest honorowany.
Zaznacza niedające się odczytać klastry jako błędne.
Próbuje odzyskać usunięty podany plik. fsck.fat usiłuje alokować łańcuch ciągłych, niezaalokowanych klastrów rozpoczynający się od klastra startowego odzyskiwanego pliku. Opcję tę można użyć kilkukrotnie.
Uznaje etykiety woluminu i rozruchowe pisane małymi literami za nieprawidłowe i pozwala stosować pisownię wyłącznie wielkimi literami. Etykiety takie są zabronione przez specyfikację FAT, ale są szeroko stosowane przez narzędzia linuksowe. Co więcej, systemy MS-DOS i Windows nie mają problemów z ich odczytem. Z tego powodu takie nazwy są domyślnie dopuszczalne.
Tryb szczegółowy. Generuje nieco więcej informacji na wyjściu.
Wykonuje przebieg weryfikacyjny. Po pierwszym przebiegu sprawdzenie systemu plików jest powtarzane. Drugi przebieg nie powinien nigdy zgłosić żadnych dających się naprawić błędów. Może on trwać znacząco dłużej niż pierwszy, gdyż pierwszy przebieg mógł utworzyć długą listę zmian, która musi być przeglądnięta dla każdego odczytu dyskowego.
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.
Natychmiast zapisuje zmiany na dysk.
To samo, co -a (automatycznie naprawia system plików), dla zgodności z innymi narzędziami fsck.
Wyświetla komunikat z pomocą opisujący sposób użycia i dostępne opcje, a następnie kończy działanie.

0
Nie wykryto dających się naprawić błędów.
1
Wykryto dające się naprawić błędy lub fsck.fat stwierdził wewnętrzną niespójność.
2
Błąd użytkowania. fsck.fat nie sięgał do systemu plików.

Podczas odzyskiwania uszkodzonego systemu plików, fsck.fat zrzuca odzyskane dane do plików o nazwie fsckNNNN.rec, w głównym katalogu systemu plików.

  • Nie usuwa całkowicie pustych katalogów.
  • Powinien wyświetlać więcej komunikatów diagnostycznych.
  • Odzyskiwanie plików powinno polegać na bardziej zaawansowanym algorytmie.

fatlabel(8), mkfs.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>, Michał Kułach <michal.kulach@gmail.com> i Robert Luberda <robert@debian.org>

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 listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

31 stycznia 2021 r. dosfstools 4.2