Provided by: dosfstools_3.0.26-1_amd64 bug

NAME

       fsck.fat - check and repair MS-DOS filesystems

SYNOPSIS

       fsck.fat|fsck.msdos|fsck.vfat [-aAflnprtvVwy] [-d PATH -d ...] [-u PATH -u ...] DEVICE

DESCRIPTION

       fsck.fat  verifies  the  consistency  of MS-DOS filesystems and optionally tries to repair
       them.

       The following filesystem problems can be corrected (in this order):

       *   FAT contains invalid cluster numbers. Cluster is changed to EOF.

       *   File's cluster chain contains a loop. The loop is broken.

       *   Bad clusters (read errors). The clusters are marked bad  and  they  are  removed  from
           files owning them. This check is optional.

       *   Directories  with  a large number of bad entries (probably corrupt). The directory can
           be deleted.

       *   Files . and .. are non-directories. They can be deleted or renamed.

       *   Directories . and .. in root directory. They are deleted.

       *   Bad filenames. They can be renamed.

       *   Duplicate directory entries. They can be deleted or renamed.

       *   Directories with non-zero size field. Size is set to zero.

       *   Directory . does not point to parent directory. The start pointer is adjusted.

       *   Directory .. does not point to parent  of  parent  directory.  The  start  pointer  is
           adjusted.

       *   Start cluster number of a file is invalid. The file is truncated.

       *   File contains bad or free clusters. The file is truncated.

       *   File's  cluster  chain  is  longer  than  indicated  by  the  size fields. The file is
           truncated.

       *   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.

       *   File's cluster chain is shorter than  indicated  by  the  size  fields.  The  file  is
           truncated.

       *   Clusters are marked as used but are not owned by a file. They are marked as free.

       Additionally, the following problems are detected, but not repaired:

       *   Invalid parameters in boot sector.

       *   Absence of . and .. entries in non-root directories

       When  fsck.fat checks a filesystem, it accumulates all changes in memory and performs them
       only after all checks are complete. This can be disabled with the -w option.

OPTIONS

       -a  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.

       -A  Use Atari variation of the MS-DOS filesystem. This is default if fsck.fat 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).

       -b  Make read-only boot sector check.

       -d  Delete the specified file. If more that one file with that name exists, the first  one
           is deleted.

       -f  Salvage  unused  cluster chains to files. By default, unused clusters are added to the
           free disk space except in auto mode (-a).

       -l  List path names of files being processed.

       -n  No-operation mode: non-interactively check for errors, but don't write anything to the
           filesystem.

       -p  Same as (-a), for compatibility with other *fsck.

       -r  Interactively  repair  the  filesystem. The user is asked for advice whenever there is
           more than one approach to fix an inconsistency.

       -t  Mark unreadable clusters as bad.

       -u  Try to undelete the specified file. fsck.fat tries to allocate a chain  of  contiguous
           unallocated clusters beginning with the start cluster of the undeleted file.

       -v  Verbose mode. Generates slightly more output.

       -V  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.

       -w  Write changes to disk immediately.

       -y  Same as -a (automatically repair filesystem) for compatibility with other fsck tools.

       Note: If -a and -r are absent, the filesystem is only checked, but not repaired.

EXIT STATUS

       0   No recoverable errors have been detected.

       1   Recoverable  errors  have  been  detected  or  fsck.fat  has  discovered  an  internal
           inconsistency.

       2   Usage error. fsck.fat did not access the filesystem.

FILES

       fsck0000.rec, fsck0001.rec, ...
           When  recovering from a corrupted filesystem, fsck.fat dumps recovered data into files
           named 'fsckNNNN.rec' in the top level directory of the filesystem.

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.

SEE ALSO

       fatlabel(8)
       mkfs.fat(8)

HOMEPAGE

       More    information    about    fsck.fat    and    dosfstools    can    be    found     at
       <http://daniel-baumann.ch/software/dosfstools/>.

AUTHORS

       dosfstools  were  written by Werner Almesberger <werner.almesberger@lrc.di.epfl.ch>, Roman
       Hodek <Roman.Hodek@informatik.uni-erlangen.de>, and  others.  The  current  maintainer  is
       Daniel Baumann <mail@daniel-baumann.ch>.