| .\" fsck.fat.8 - manpage for fsck.fat |
| .\" |
| .\" Copyright (C) 2006-2014 Daniel Baumann <daniel@debian.org> |
| .\" |
| .\" This program is free software: you can redistribute it and/or modify |
| .\" it under the terms of the GNU General Public License as published by |
| .\" the Free Software Foundation, either version 3 of the License, or |
| .\" (at your option) any later version. |
| .\" |
| .\" This program is distributed in the hope that it will be useful, |
| .\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| .\" GNU General Public License for more details. |
| .\" |
| .\" You should have received a copy of the GNU General Public License |
| .\" along with this program. If not, see <http://www.gnu.org/licenses/>. |
| .\" |
| .\" The complete text of the GNU General Public License |
| .\" can be found in /usr/share/common-licenses/GPL-3 file. |
| .\" |
| .\" |
| .TH FSCK.FAT 8 2015\-05\-16 3.0.28 "dosfstools" |
| .SH NAME |
| \fBfsck.fat\fR \- check and repair MS\-DOS filesystems |
| .\" ---------------------------------------------------------------------------- |
| .SH SYNOPSIS |
| \fBfsck.fat\fR [\fIOPTIONS\fR] \fIDEVICE\fR |
| .\" ---------------------------------------------------------------------------- |
| .SH DESCRIPTION |
| \fBfsck.fat\fR verifies the consistency of MS\-DOS filesystems and optionally |
| tries to repair them. |
| .PP |
| The following filesystem problems can be corrected (in this order): |
| .IP "*" 4 |
| FAT contains invalid cluster numbers. |
| Cluster is changed to EOF. |
| .IP "*" 4 |
| File's cluster chain contains a loop. |
| The loop is broken. |
| .IP "*" 4 |
| Bad clusters (read errors). |
| The clusters are marked bad and they are removed from files owning them. |
| This check is optional. |
| .IP "*" 4 |
| Directories with a large number of bad entries (probably corrupt). |
| The directory can be deleted. |
| .IP "*" 4 |
| Files . and .. are non\-directories. |
| They can be deleted or renamed. |
| .IP "*" 4 |
| Directories . and .. in root directory. |
| They are deleted. |
| .IP "*" 4 |
| Bad filenames. |
| They can be renamed. |
| .IP "*" 4 |
| Duplicate directory entries. |
| They can be deleted or renamed. |
| .IP "*" 4 |
| Directories with non\-zero size field. |
| Size is set to zero. |
| .IP "*" 4 |
| Directory . does not point to parent directory. |
| The start pointer is adjusted. |
| .IP "*" 4 |
| Directory .. does not point to parent of parent directory. |
| The start pointer is adjusted. |
| .IP "*" 4 |
| Start cluster number of a file is invalid. |
| The file is truncated. |
| .IP "*" 4 |
| File contains bad or free clusters. |
| The file is truncated. |
| .IP "*" 4 |
| File's cluster chain is longer than indicated by the size fields. |
| The file is truncated. |
| .IP "*" 4 |
| Two or more files share the same cluster(s). |
| All but one of the files are truncated. |
| If the file being truncated is a directory file that has already been read, the |
| filesystem check is restarted after truncation. |
| .IP "*" 4 |
| File's cluster chain is shorter than indicated by the size fields. |
| The file is truncated. |
| .IP "*" 4 |
| Clusters are marked as used but are not owned by a file. |
| They are marked as free. |
| .PP |
| Additionally, the following problems are detected, but not repaired: |
| .IP "*" 4 |
| Invalid parameters in boot sector |
| .IP "*" 4 |
| Absence of . and .. entries in non\-root directories |
| .PP |
| When \fBfsck.fat\fR checks a filesystem, it accumulates all changes in memory |
| and performs them only after all checks are complete. |
| This can be disabled with the \fB\-w\fR option. |
| .\" ---------------------------------------------------------------------------- |
| .SH OPTIONS |
| .IP "\fB\-a\fR" 4 |
| Automatically repair the filesystem. |
| No user intervention is necessary. |
| Whenever there is more than one method to solve a problem, the least |
| destructive approach is used. |
| .IP "\fB\-A\fR" 4 |
| Use Atari variation of the MS\-DOS filesystem. |
| This is default if \fBfsck.fat\fR is run on an Atari, then this option turns |
| off Atari format. |
| There are some minor differences in Atari format: |
| Some boot sector fields are interpreted slightly different, and the special FAT |
| entries for end\-of\-file and bad cluster can be different. |
| Under MS\-DOS 0xfff8 is used for EOF and Atari employs 0xffff by default, but |
| both systems recognize all values from 0xfff8...0xffff as end\-of\-file. |
| MS\-DOS uses only 0xfff7 for bad clusters, where on Atari values 0xfff0...0xfff7 |
| are for this purpose (but the standard value is still 0xfff7). |
| .IP "\fB-b\fR" 4 |
| Make read-only boot sector check. |
| .IP "\fB\-d\fR \fIPATH\fR" 4 |
| Delete the specified file. |
| If more than one file with that name exist, the first one is deleted. |
| This option can be given more than once. |
| .IP "\fB\-f\fR" 4 |
| Salvage unused cluster chains to files. |
| By default, unused clusters are added to the free disk space except in auto mode |
| (\fB\-a\fR). |
| .IP "\fB\-l\fR" 4 |
| List path names of files being processed. |
| .IP "\fB\-n\fR" 4 |
| No\-operation mode: non\-interactively check for errors, but don't write |
| anything to the filesystem. |
| .IP "\fB\-p\fR" 4 |
| Same as \fB\-a\fR, for compatibility with other *fsck. |
| .IP "\fB\-r\fR" 4 |
| Interactively repair the filesystem. |
| The user is asked for advice whenever there is more than one approach to fix an |
| inconsistency. |
| This is the default mode and the option is only retained for backwards |
| compatibility. |
| .IP "\fB\-t\fR" 4 |
| Mark unreadable clusters as bad. |
| .IP "\fB\-u\fR \fIPATH\fR" 4 |
| Try to undelete the specified file. |
| \fBfsck.fat\fR tries to allocate a chain of contiguous unallocated clusters |
| beginning with the start cluster of the undeleted file. |
| This option can be given more than once. |
| .IP "\fB\-v\fR" 4 |
| Verbose mode. |
| Generates slightly more output. |
| .IP "\fB\-V\fR" 4 |
| Perform a verification pass. |
| The filesystem check is repeated after the first run. |
| The second pass should never report any fixable errors. |
| It may take considerably longer than the first pass, because the first pass may |
| have generated long list of modifications that have to be scanned for each disk |
| read. |
| .IP "\fB\-w\fR" 4 |
| Write changes to disk immediately. |
| .IP "\fB\-y\fR" 4 |
| Same as \fB\-a\fR (automatically repair filesystem) for compatibility with other |
| fsck tools. |
| .\" ---------------------------------------------------------------------------- |
| .SH "EXIT STATUS" |
| .IP "0" 4 |
| No recoverable errors have been detected. |
| .IP "1" 4 |
| Recoverable errors have been detected or \fBfsck.fat\fR has discovered an |
| internal inconsistency. |
| .IP "2" 4 |
| Usage error. |
| \fBfsck.fat\fR did not access the filesystem. |
| .\" ---------------------------------------------------------------------------- |
| .SH FILES |
| .IP "fsck0000.rec, fsck0001.rec, ..." 4 |
| When recovering from a corrupted filesystem, \fBfsck.fat\fR dumps recovered data |
| into files named 'fsckNNNN.rec' in the top level directory of the filesystem. |
| .\" ---------------------------------------------------------------------------- |
| .SH BUGS |
| Does not create . and .. files where necessary. |
| Does not remove entirely empty directories. |
| Should give more diagnostic messages. |
| Undeleting files should use a more sophisticated algorithm. |
| .\" ---------------------------------------------------------------------------- |
| .SH SEE ALSO |
| \fBfatlabel\fR(8) |
| .br |
| \fBmkfs.fat\fR(8) |
| .\" ---------------------------------------------------------------------------- |
| .SH HOMEPAGE |
| The home for the \fBdosfstools\fR project is its |
| .UR https://github.com/dosfstools/dosfstools |
| GitHub project page |
| .UE . |
| .\" ---------------------------------------------------------------------------- |
| .SH AUTHORS |
| \fBdosfstools\fR were written by |
| .MT werner.almesberger@\:lrc.di.epfl.ch |
| Werner Almesberger |
| .ME , |
| .MT Roman.Hodek@\:informatik.\:uni-erlangen.de |
| Roman Hodek |
| .ME , |
| and others. |
| The current maintainer is |
| .MT aeb@\:debian.org |
| Andreas Bombe |
| .ME . |