Appendix C. Manual Page of e2fsck
E2FSCK(8) E2FSCK(8)
NAME
e2fsck - check a Linux second extended file system
SYNOPSIS
e2fsck [ -pacnyrdfvstDFSV ] [ -b superblock ] [ -B block
size ] [ -l|-L bad_blocks_file ] [ -C fd ] [ -j external-
journal ] [ -E extended_options ] device
DESCRIPTION
e2fsck is used to check a Linux second extended file sys
tem (ext2fs). E2fsck also supports ext2 filesystems coun
taining a journal, which are also sometimes known as ext3
filesystems, by first applying the journal to the filesys
tem before continuing with normal e2fsck processing.
After the journal has been applied, a filesystem will nor
mally be marked as clean. Hence, for ext3 filesystems,
e2fsck will normally run the journal and exit, unless its
superblock indicates that further checking is required.
device is the device file where the filesystem is stored
(e.g. /dev/hdc1).
OPTIONS
-a This option does the same thing as the -p option.
It is provided for backwards compatibility only; it
is suggested that people use -p option whenever
possible.
-b superblock
Instead of using the normal superblock, use an
alternative superblock specified by superblock.
This option is normally used when the primary
superblock has been corrupted. The location of the
backup superblock is dependent on the filesystem's
blocksize. For filesystems with 1k blocksizes, a
backup superblock can be found at block 8193; for
filesystems with 2k blocksizes, at block 16384; and
for 4k blocksizes, at block 32768.
Additional backup superblocks can be determined by
using the mke2fs program using the -n option to
print out where the superblocks were created. The
-b option to mke2fs, which specifies blocksize of
the filesystem must be specified in order for the
superblock locations that are printed out to be
accurate.
If an alternative superblock is specified and the
filesystem is not opened read-only, e2fsck will
make sure that the primary superblock is updated
appropriately upon completion of the filesystem
check.
-B blocksize
Normally, e2fsck will search for the superblock at
various different block sizes in an attempt to find
the appropriate block size. This search can be
fooled in some cases. This option forces e2fsck to
only try locating the superblock at a particular
blocksize. If the superblock is not found, e2fsck
will terminate with a fatal error.
-c This option causes e2fsck to run the badblocks(8)
program to find any blocks which are bad on the
filesystem, and then marks them as bad by adding
them to the bad block inode. If this option is
specified twice, then the bad block scan will be
done using a non-destructive read-write test.
-C fd This option causes e2fsck to write completion
information to the specified file descriptor so
that the progress of the filesystem check can be
monitored. This option is typically used by pro
grams which are running e2fsck. If the file
descriptor specified is 0, e2fsck will print a com
pletion bar as it goes about its business. This
requires that e2fsck is running on a video console
or terminal.
-d Print debugging output (useless unless you are
debugging e2fsck).
-D Optimize directories in filesystem. This option
causes e2fsck to try to optimize all directories,
either by reindexing them if the filesystem sup
ports directory indexing, or by sorting and com
pressing directories for smaller directories, or
for filesystems using traditional linear directo
ries.
-E extended_options
Set e2fsck extended options. Extended options are
comma separated, and may take an argument using the
equals ('=') sign. The following options are sup
ported:
ea_ver=extended_attribute_version
Assume the format of the extended
attribute blocks in the filesystem is
the specified version number. The ver
sion number may be 1 or 2. The default
extended attribute version format is 2.
-f Force checking even if the file system seems clean.
-F Flush the filesystem device's buffer caches before
beginning. Only really useful for doing e2fsck
time trials.
-j external-journal
Set the pathname where the external-journal for
this filesystem can be found.
-l filename
Add the block numbers listed in the file specified
by filename to the list of bad blocks. The format
of this file is the same as the one generated by
the badblocks(8) program. Note that the block num
bers are based on the blocksize of the filesystem.
Hence, badblocks(8) must be given the blocksize of
the filesystem in order to obtain correct results.
As a result, it is much simpler and safer to use
the -c option to e2fsck, since it will assure that
the correct parameters are passed to the badblocks
program.
-L filename
Set the bad blocks list to be the list of blocks
specified by filename. (This option is the same as
the -l option, except the bad blocks list is
cleared before the blocks listed in the file are
added to the bad blocks list.)
-n Open the filesystem read-only, and assume an answer
of `no' to all questions. Allows e2fsck to be used
non-interactively. (Note: if the -c, -l, or -L
options are specified in addition to the -n option,
then the filesystem will be opened read-write, to
permit the bad-blocks list to be updated. However,
no other changes will be made to the filesystem.)
-p Automatically repair ("preen") the file system
without any questions.
-r This option does nothing at all; it is provided
only for backwards compatibility.
-s This option will byte-swap the filesystem so that
it is using the normalized, standard byte-order
(which is i386 or little endian). If the filesys
tem is already in the standard byte-order, e2fsck
will take no action.
-S This option will byte-swap the filesystem, regard
less of its current byte-order.
-t Print timing statistics for e2fsck. If this option
is used twice, additional timing statistics are
printed on a pass by pass basis.
-v Verbose mode.
-V Print version information and exit.
-y Assume an answer of `yes' to all questions; allows
e2fsck to be used non-interactively.
EXIT CODE
The exit code returned by e2fsck is the sum of the follow
ing conditions:
0 - No errors
1 - File system errors corrected
2 - File system errors corrected, system should
be rebooted
4 - File system errors left uncorrected
8 - Operational error
16 - Usage or syntax error
32 - E2fsck canceled by user request
128 - Shared library error
SIGNALS
The following signals have the following effect when sent
to e2fsck.
SIGUSR1
This signal causes e2fsck to start displaying a
completion bar. (See discussion of the -C option.)
SIGUSR2
This signal causes e2fsck to stop displaying a com
pletion bar.
REPORTING BUGS
Almost any piece of software will have bugs. If you
manage to find a filesystem which causes e2fsck to crash,
or which e2fsck is unable to repair, please report it to
the author.
Please include as much information as possible in your bug
report. Ideally, include a complete transcript of the
e2fsck run, so I can see exactly what error messages are
displayed. If you have a writeable filesystem where the
transcript can be stored, the script(1) program is a handy
way to save the output of e2fsck to a file.
It is also useful to send the output of dumpe2fs(8). If a
specific inode or inodes seems to be giving e2fsck trou
ble, try running the debugfs(8) command and send the out
put of the stat(1u) command run on the relevant inode(s).
If the inode is a directory, the debugfs dump command will
allow you to extract the contents of the directory inode,
which can sent to me after being first run through uuen
code(1).
Always include the full version string which e2fsck dis
plays when it is run, so I know which version you are run
ning.
AUTHOR
This version of e2fsck was written by Theodore Ts'o
<tytso@mit.edu>.
SEE ALSO
mke2fs(8), tune2fs(8), dumpe2fs(8), debugfs(8)
E2fsprogs version 1.34 July 2003 E2FSCK(8)