| .\" -*- nroff -*- |
| .\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved. |
| .\" This file may be copied under the terms of the GNU Public License. |
| .\" |
| .TH FSCK 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" |
| .SH NAME |
| fsck \- check and repair a Linux file system |
| .SH SYNOPSIS |
| .B fsck |
| [ |
| .B \-sACVRTNP |
| ] |
| [ |
| .B \-t |
| .I fstype |
| ] [\-\-] [ |
| .B fsck-options |
| ] |
| .I filesys [ ... ] |
| .SH DESCRIPTION |
| .B fsck |
| is used to check and optionally repair a one or more Linux file systems. |
| .I filesys |
| can be a device name (e.g. |
| .IR /dev/hdc1 ", " /dev/sdb2 ), |
| a mount point (e.g. |
| .IR / ", " /usr ", " /home ), |
| or an ext2 label or UUID specifier (e.g. |
| UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root). |
| The |
| .B fsck |
| program will try to run filesystems on different physical disk drives |
| in parallel to reduce total amount time to check all of the filesystems. |
| .PP |
| The exit code returned by |
| .B fsck |
| is the sum of the following conditions: |
| .br |
| \ 0\ \-\ No errors |
| .br |
| \ 1\ \-\ File system errors corrected |
| .br |
| \ 2\ \-\ System should be rebooted |
| .br |
| \ 4\ \-\ File system errors left uncorrected |
| .br |
| \ 8\ \-\ Operational error |
| .br |
| \ 16\ \-\ Usage or syntax error |
| .br |
| \ 128\ \-\ Shared library error |
| .br |
| The exit code returned when all file systems are checked using the |
| .B \-A |
| option is the bit-wise OR of the exit codes for each |
| file system that is checked. |
| .PP |
| In actuality, |
| .B fsck |
| is simply a front-end for the various file system checkers |
| (\fBfsck\fR.\fIfstype\fR) available under Linux. The file |
| system-specific checker is searched for in |
| .I /sbin |
| first, then in |
| .I /etc/fs |
| and |
| .IR /etc , |
| and finally in the directories listed in the PATH environment |
| variable. Please see the file system-specific checker manual pages for |
| further details. |
| .SH OPTIONS |
| .TP |
| .B \-s |
| Serialize |
| .B fsck |
| operations. This is a good idea if you checking multiple |
| filesystems and the checkers are in an interactive mode. (Note: |
| .BR e2fsck (8) |
| runs in an interactive mode by default. To make |
| .BR e2fsck (8) |
| run in a non-interactive mode, you must either specify the |
| .B \-p |
| or |
| .B \-a |
| option, if you wish for errors to be corrected automatically, or the |
| .B \-n |
| option if you do not.) |
| .TP |
| .BI \-t " fstype" |
| Specifies the type of file system to be checked. When the |
| .B \-A |
| flag is specified, only filesystems that match |
| .I fstype |
| are checked. If |
| .I fstype |
| is prefixed with |
| .I no |
| then only filesystems whose type does not match |
| .I fstype |
| are checked. |
| .sp |
| Normally, the filesystem type is deduced by searching for |
| .I filesys |
| in the |
| .I /etc/fstab |
| file and using the corresponding entry. |
| If the type can not be deduced, |
| .B fsck |
| will use the type specified by the |
| .B \-t |
| option if it specifies a unique filesystem type. If this type is not |
| available, then the default file system type (currently ext2) is used. |
| .TP |
| .B \-A |
| Walk through the |
| .I /etc/fstab |
| file and try to check all file systems in one run. This option is |
| typically used from the |
| .I /etc/rc |
| system initalization file, instead of multiple commands for checking |
| a single file system. |
| .sp |
| The root filesystem will be checked first unless the |
| .B \-P |
| option is specified (see below). After that, |
| filesystems will be checked in the order specified by the |
| .I fs_passno |
| (the sixth) field in the |
| .I /etc/fstab |
| file. |
| Filesystems with a |
| .I fs_passno |
| value of 0 are skipped and are not checked at all. |
| If there are multiple filesystems with the same pass number, |
| fsck will attempt to check them in parallel, although it will avoid running |
| multiple filesystem checks on the same physical disk. |
| Hence, a very common configuration in |
| .I /etc/fstab |
| files is to set the root filesystem to have a |
| .I fs_passno |
| value of 1 |
| and to set all filesystems to have a |
| .I fs_passno |
| value of 2. This will allow |
| .B fsck |
| to automatically run filesystem checkers in parallel if it is advantageous |
| to do so. System administrators might choose |
| not to use this configuration if they need to avoid multiple filesystem |
| checks running in parallel for some reason --- for example, if the |
| machine in question is short on memory so that |
| excessive paging is a concern. |
| .TP |
| .B \-C |
| Display completion/progress bars for those filesystems checkers (currently |
| only for ext2) which support them. Fsck will manage the filesystem checkers |
| so that only one of them will display a progress bar at a time. |
| .TP |
| .B \-N |
| Don't execute, just show what would be done. |
| .TP |
| .B \-P |
| When the |
| .B \-A |
| flag is set, check the root filesystem in parallel with the other filesystems. |
| This is not the safest thing in the world to do, |
| since if the root filesystem is in doubt things like the |
| .BR e2fsck (8) |
| executable might be corrupted! This option is mainly provided |
| for those sysadmins who don't want to repartition the root |
| filesystem to be small and compact (which is really the right solution). |
| .TP |
| .B \-R |
| When checking all file systems with the |
| .B \-A |
| flag, skip the root file system (in case it's already mounted read-write). |
| .TP |
| .B \-T |
| Don't show the title on startup. |
| .TP |
| .B \-V |
| Produce verbose output, including all file system-specific commands |
| that are executed. |
| .TP |
| .B fsck-options |
| Options which which are not understood by |
| .B fsck |
| are passed to the filesystem-specific checker. These arguments |
| .B must |
| not take arguments, as there is no |
| way for |
| .B fsck |
| to be able to properly guess which arguments take options and which |
| don't. |
| .IP |
| Options and arguments which follow the |
| .B \-\- |
| are treated as file system-specific options to be passed to the |
| file system-specific checker. |
| .IP |
| Please note that fsck is not |
| designed to pass arbitrarily complicated options to filesystem-specific |
| checkers. If you're doing something complicated, please just |
| execute the filesystem-specific checker directly. If you pass |
| .B fsck |
| some horribly complicated option and arguments, and it doesn't do |
| what you expect, |
| .B don't bother reporting it as a bug. |
| You're almost certainly doing something that you shouldn't be doing |
| with |
| .BR fsck. |
| .PP |
| Currently, standardized file system-specific options are somewhat in |
| flux. Although not guaranteed, the following options are supported |
| by most file system checkers: |
| .TP |
| .B \-a |
| Automatically repair the file system without any questions (use |
| this option with caution). Note that |
| .BR e2fsck (8) |
| supports |
| .B \-a |
| for backwards compatibility only. This option is mapped to |
| .BR e2fsck 's |
| .B \-p |
| option which is safe to use, unlike the |
| .B \-a |
| option that most file system checkers support. |
| .TP |
| .B \-r |
| Interactively repair the filesystem (ask for confirmations). Note: It |
| is generally a bad idea to use this option if multiple fsck's are being |
| run in parallel. Also note that this is |
| .BR e2fsck 's |
| default behavior; it supports this option for backwards compatibility |
| reasons only. |
| .SH AUTHOR |
| Theodore Ts'o (tytso@mit.edu) |
| .PP |
| The manual page was shamelessly adapted from David Engel and Fred van |
| Kempen's generic |
| .B fsck |
| front end program, which was in turn shamelessly |
| adapted from Remy Card's version for the ext2 file system. |
| .SH FILES |
| .IR /etc/fstab . |
| .SH SEE ALSO |
| .BR fstab (5), |
| .BR mkfs (8), |
| .BR fsck.minix (8), |
| .BR fsck.ext2 (8) |
| or |
| .BR e2fsck (8), |
| .BR fsck.xiafs (8). |