mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-27 20:14:46 +08:00
1a855cb21f
The need for fixing byte-swapped filesystems is long-gone, and this is getting in the way of cleaning up e2fsprogs's bitmaps code. So let's get rid of it; modern kernels haven't been able to deal with a byte-swapped filesystem in in about 9 years. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
383 lines
10 KiB
Groff
383 lines
10 KiB
Groff
.\" -*- 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 E2FSCK 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
|
|
.SH NAME
|
|
e2fsck \- check a Linux ext2/ext3 file system
|
|
.SH SYNOPSIS
|
|
.B e2fsck
|
|
[
|
|
.B \-pacnyrdfkvtDFV
|
|
]
|
|
[
|
|
.B \-b
|
|
.I superblock
|
|
]
|
|
[
|
|
.B \-B
|
|
.I blocksize
|
|
]
|
|
[
|
|
.BR \-l | \-L
|
|
.I bad_blocks_file
|
|
]
|
|
[
|
|
.B \-C
|
|
.I fd
|
|
]
|
|
@JDEV@[
|
|
@JDEV@.B \-j
|
|
@JDEV@.I external-journal
|
|
@JDEV@]
|
|
[
|
|
.B \-E
|
|
.I extended_options
|
|
]
|
|
.I device
|
|
.SH DESCRIPTION
|
|
.B e2fsck
|
|
is used to check a Linux second extended file system (ext2fs).
|
|
.B E2fsck
|
|
also
|
|
supports ext2 filesystems containing a journal, which are
|
|
also sometimes known as ext3 filesystems, by first applying the journal
|
|
to the filesystem before continuing with normal
|
|
.B e2fsck
|
|
processing. After the journal has been applied, a filesystem will
|
|
normally be marked as clean. Hence, for ext3 filesystems,
|
|
.B e2fsck
|
|
will normally run the journal and exit, unless its superblock
|
|
indicates that further checking is required.
|
|
.PP
|
|
.I device
|
|
is the device file where the filesystem is stored (e.g.
|
|
.IR /dev/hdc1 ).
|
|
.PP
|
|
Note that in general it is not safe to run
|
|
.B e2fsck
|
|
on mounted filesystems. The only exception is if the
|
|
.B \-n
|
|
option is specified, and
|
|
.BR \-c ,
|
|
.BR \-l ,
|
|
or
|
|
.B -L
|
|
options are
|
|
.I not
|
|
specified. However, even if it is safe to do so, the results printed by
|
|
.B e2fsck
|
|
are not valid if the filesystem is mounted. If
|
|
.B e2fsck
|
|
asks whether or not you should check a filesystem which is mounted,
|
|
the only correct answer is ``no''. Only experts who really know what
|
|
they are doing should consider answering this question in any other way.
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \-a
|
|
This option does the same thing as the
|
|
.B \-p
|
|
option. It is provided for backwards compatibility only; it is
|
|
suggested that people use
|
|
.B \-p
|
|
option whenever possible.
|
|
.TP
|
|
.BI \-b " superblock"
|
|
Instead of using the normal superblock, use an alternative superblock
|
|
specified by
|
|
.IR 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.
|
|
.IP
|
|
Additional backup superblocks can be determined by using the
|
|
.B mke2fs
|
|
program using the
|
|
.B \-n
|
|
option to print out where the superblocks were created. The
|
|
.B \-b
|
|
option to
|
|
.BR mke2fs ,
|
|
which specifies blocksize of the filesystem must be specified in order
|
|
for the superblock locations that are printed out to be accurate.
|
|
.IP
|
|
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.
|
|
.TP
|
|
.BI \-B " blocksize"
|
|
Normally,
|
|
.B 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
|
|
.B e2fsck
|
|
to only try locating the superblock at a particular blocksize.
|
|
If the superblock is not found,
|
|
.B e2fsck
|
|
will terminate with a fatal error.
|
|
.TP
|
|
.B \-c
|
|
This option causes
|
|
.B e2fsck
|
|
to use
|
|
.BR badblocks (8)
|
|
program to do a read-only scan of the device in order to find any bad
|
|
blocks. If any bad blocks are found, they are added to the bad block
|
|
inode to prevent them from being allocated to a file or directory. If
|
|
this option is specified twice, then the bad block scan will be done
|
|
using a non-destructive read-write test.
|
|
.TP
|
|
.BI \-C " fd"
|
|
This option causes
|
|
.B 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 programs
|
|
which are running
|
|
.BR e2fsck .
|
|
If the file descriptor specified is 0,
|
|
.B e2fsck
|
|
will print a completion bar as it goes about its business. This requires
|
|
that e2fsck is running on a video console or terminal.
|
|
.TP
|
|
.B \-d
|
|
Print debugging output (useless unless you are debugging
|
|
.BR e2fsck ).
|
|
.TP
|
|
.B \-D
|
|
Optimize directories in filesystem. This option causes e2fsck to
|
|
try to optimize all directories, either by reindexing them if the
|
|
filesystem supports directory indexing, or by sorting and compressing
|
|
directories for smaller directories, or for filesystems using
|
|
traditional linear directories.
|
|
.TP
|
|
.BI \-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 supported:
|
|
.RS 1.2i
|
|
.TP
|
|
.BI ea_ver= extended_attribute_version
|
|
Assume the format of the extended attribute blocks in the filesystem is
|
|
the specified version number. The version number may be 1 or 2. The
|
|
default extended attribute version format is 2.
|
|
.RE
|
|
.TP
|
|
.B \-f
|
|
Force checking even if the file system seems clean.
|
|
.TP
|
|
.B \-F
|
|
Flush the filesystem device's buffer caches before beginning. Only
|
|
really useful for doing
|
|
.B e2fsck
|
|
time trials.
|
|
@JDEV@.TP
|
|
@JDEV@.BI \-j " external-journal"
|
|
@JDEV@Set the pathname where the external-journal for this filesystem can be
|
|
@JDEV@found.
|
|
.TP
|
|
.BI \-k
|
|
When combined with the
|
|
.B \-c
|
|
option, any existing bad blocks in the bad blocks list are preserved,
|
|
and any new bad blocks found by running
|
|
.BR badblocks (8)
|
|
will be added to the existing bad blocks list.
|
|
.TP
|
|
.BI \-l " filename"
|
|
Add the block numbers listed in the file specified by
|
|
.I filename
|
|
to the list of bad blocks. The format of this file is the same as the
|
|
one generated by the
|
|
.BR badblocks (8)
|
|
program. Note that the block numbers are based on the blocksize
|
|
of the filesystem. Hence,
|
|
.BR 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
|
|
.B -c
|
|
option to
|
|
.BR e2fsck ,
|
|
since it will assure that the correct parameters are passed to the
|
|
.B badblocks
|
|
program.
|
|
.TP
|
|
.BI \-L " filename"
|
|
Set the bad blocks list to be the list of blocks specified by
|
|
.IR filename .
|
|
(This option is the same as the
|
|
.B \-l
|
|
option, except the bad blocks list is cleared before the blocks listed
|
|
in the file are added to the bad blocks list.)
|
|
.TP
|
|
.B \-n
|
|
Open the filesystem read-only, and assume an answer of `no' to all
|
|
questions. Allows
|
|
.B e2fsck
|
|
to be used non-interactively. (Note: if the
|
|
.BR \-c ,
|
|
.BR \-l ,
|
|
or
|
|
.B \-L
|
|
options are specified in addition to the
|
|
.B \-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.) This option
|
|
may not be specified at the same time as the
|
|
.B \-p
|
|
or
|
|
.B \-y
|
|
options.
|
|
.TP
|
|
.B \-p
|
|
Automatically repair ("preen") the file system. This option will case
|
|
.B e2fsck
|
|
to automatically
|
|
fix any filesystem problems that can be safely fixed without human
|
|
intervention. If
|
|
.B e2fsck
|
|
discovers a problem which may require the system administrator
|
|
to take additional corrective action,
|
|
.B e2fsck
|
|
will print a description of the problem and then exit with the value 4
|
|
logically or'ed into the exit code. (See the \fBEXIT CODE\fR section.)
|
|
This option is normally used by the system's boot scripts. It may not
|
|
be specified at the same time as the
|
|
.B \-n
|
|
or
|
|
.B \-y
|
|
options.
|
|
.TP
|
|
.B \-r
|
|
This option does nothing at all; it is provided only for backwards
|
|
compatibility.
|
|
.TP
|
|
.B \-t
|
|
Print timing statistics for
|
|
.BR e2fsck .
|
|
If this option is used twice, additional timing statistics are printed
|
|
on a pass by pass basis.
|
|
.TP
|
|
.B \-v
|
|
Verbose mode.
|
|
.TP
|
|
.B \-V
|
|
Print version information and exit.
|
|
.TP
|
|
.B \-y
|
|
Assume an answer of `yes' to all questions; allows
|
|
.B e2fsck
|
|
to be used non-interactively. This option
|
|
may not be specified at the same time as the
|
|
.B \-n
|
|
or
|
|
.B \-p
|
|
options.
|
|
.SH EXIT CODE
|
|
The exit code returned by
|
|
.B e2fsck
|
|
is the sum of the following conditions:
|
|
.br
|
|
\ 0\ \-\ No errors
|
|
.br
|
|
\ 1\ \-\ File system errors corrected
|
|
.br
|
|
\ 2\ \-\ File system errors corrected, system should
|
|
.br
|
|
\ \ \ \ be rebooted
|
|
.br
|
|
\ 4\ \-\ File system errors left uncorrected
|
|
.br
|
|
\ 8\ \-\ Operational error
|
|
.br
|
|
\ 16\ \-\ Usage or syntax error
|
|
.br
|
|
\ 32\ \-\ E2fsck canceled by user request
|
|
.br
|
|
\ 128\ \-\ Shared library error
|
|
.br
|
|
.SH SIGNALS
|
|
The following signals have the following effect when sent to
|
|
.BR e2fsck .
|
|
.TP
|
|
.B SIGUSR1
|
|
This signal causes
|
|
.B e2fsck
|
|
to start displaying a completion bar. (See discussion of the
|
|
.B \-C
|
|
option.)
|
|
.TP
|
|
.B SIGUSR2
|
|
This signal causes
|
|
.B e2fsck
|
|
to stop displaying a completion bar.
|
|
.SH REPORTING BUGS
|
|
Almost any piece of software will have bugs. If you manage to find a
|
|
filesystem which causes
|
|
.B e2fsck
|
|
to crash, or which
|
|
.B e2fsck
|
|
is unable to repair, please report it to the author.
|
|
.PP
|
|
Please include as much information as possible in your bug report.
|
|
Ideally, include a complete transcript of the
|
|
.B e2fsck
|
|
run, so I can see exactly what error messages are displayed. (Make sure
|
|
the messages printed by
|
|
.B e2fsck
|
|
are in English; if your system has been
|
|
configured so that
|
|
.BR e2fsck 's
|
|
messages have been translated into another language, please set the the
|
|
.B LC_ALL
|
|
environment variable to
|
|
.B C
|
|
so that the transcript of e2fsck's output will be useful to me.)
|
|
If you
|
|
have a writable filesystem where the transcript can be stored, the
|
|
.BR script (1)
|
|
program is a handy way to save the output of
|
|
.B e2fsck
|
|
to a file.
|
|
.PP
|
|
It is also useful to send the output of
|
|
.BR dumpe2fs (8).
|
|
If a specific inode or inodes seems to be giving
|
|
.B e2fsck
|
|
trouble, try running the
|
|
.BR debugfs (8)
|
|
command and send the output of the
|
|
.BR stat (1u)
|
|
command run on the relevant inode(s). If the inode is a directory, the
|
|
.B debugfs
|
|
.I dump
|
|
command will allow you to extract the contents of the directory inode,
|
|
which can sent to me after being first run through
|
|
.BR uuencode (1).
|
|
The most useful data you can send to help reproduce
|
|
the bug is a compressed raw image dump of the filesystem, generated using
|
|
.BR e2image (8).
|
|
See the
|
|
.BR e2image (8)
|
|
man page for more details.
|
|
.PP
|
|
Always include the full version string which
|
|
.B e2fsck
|
|
displays when it is run, so I know which version you are running.
|
|
.SH AUTHOR
|
|
This version of
|
|
.B e2fsck
|
|
was written by Theodore Ts'o <tytso@mit.edu>.
|
|
.SH SEE ALSO
|
|
.BR badblocks (8),
|
|
.BR dumpe2fs (8),
|
|
.BR debugfs (8),
|
|
.BR e2image (8),
|
|
.BR mke2fs (8),
|
|
.BR tune2fs (8)
|