12.2. Filesystem-Specific Information for fsck
12.2.1. ext2, ext3, and ext4
All of these filesytems use the
e2fsck
binary to perform filesystem checks and repairs. The filenames fsck.ext2
, fsck.ext3
, and fsck.ext4
are hardlinks to this same binary. These binaries are run automatically at boot time and their behavior differs based on the filesystem being checked and the state of the filesystem.
A full filesystem check and repair is invoked for ext2, which is not a metadata journaling filesystem, and for ext4 filesystems without a journal.
For ext3 and ext4 filesystems with metadata journaling, the journal is replayed in userspace and the binary exited. This is the default action as journal replay ensures a consistent filesystem after a crash.
If these filesystems encounter metadata inconsistencies while mounted, they will record this fact in the filesystem superblock. If
e2fsck
finds that a filesystem is marked with such an error e2fsck
will perform a full check after replaying the journal (if present).
e2fsck
may ask for user input during the run if the -p
option is not specified. The -p
option tells e2fsck
to automatically do all repairs that may be done safely. If user intervention is required, e2fsck
will indicate the unfixed problem in its output and reflect this status in the exit code.
Commonly used
e2fsck
run-time options include:
-n
- No-modify mode. Check-only operation.
-b
superblock- Specify block number of an alternate superblock if the primary one is damaged.
-f
- Force full check even if the superblock has no recorded errors.
-j
journal-dev- Specify the external journal device, if any.
-p
- Automatically repair or "preen" the filesystem with no user input.
-y
- Assume an answer of "yes" to all questions.
All options for
e2fsck
are specified in the e2fsck(8)
manual page.
The following five basic phases are performed by
e2fsck
while running:
- Inode, block, and size checks.
- Directory structure checks.
- Directory connectivity checks.
- Reference count checks.
- Group summary info checks.
The
e2image(8)
utility can be used to create a metadata image prior to repair for diagnostic or testing purposes. The -r
option should be used for testing purposes in order to create a sparse file of the same size as the filesystem itself. e2fsck
can then operate directly on the resulting file. The -Q
option should be specified if the image is to be archived or provided for diagnostic. This creates a more compact file format suitable for transfer.