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.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.
e2fsck run-time options include:
- No-modify mode. Check-only operation.
- Specify block number of an alternate superblock if the primary one is damaged.
- Force full check even if the superblock has no recorded errors.
- Specify the external journal device, if any.
- Automatically repair or "preen" the filesystem with no user input.
- 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.
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.