.TH DOSFSCK 8 "December 31 1997" "Linux" "MAINTENANCE COMMANDS"
.SH NAME
dosfsck \- check and repair MS-DOS file systems
.SH SYNOPSIS
.ad l
.B dosfsck|fsck.msdos|fsck.vfat
.RB [ \-aAflnrtvVwy ]
.RB [ \-d\ \fIpath\fB\ \-d\ \fI...\fB ]
.RB [ \-u\ \fIpath\fB\ \-u\ \fI...\fB ]
.I device
.ad b
.SH DESCRIPTION
.B dosfsck
verifies the consistency of MS-DOS file systems and optionally tries to
repair them. The following file system problems can be corrected (in this
order):
.IP \-
FAT contains invalid cluster numbers. Cluster is changed to EOF.
.PD 0
.IP \-
File's cluster chain contains a loop. The loop is broken.
.IP \-
Bad clusters (read errors). The clusters are marked bad and they are
removed from files owning them. This check is optional.
.IP \-
Directories with a large number of bad entries (probably corrupt). The
directory can be deleted.
.IP \-
Files . and .. are non-directories. They can be deleted or renamed.
.IP \-
Directories . and .. in root directory. They are deleted.
.IP \-
Bad file names. They can be renamed.
.IP \-
Duplicate directory entries. They can be deleted or renamed.
.IP \-
Directories with non-zero size field. Size is set to zero.
.IP \-
Directory . does not point to parent directory. The start pointer is
adjusted.
.IP \-
Directory .. does not point to parent of parent directory. The start pointer
is adjusted.
.IP \-
Start cluster number of a file is invalid. The file is truncated.
.IP \-
File contains bad or free clusters. The file is truncated.
.IP \-
File's cluster chain is longer than indicated by the size fields. The file
is truncated.
.IP \-
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 file system check is restarted after truncation.
.IP \-
File's cluster chain is shorter than indicated by the size fields. The file
is truncated.
.IP \-
Clusters are marked as used but are not owned by a file. They are marked
as free.
.PD
.LP
Additionally, the following problems are detected, but not repaired:
.IP \-
Invalid parameters in boot sector.
.PD 0
.IP \-
Absence of . and .. entries in non-root directories
.PD
.LP
When \fBdosfsck\fP checks a file system, it accumulates all changes in memory
and performs them only after all checks are complete. This can be disabled
with the \fB\-w\fP option.
.SH OPTIONS
.IP \fB\-a\fP
Automatically repair the file system. 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\fP
Use Atari variation of the MS-DOS filesystem. This is default if
\fBdosfsck\fP 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\-d\fP
Delete the specified file. If more that one file with that name exists, the
first one is deleted.
.IP \fB\-f\fP
Salvage unused cluster chains to files. By default, unused clusters are
added to the free disk space except in auto mode (\fB-a\fP).
.IP \fB\-l\fP
List path names of files being processed.
.IP \fB\-n\fP
No-operation mode: non-interactively check for errors, but don't write
anything to the filesystem.
.IP \fB\-r\fP
Interactively repair the file system. The user is asked for advice whenever
there is more than one approach to fix an inconsistency.
.IP \fB\-t\fP
Mark unreadable clusters as bad.
.IP \fB-u\fP
Try to undelete the specified file. \fBdosfsck\fP tries to allocate a chain
of contiguous unallocated clusters beginning with the start cluster of the
undeleted file.
.IP \fB\-v\fP
Verbose mode. Generates slightly more output.
.IP \fB\-V\fP
Perform a verification pass. The file system 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\fP
Write changes to disk immediately.
.IP \fB\-y\fP
Same as \fB\-a\fP (automatically repair filesystem) for compatibility
with other fsck tools.
.LP
If \fB\-a\fP and \fB\-r\fP are absent, the file system is only checked,
but not repaired.
.SH "EXIT STATUS"
.IP 0
No recoverable errors have been detected.
.IP 1
Recoverable errors have been detected or \fBdosfsck\fP has discovered an
internal inconsistency.
.IP 2
Usage error. \fBdosfsck\fP did not access the file system.
.SH FILES
.IP "fsck0000.rec, fsck0001.rec, ..."
When recovering from a corrupted file system, dosfsck dumps recovered data
into files named 'fsckNNNN.rec' in the top level directory of the file system.
.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"
.\"fs(5)
.SH AUTHORS
Werner Almesberger <werner.almesberger@lrc.di.epfl.ch>
Extensions (FAT32, VFAT) by and current maintainer:
Roman Hodek <roman@hodek.net>
