How to use fsck to find and repair disk errors & bad sectors
- Use fsck to find and repair disk errors and bad sectors
- How to unmount manually the partition
Use fsck to find and repair disk errors and bad sectors
The “File System Consistency Check” is the full form for “fsck”, It is a utility that examines the file system for errors(in Unix and Unix-like operating systems, such as Linux, macOS, and FreeBSD) and attempts to repair them if possible. It uses a combination of built-in tools to check the disk and generates a report of its findings.
On some systems, fsck runs automatically after an unclean shutdown or after a certain number of reboots.
When to Use fsck in Linux
Use fsck to check the file system,
- If the system fails to boot.
- If files on the system become corrupt (often you may see input/output error).
- If attached drive (including flash drives/SD cards) is not working as expected.
Will fsck delete files
fsck does not touch the files. It is basically a front-end program that does all kinds of filesystem checks (ie. it checks the integrity of the journaling system). Besides checking inodes and blocks fsck also checks for incorrect
fsck Options and Arguments
|-a||Attempt to fix errors automatically. Use with caution.|
|-f||Force fsck to check a file system even if it thinks it’s clean.|
|-A||Check all disks listed in /etc/fstab.|
|-C||Show progress bar (ext2 and ext3 file systems only).|
|-M||Skip mounted file systems.|
|-N||Test run. Describes what would happen without executing the check itself.|
|-P||Use with the -A option to run multiple checks in parallel.|
|-R||If using the -A option, do not check the root filesystem.|
|-t||Check only a specific type of filesystem.|
|-T||Skip the title on startup.|
|-y||Interactive repair mode.|
How to Run fsck to Repair Linux File System Errors
In order to run fsck, you will need to ensure that the partition you are going to check is not mounted. The easiest and safest way to unmount your disk is to use Rescue Mode. You need to enter in to rescue mode via either single user mode or by uploading and booting rescue ISO on Cloud Server.
What is Rescue Mode
The rescue mode provides the ability to boot a small Red Hat Enterprise Linux environment entirely from CD-ROM, or some other boot method, instead of the system’s hard drive. As the name implies, rescue mode is provided to rescue you from something. By booting the system from an installation boot CD-ROM
If you are using fsck, the easiest and safest way to unmount your disk is to use Rescue Mode. Also the fsck should be run only as a user with root permissions.
How to view mounted Disks and their Location.
‘df’ command helps to view a list of currently mounted disks. If you are in Rescue Mode, the disk you want to check should not be listed in the output.
root@test:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 739M 1016K 738M 1% /media/ramdisk
/dev/sdh 160M 160M 0 100% /media/sdh
/dev/loop0 146M 146M 0 100% /media/compressed_root
unionfs 739M 1016K 738M 1% /
devtmpfs 10M 0 10M 0% /dev
Run fdisk to view disk locations:
Then copy the location of the target disk to use with the fsck command.
How to unmount manually the partition
Use the command umount to unmount the disk location copied in the last step. For example take it as /dev/sda
If the disk is declared in /etc/fstab, change the mount point to none there as well.
How to Check for Errors on a Disk
Run fsck on the target disk, using the desired options. For example, check all file systems (-A) on /dev/sda:
fsck -A /dev/sda
After running fsck, it will return an exit code. The description of the codes are as follows:
|1||Filesystem errors corrected|
|2||System should be rebooted|
|4||Filesystem errors left uncorrected|
|16||Usage or syntax error|
|32||Checking cancelled by user request|
Repair Linux Filesystem Errors
Sometimes more than one error can be found on a filesystem. In such cases run fsck to automatically attempt to correct the errors. This can be done with:
fsck -y /dev/sda
To run the same on all filesystems (without root):
fsck -AR -y
Performing a File System Check
To run fsck by entering the following command, replacing /dev/sda with the location of the disk you want to check and repair:
e2fsck -f /dev/sda
If no problems are detected, fsck will display the tests it performed
e2fsck -f /dev/sda
e2fsck 1.42.13 (13-Sept-2019)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda: 109771/1568000 files (0.5% non-contiguous), 675014/6422528 blocks
If fsck determines that there is a problem with the filesystem, it will prompt you to fix problems as they are found during each test:
root@ttyS0:~# e2fsck -f /dev/sda
e2fsck 1.42.13 (13-Sept-2019)
ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
e2fsck: Group descriptors look bad… trying backup blocks…
e2fsck: Bad magic number in super-block while using the backup blockse2fsck: gok
Superblock has an invalid journal (inode 8).
Once the filesystem check completes, any problems detected should be fixed.
At last, to exit from rescue mode. Try reboot your server, If fsck fixed the issues, the server should boot normally.
What Is a bad sector ?
Bad sectors are basically clusters of data on a hard disk which are un readable. Bad sectors can cause certain damage to your hard disks. Bad sectors are common and mostly repairable.
How are HDD bad sectors created?
It could because of a number of reasons like- improper shutdowns, hard disk defects, other hardware defects , malware etc.
Can a Hard Bad sector can be fixed ?
Hard bad sectors refers to a physical damage of the HDD. Hard bad sectors cannot be repaired but are preventable.
What are the disadvantages of using Fsck ?
Fsck disk repairing is a time-consuming task as sometimes it takes multiple scans and especially slow in case of large disk sizes. Also requires prior knowledge and a general understanding of the file systems.
How to fix Bad sectors on windows ?
Bad sector issues can be fixed in windows using a tool called Chkdsk .