FSCK(8)                               System Administration                               FSCK(8)

       fsck - check and repair a Linux filesystem

       fsck  [-lsAVRTMNP]  [-r  [fd]]  [-C  [fd]]  [-t fstype] [filesystem...] [--] [fs-specific-

       fsck is used to check and optionally repair one or more Linux filesystems.  filesys can be
       a  device  name  (e.g.  /dev/hdc1, /dev/sdb2), a mount point (e.g.  /, /usr, /home), or an
       ext2  label  or  UUID  specifier   (e.g.    UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd   or
       LABEL=root).  Normally, the fsck program will try to handle filesystems on different phys‐
       ical disk drives in parallel to reduce the total amount of time needed  to  check  all  of

       If  no  filesystems are specified on the command line, and the -A option is not specified,
       fsck will default to checking filesystems in /etc/fstab serially.  This is  equivalent  to
       the -As options.

       The exit code returned by fsck is the sum of the following conditions:

              0      No errors
              1      Filesystem errors corrected
              2      System should be rebooted
              4      Filesystem errors left uncorrected
              8      Operational error
              16     Usage or syntax error
              32     Checking canceled by user request
              128    Shared-library error

       The  exit  code  returned  when multiple filesystems are checked is the bit-wise OR of the
       exit codes for each filesystem that is checked.

       In actuality, fsck is simply a front-end for the various filesystem checkers (fsck.fstype)
       available  under Linux.  The filesystem-specific checker is searched for in the PATH envi‐
       ronment variable. If the PATH is undefined then fallback to "/sbin".

       Please see the filesystem-specific checker manual pages for further details.

       -l     Create an exclusive flock(2) lock file (/run/fsck/.lock)  for  whole-disk
              device.   This  option  can be used with one device only (this means that -A and -l
              are mutually exclusive).  This option is recommended when  more  fsck(8)  instances
              are  executed  in  the  same  time.   The  option is ignored when used for multiple
              devices or for non-rotating disks.  fsck does not lock underlying devices when exe‐
              cuted  to  check  stacked devices (e.g. MD or DM) – this feature is not implemented

       -r [fd]
              Report certain statistics for  each  fsck  when  it  completes.   These  statistics
              include  the exit status, the maximum run set size (in kilobytes), the elapsed all-
              clock time and the user and system CPU time used by the fsck run.  For example:

              /dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186

              GUI front-ends may specify a file descriptor fd, in which  case  the  progress  bar
              information  will  be  sent  to that file descriptor in a machine parseable format.
              For example:

              /dev/sda1 0 92828 4.002804 2.677592 0.86186

       -s     Serialize fsck operations.  This is a  good  idea  if  you  are  checking  multiple
              filesystems  and the checkers are in an interactive mode.  (Note: e2fsck(8) runs in
              an interactive mode by default.  To make e2fsck(8) run in a  non-interactive  mode,
              you must either specify the -p or -a option, if you wish for errors to be corrected
              automatically, or the -n option if you do not.)

       -t fslist
              Specifies the type(s) of filesystem to be checked.  When the -A flag is  specified,
              only  filesystems  that match fslist are checked.  The fslist parameter is a comma-
              separated list of filesystems and options specifiers.  All of  the  filesystems  in
              this comma-separated list may be prefixed by a negation operator 'no' or '!', which
              requests that only those filesystems not listed in fslist will be checked.  If none
              of  the  filesystems  in fslist is prefixed by a negation operator, then only those
              listed filesystems will be checked.

              Options specifiers may be included in the comma-separated fslist.  They  must  have
              the  format opts=fs-option.  If an options specifier is present, then only filesys‐
              tems which contain fs-option in their mount options field  of  /etc/fstab  will  be
              checked.   If  the  options specifier is prefixed by a negation operator, then only
              those filesystems that do not have  fs-option  in  their  mount  options  field  of
              /etc/fstab will be checked.

              For  example,  if  opts=ro  appears  in  fslist,  then  only  filesystems listed in
              /etc/fstab with the ro option will be checked.

              For compatibility with Mandrake distributions whose boot  scripts  depend  upon  an
              unauthorized  UI  change to the fsck program, if a filesystem type of loop is found
              in fslist, it is treated as if opts=loop were specified as an argument  to  the  -t

              Normally, the filesystem type is deduced by searching for filesys in the /etc/fstab
              file and using the corresponding entry.  If the type can not be deduced, and  there
              is  only  a  single filesystem given as an argument to the -t option, fsck will use
              the specified filesystem type.  If this type is not  available,  then  the  default
              filesystem type (currently ext2) is used.

       -A     Walk through the /etc/fstab file and try to check all filesystems in one run.  This
              option is typically used from the /etc/rc system initialization  file,  instead  of
              multiple commands for checking a single filesystem.

              The  root  filesystem  will be checked first unless the -P option is specified (see
              below).  After that, filesystems will be checked in  the  order  specified  by  the
              fs_passno  (the  sixth) field in the /etc/fstab file.  Filesystems with a fs_passno
              value of 0 are skipped and are not checked at all.  Filesystems  with  a  fs_passno
              value of greater than zero will be checked in order, with filesystems with the low‐
              est fs_passno number being checked first.  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.

              fsck does not check stacked devices (RAIDs, dm-crypt, ...)  in  parallel  with  any
              other  device.  See below for FSCK_FORCE_ALL_PARALLEL setting.  The /sys filesystem
              is used to detemine dependencies between devices.

              Hence, a very common configuration in /etc/fstab files is to set the root  filesys‐
              tem  to  have  a  fs_passno  value  of 1 and to set all other filesystems to have a
              fs_passno value of 2.  This will allow fsck to automatically run filesystem  check‐
              ers 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 run‐
              ning in parallel for some reason – for example, if the machine in question is short
              on memory so that excessive paging is a concern.

              fsck normally does not check whether the device actually exists  before  calling  a
              filesystem  specific  checker.  Therefore non-existing devices may cause the system
              to enter filesystem repair mode during boot  if  the  filesystem  specific  checker
              returns a fatal error.  The /etc/fstab mount option nofail may be used to have fsck
              skip non-existing devices.  fsck also skips non-existing devices that have the spe‐
              cial filesystem type auto.

       -C [fd]
              Display  completion/progress bars for those filesystem checkers (currently only for
              ext[234]) which support them.  fsck will manage the  filesystem  checkers  so  that
              only one of them will display a progress bar at a time.  GUI front-ends may specify
              a file descriptor fd, in which case the progress bar information will  be  sent  to
              that file descriptor.

       -M     Do  not check mounted filesystems and return an exit code of 0 for mounted filesys‐

       -N     Don't execute, just show what would be done.

       -P     When the -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 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).

       -R     When checking all filesystems with the -A flag, skip the root filesystem.  (This is
              useful in case the root filesystem has already been mounted read-write.)

       -T     Don't show the title on startup.

       -V     Produce  verbose  output,  including all filesystem-specific commands that are exe‐

              Options which are not understood by fsck  are  passed  to  the  filesystem-specific
              checker.   These options must not take arguments, as there is no way for fsck to be
              able to properly guess which options take arguments and which don't.

              Options and arguments which  follow  the  --  are  treated  as  filesystem-specific
              options to be passed to the filesystem-specific checker.

              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 fsck some horribly
              complicated options and arguments, and it doesn't do what you expect, don't  bother
              reporting  it as a bug.  You're almost certainly doing something that you shouldn't
              be doing with fsck.

       Options to different filesystem-specific fsck's are not standardized.  If in doubt, please
       consult  the  man  pages of the filesystem-specific checker.  Although not guaranteed, the
       following options are supported by most filesystem checkers:

       -a     Automatically repair the filesystem without any questions  (use  this  option  with
              caution).   Note  that e2fsck(8) supports -a for backward compatibility only.  This
              option is mapped to e2fsck's -p option which is safe to use, unlike the  -a  option
              that some filesystem checkers support.

       -n     For  some  filesystem-specific  checkers,  the -n option will cause the fs-specific
              fsck to avoid attempting to repair any problems, but simply report such problems to
              stdout.  This is however not true for all filesystem-specific checkers.  In partic‐
              ular, fsck.reiserfs(8) will  not  report  any  corruption  if  given  this  option.
              fsck.minix(8) does not support the -n option at all.

       -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 e2fsck's default behavior; it supports this option for backward
              compatibility reasons only.

       -y     For some filesystem-specific checkers, the -y option  will  cause  the  fs-specific
              fsck  to  always  attempt  to fix any detected filesystem corruption automatically.
              Sometimes an expert may be able to do better driving the fsck manually.  Note  that
              not   all  filesystem-specific  checkers  implement  this  option.   In  particular
              fsck.minix(8) and fsck.cramfs(8) do not support the -y option as of this writing.


       The fsck program's behavior is affected by the following environment variables:

              If this environment variable is set, fsck will attempt to check all of  the  speci‐
              fied filesystems in parallel, regardless of whether the filesystems appear to be on
              the same device.  (This is useful for RAID systems or high-end storage systems such
              as  those  sold by companies such as IBM or EMC.)  Note that the fs_passno value is
              still used.

              This environment variable will limit the maximum number of filesystem checkers that
              can  be  running at one time.  This allows configurations which have a large number
              of disks to avoid fsck starting too many filesystem checkers at once,  which  might
              overload  CPU and memory resources available on the system.  If this value is zero,
              then an unlimited number of processes  can  be  spawned.   This  is  currently  the
              default,  but  future  versions  of fsck may attempt to automatically determine how
              many filesystem checks can be run based on gathering accounting data from the oper‐
              ating system.

       PATH   The PATH environment variable is used to find filesystem checkers.

              This  environment variable allows the system administrator to override the standard
              location of the /etc/fstab file.  It is also useful for developers who are  testing

              enables libblkid debug output.

              enables libmount debug output.

       fstab(5), mkfs(8), fsck.ext2(8) or fsck.ext3(8) or e2fsck(8), cramfsck(8), fsck.minix(8),
       fsck.msdos(8), fsck.jfs(8), fsck.nfs(8), fsck.vfat(8), fsck.xfs(8), reiserfsck(8).

       Theodore Ts'o ⟨tytso@mit.edu⟩

       The fsck command is part of the util-linux package and  is  available  from  Linux  Kernel
       Archive ⟨ftp://ftp.kernel.org/pub/linux/utils/util-linux/⟩.

util-linux                                February 2009                                   FSCK(8)


Designed by SanjuD(@ngineerbabu)