FSCK(8)

NAME
fsck - file system consistency check and interactive repair

SYNOPSIS
fsck [-Cdfnpvy] [-B | -F] [-T fstype:fsoptions] [-t fstype] [-c fstab] [special | node] ...

DESCRIPTION
The fsck utility invokes file system-specific programs to check the special devices listed in the fstab(5) file or in the command line for consistency.

It is normally used in the script /etc/rc during automatic reboot. Traditionally, fsck is invoked before the file systems are mounted and all checks are done to completion at that time. If background checking is available, fsck is invoked twice. It is first invoked at the traditional time, before the file systems are mounted, with the -F flag to do checking on all the file systems that cannot do background checking. It is then invoked a second time, after the system has completed going multiuser, with the -B flag to do checking on all the file systems that can do background checking. Unlike the foreground checking, the background checking is started asynchronously so that other system activity can proceed even on the file systems that are being checked.

If no file systems are specified, fsck reads the table /etc/fstab to determine which file systems to check. Only partitions in /etc/fstab that are mounted “rw”, “rq” or “ro” and that have non-zero pass number are checked. File systems with pass number 1 (normally just the root file system) are always checked one at a time.

If not in preen mode, the remaining entries are checked in order of increasing pass number one at a time. This is needed when interaction with fsck is required.

In preen mode, after pass 1 completes, all remaining file systems are checked, in pass number order running one process per disk drive in parallel for each pass number in increasing order.

In other words: In preen mode all pass 1 partitions are checked sequentially. Next all pass 2 partitions are checked in parallel, one process per disk drive. Next all pass 3 partitions are checked in parallel, one process per disk drive. etc.

The disk drive containing each file system is inferred from the shortest prefix of the device name that ends in a digit; the remaining characters are assumed to be the partition and slice designators.

If the -t or -T flags are not specified, fsck will attempt to determine the file system type and call the appropriate file system check utility. Failure to detect the file system type will cause fsck to fail with a message that the partition has an unknown file system type.

The options are as follows:

-C  Check if the “clean” flag is set in the superblock and skip file system checks if file system was properly dismounted and marked clean.

-c fstab
    Specify the fstab file to use.

-d  Debugging mode. Just print the commands without executing them. Available only if fsck is compiled to support it.

-f  Force checking of file systems. Running “fsck -f” ignores the journal and does a full consistency check of the disk so will find and fix the errors about which the journal is unaware.

-n  Causes fsck to assume no as the answer to all operator questions, except "CONTINUE?".

-p  Enter preen mode. In preen mode, only a restricted class of innocuous file system inconsistencies will be corrected. If unexpected inconsistencies caused by hardware or software failures are encountered, the check program will exit with a failure. See the manual pages for the individual check programs for a list of the sorts of failures that they correct when running in preen mode.

-F  Run in foreground mode. The check program for each file system is invoked with the -F flag to determine whether it wishes to run as part of the boot up sequence, or if it is able to do its job in background after the system is up and running. A non-zero exit code indicates that it wants to run in foreground and the check program is invoked. A zero exit code indicates that it is able to run later in background and just a deferred message is printed.

-B  Run in background mode. The check program for each file system is invoked with the -F flag to determine whether it wishes to run as part of the boot up sequence, or if it is able to do its job in background after the system is up and running. A non-zero exit code indicates that it wanted to run in foreground which is assumed to have been done, so the file system is skipped. A zero exit code indicates that it is able to run in background so the check program is invoked with the -B flag to indicate that a check on the active file system should be done. When running in background mode, only one file system at a time will be checked. Note that background fsck is limited to checking for only the most commonly occurring file system abnormalities. Under certain circumstances, some errors can escape background fsck. It is recommended that you perform foreground fsck on your systems periodically and whenever you encounter file-system-related panics.

-t fstype
    Invoke fsck only for the comma separated list of file system types. If the list starts with “no” then invoke fsck for the file system types that are not specified in the list.

-v  Print the commands before executing them.

-y  Causes fsck to assume yes as the answer to all operator questions.

-T fstype:fsoptions
    List of comma separated file system specific options for the specified file system type, in the same format as mount(8).

FILES
/etc/fstab
    file system table

SEE ALSO
fstab(5), fsck_ffs(8), fsck_msdosfs(8), mount(8)

HISTORY
A fsck utility appeared in 4.0BSD. It was reimplemented as a filesystem independent wrapper in NetBSD 1.3 and first appeared in FreeBSD 5.0. The original filesystem specific utility became fsck_ffs(8) at this point.