Software & AppsOperating SystemLinux

Why e2fsck is Aborting and How to Fix It

Ubuntu 18

In this article, we will delve into the reasons why e2fsck may abort during a filesystem check and how to resolve this issue.

Quick Answer

When e2fsck aborts during a filesystem check, it is typically because the filesystem is mounted. To fix this issue, you need to unmount the filesystem before running e2fsck. If you are trying to run e2fsck on the root filesystem, you will need to boot into a live DVD/USB or force a filesystem check on the next system boot. Alternatively, you can use the resize2fs command to refresh the filesystem and achieve similar results as e2fsck.

Understanding e2fsck

e2fsck is a Linux utility that checks ext2, ext3, and ext4 filesystems for consistency. It is often used when a system doesn’t boot properly, or when a disk drive behaves erratically. However, sometimes when you try to run this command, you may encounter an error message stating “e2fsck: Cannot continue, aborting.”

Why e2fsck Aborts

The primary reason for e2fsck aborting is that it’s being run on a mounted filesystem. The e2fsck command is designed to check and repair filesystem errors, but it cannot perform these tasks on a volume that is currently mounted. This is because filesystem checks can potentially modify the filesystem, leading to data corruption if the filesystem is in use.

How to Fix It

Unmounting the Filesystem

The first step to resolve this issue is to unmount the filesystem. This can be achieved using the umount command followed by the device path. For instance:

umount /dev/sda1

In this command, umount is the command to unmount a filesystem, and /dev/sda1 is the device path. Replace /dev/sda1 with the path of your device.

After unmounting the filesystem, you can run the e2fsck command.

Running e2fsck on Root Filesystem

If you’re trying to run e2fsck on the root filesystem, you’ll need to boot into a live DVD/USB of your Linux distribution and run the e2fsck command from there. This is because the root filesystem is always mounted when the system is running.

Alternatively, you can force a filesystem check on the next system boot by creating a file called /forcefsck and then rebooting the machine. Here’s how you can do it:

touch /forcefsck
reboot

In this command, touch is used to create a new file, and reboot is used to restart the system.

Using resize2fs Command

Another solution is to use the resize2fs command. Although resize2fs is primarily used for resizing partitions, it can also refresh the filesystem and achieve similar results as e2fsck. Here’s how you can use resize2fs:

resize2fs /dev/sda1

In this command, resize2fs is the command to resize an ext2, ext3, or ext4 filesystem, and /dev/sda1 is the device path. Replace /dev/sda1 with the path of your device.

Conclusion

The e2fsck aborting issue is primarily due to the filesystem being mounted. By unmounting the filesystem or using alternative methods like booting from a live DVD/USB or using the resize2fs command, you can successfully run e2fsck and check your filesystem for errors.

Remember, always back up your data before running filesystem checks or making changes to your filesystem to prevent any data loss.

Can I run `e2fsck` on a mounted filesystem?

No, it is not recommended to run e2fsck on a mounted filesystem. You need to unmount the filesystem before running the command to avoid potential data corruption.

How can I unmount a filesystem?

You can unmount a filesystem using the umount command followed by the device path. For example, umount /dev/sda1. Replace /dev/sda1 with the path of your device.

What should I do if I want to run `e2fsck` on the root filesystem?

If you want to run e2fsck on the root filesystem, you’ll need to boot into a live DVD/USB of your Linux distribution and run the command from there. The root filesystem is always mounted when the system is running.

Is there another way to force a filesystem check on the next system boot?

Yes, you can force a filesystem check on the next system boot by creating a file called /forcefsck and then rebooting the machine. Use the command touch /forcefsck to create the file and then reboot to restart the system.

Can I use the `resize2fs` command instead of `e2fsck`?

While resize2fs is primarily used for resizing partitions, it can also refresh the filesystem and achieve similar results as e2fsck. You can use the resize2fs command followed by the device path to achieve this. For example, resize2fs /dev/sda1. Replace /dev/sda1 with the path of your device.

Leave a Comment

Your email address will not be published. Required fields are marked *