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