How to Check and Repair EXT4 Filesystem in Linux
The fsck (stands for File System Consistency Check) is used to check and repair one or more Linux filesystems.
This check will run automatically at boot time when a filesystem inconsistencies detected. Also, can be run manually as needed.
You can use the fsck command to repair corrupted file systems when the system fails to boot, or a partition can’t be mounted, or if it’s become read-only.
In this article, we’ll see how to use the ‘fsck’ or ‘e2fsck’ command in Linux to repair a corrupted file system.
Note:
- Execute the fsck on an unmounted file systems to avoid any data corruption in the file system.
- For larger file systems, fsck may take a long time to run depending on system speed and disk sizes.
When the file system check is complete, fsck returns one of the following exit code:
| Exit Code | Description |
|---|---|
| 0 | No errors |
| 1 | Filesystem errors corrected |
| 2 | System should be rebooted |
| 4 | Filesystem errors left uncorrected |
| 8 | Operational error |
| 16 | Usage or syntax error |
| 32 | Checking canceled by user request |
| 128 | Shared-library error |
Common Syntax:
fsck [option] [device or partition or mount point]
Corrupting EXT4 File System
We are going to intentionally corrupt the EXT4 file system by executing the below command. It trash’s randomly selected file system metadata blocks.
Make a Note: Please don’t test this on Production server, as this may damage your data badly.
sudo umount /data
Corrupting the ext4 file system.
sudo dd if=/dev/zero of=/dev/sdb1 bs=10000 skip=0 count=1 1+0 records in
1+0 records out
10000 bytes (10 kB, 9.8 KiB) copied, 0.00394663 s, 2.5 MB/s
When you try to load the file system, you will see the following error message because it was corrupted.
sudo mount /data mount: /data: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.

Repair Corrupted EXT4 & EXT3 File System
You can repair a non-root corrupted ext3 or ext4 file system on a running Linux system. fsck works as a wrapper for the fsck.ext3 and fsck.ext4 commands.
Make a note: If you are not able to unmount some of the Non-root volume due to an issue, boot the system into single user mode or rescue mode to repair it.
Step-1: Unmount the device that you want to run fsck.
sudo umount /dev/sdb1
Step-2: Run fsck to repair the file system:
sudo fsck.ext4 -p /dev/sdb1
-p: Automatically repair any issues that can be safely fixed without user intervention.
If the above option doesn’t resolve the issue, run the fsck command in the below format.
sudo fsck.ext4 -fvy /dev/sdb1 e2fsck 1.45.6 (20-Mar-2020)
ext2fs_open2: Bad magic number in super-block
fsck.ext4: Superblock invalid, trying backup blocks...
Resize inode not valid. Recreate? yes 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
Block bitmap differences: -65536 -65538 -(65541--65542) -(65546--65547) -(65549--65550) -(65555--65557)
.
.
Fix? yes Free inodes count wrong for group #0 (8181, counted=8165).
Fix? yes Free inodes count wrong (327669, counted=327653).
Fix? yes Padding at end of inode bitmap is not set. Fix? yes /dev/sdb1: ***** FILE SYSTEM WAS MODIFIED ***** 27 inodes used (0.01%, out of 327680)
0 non-contiguous files (0.0%)
0 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 19
43294 blocks used (3.30%, out of 1310464)
0 bad blocks
0 large files 16 regular files
2 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
------------
18 files
Step-3: Once the file system is repaired, mount the partition.
sudo mount /dev/sdb1
2) Repairing LVM Volume with fsck
fsck can be run on LVM logical volumes just like filesystems on standard partitions. Follow the below procedure for repairing a LVM partition:
You can also restore/recover the lvm volume instead of repairing it as needed.
Step-1: Make sure the specific LVM volume is in active state to run fsck. To check the status of LVM, run:
sudo lvscan inactive '/dev/myvg/vol01' [1.00 GiB] inherit
ACTIVE '/dev/rhel/swap' [2.07 GiB] inherit
ACTIVE '/dev/rhel/root' [<26.93 GiB] inherit
If it’s 'inactive', activate it by running the following command.
sudo lvchange -ay /dev/myvg/vol01 -v Activating logical volume myvg/vol01.
activation/volume_list configuration setting not defined: Checking only host tags for myvg/vol01.
Creating myvg-vol01
Loading table for myvg-vol01 (253:2).
Resuming myvg-vol01 (253:2).
Step-2: Unmount the device or filesystem that you want to run fsck.
sudo umount /dev/myvg/vol01
Step-3: Run fsck to repair the file system. You must enter the path of the LVM volume to run fsck and not an actual physical partition.
sudo fsck.ext4 -fvy /dev/myvg/vol01 e2fsck 1.45.6 (20-Mar-2020)
/dev/myvg/vol01: clean, 24/65536 files, 14094/262144 blocks
- -f : Force checking even if the file system seems clean.
- -y : Assume an answer of `yes’ to all questions; allows e2fsck to be used non-interactively.
- -v : Verbose mode
Step-4: Once the file system is repaired, mount the partition.
sudo mount /apps
Conclusion
In this tutorial, we’ve shown you how to repair a corrupted EXT4 filesystems on Linux. You can use the same procedure for EXT3 and other filesystems.
Also, shown you how to run e2fsck on the LVM volumes.
If you have any questions or feedback, feel free to comment below.
转载自:
https://www.2daygeek.com/fsck-repair-corrupted-ext4-file-system-linux/
How to Check and Repair EXT4 Filesystem in Linux的更多相关文章
- linux操作系统故障处理-ext4文件系统超级块损坏修复
linux操作系统故障处理-ext4文件系统超级块损坏修复 背景 前天外面出差大数据测试环境平台有7台服务器挂了,同事重启好了五台服务器,但是还有两台服务器启动不起来,第二天回来后我和同事再次去机 ...
- Linux filesystem detection
16 down vote accepted The reason you can't find it is because, for the most part, it's not in the ke ...
- 恢复ext4文件系统superblock
恢复ext4文件系统superblock 1. Create ext4 文件系统. [root@localhost ~]# mkfs.ext4 /dev/vdb1 [root@localhost ~] ...
- [ext4]010 磁盘布局 - 如何查找inode的磁盘位置
在linux系统中,任何一个文件,都有一个inode与其对应,也就是说,在一个文件系统中,一个文件都有唯一的ino来标示他,那么在ext4系统中,ino是如何确定的哪? 当我们新创建的文件或目录时,会 ...
- dumpe2fs 命令的使用,转储 ext2/ext3/ext4 文件系统信息
使用man 命令可以查看 dumpe2fs 命令具体的使用的方法: NAME dumpe2fs - dump ext2/ext3/ext4 filesystem information SYNOPSI ...
- linux 文件系统 xfs、ext4、ext3 的区别
前言 centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3 ext3介绍 ext3和ext4的最大区别在于,ext3在fsck时需要耗费大量时间(文件越多,时 ...
- 一个版本烧录过程中记录:fdisk、mkfs.ext4、make_ext4fs、img2simg、simg2img
关键词:dd.fdisk.mkfs.ext4.make_ext4fs.img2simg.simg2img等等. 一个典型的嵌入式系统是由uboot+kernel+rootfs组成的,其中uboot和k ...
- XFS VS EXT4
ext4是第四代扩展文件系统(英语:Fourth EXtended filesystem,缩写为ext4)是linux系统下的日志文件系统,是ext3文件系统的后继版本ext4的文件系统容量达到1EB ...
- fdisk、mkfs.ext4、make_ext4fs、img2simg、simg2img
一个典型的嵌入式系统是由uboot+kernel+rootfs组成的,其中uboot和kernel都是二进制,rootfs存在文件系统. 二进制在烧录的时候比较简单,将二进制数据写入存储设备固定地址: ...
- Linux 文件恢复(XFS & EXT4)
在Linux中,删除rm命令使用需谨慎,有时候可能由于误操作,导致重要文件删除了,这时不要太紧张,操作得当的话,还是可以恢复的. EXT 类型文件恢复 删除一个文件,实际上并不清除inode节点和bl ...
随机推荐
- vue3 门户网站搭建6-wangeditor
门户网站的新闻.公告等文章,内容可配置,故引入 wagneditor 1.安装: npm i wangeditor 2.方便调用,抽成组件: <template> <div ref= ...
- C# 两个list集合合并成一个,及升序降序
C# List集合合并 在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.这里介绍一些常用的集合跟数组的操作函数. 首先举例2个集合A,B. L ...
- Vue项目在IE报错SCRIPT1003: 缺少' : ',导致页面空白的解决方案
一.问题 用IE浏览器访问系统,页面显示空白,控制台报错 SCRIPT1003: 缺少' : ' 二.查看报错 2.1.点击控制台报错,进入app.js,咋一看代码看不懂,不要慌,一直往 ...
- 日常开发记录-js的Date对象中的toLocaleDateString()
就是把Date对象的日期部分转换为字符串,并返回结果. 代码示例: console.log(new Date()) // 2023-01-10T05:42:41.926Z console.log(ne ...
- 统信系统部署es
rpm -ivh jdk-17.0.4.1_linux-x64_bin.rpm groupadd es && useradd -d /home/es -g es estar -xzvf ...
- Python——01.环境及安装
Python介绍 -- Python是解释型,面向对象的语言,程序结构简洁,清晰 -- Python解释器分类: CPython(官方解释器):用C语言编写的Python解释器 PyPy:用Pytho ...
- Linux下hadoop和spark的基础环境配置准备
我使用了4台虚拟机centos7来搭建环境, 2个主结点(一般是一个,但为了体验zookeeper,万一其中一个master挂掉呢,另外一个会自动启动接管), 2个从结点 注意:下面的配置主要以主节点 ...
- homebrew 安装node 切换node版本
注意:如果之前使用brew install node安装过node,需要先执行brew unlink node来'解绑'node 1.查找可用的node版本 brew search node 2.安装 ...
- ISTQB软件测试初级认证模拟题
参考地址 http://www.docin.com/p-297467364.html 第一章:软件测试基础(18%) 1.学习目标 1.1 为什么需要软件测试? (K2) ① 通过具体的例子,来描述软 ...
- redis 和docker等名词了解
redis redis产生 redis是MySQL数据库经常直接面对大量的读写访问,面对比较复杂的数据据操作,会导致数据库I/O反映缓慢或者奔溃: 有人研究学习CPU从内寸直接读取数据,把MYSQL经 ...