Linux fsck.ext2命令详解
1. 语法
fsck.ext2 [-acdfFnprstvVy] [-b <分区第一磁区地址>] [-B <区块大小>] [-C <反叛减器>] [-I <inode缓冲区块数>] [-l/L <损坏区块文件>] [-P <处理inode大小>] [分区设备或文件名]
2. 参数详解
-a 自动修复文件系统,不询问任何问题。
示例:
自动修复fsck.ext2 -a /dev/sda1/dev/sda1
上的文件系统。-b
<分区第一磁区地址>
指定分区的第一个磁区的起始地址,也就是Super Block。示例:
使用位于8193块的Super Block修复fsck.ext2 -b 8193 /dev/sda1/dev/sda1
。-B
<区块大小>
设置该分区区块的大小。示例:
将区块大小设置为4096字节来修复fsck.ext2 -B 4096 /dev/sda1/dev/sda1
。-c 检查指定的文件系统中,是否存在有损坏的区块。
示例:
检查fsck.ext2 -c /dev/sda1/dev/sda1
中的坏块。-C 反叛减器 显示进度。
示例:
显示修复fsck.ext2 -C /dev/sda1/dev/sda1
的进度。-d 详细显示指令执行过程,便于排错或分析程序执行的情形。
示例:
显示详细的调试信息。fsck.ext2 -d /dev/sda1-f 强制对指定的文件系统进行完整检查,判断文件系统在检查下没有问题。
示例:
强制完全检查fsck.ext2 -f /dev/sda1/dev/sda1
。-F 检查文件系统之前,先清理该保存设备中文件的数据。
示例:
检查前清理设备数据。fsck.ext2 -F /dev/sda1-I
<inode缓冲区块数>
设置检查时缓冲的inode区块数目。示例:
设置缓冲256个inode区块进行检查。fsck.ext2 -I 256 /dev/sda1-l
<损坏区块文件>
把区块文件中的坏区块,视为损坏区块并标示出来,避免应用程序使用该区块。示例:
使用fsck.ext2 -l badblocks.txt /dev/sda1badblocks.txt
中的坏块信息修复/dev/sda1
。-L
<损坏区块文件>
与-l
参数的效果相同,但会将原来的损坏区块标示区块信息覆盖。示例:
同样使用fsck.ext2 -L badblocks.txt /dev/sda1badblocks.txt
修复,但覆盖原标示信息。-n 把检查的文件系统设成只读,并关闭互动模式,否决所有询问的问题。
示例:
以只读方式检查fsck.ext2 -n /dev/sda1/dev/sda1
,并自动否决所有询问。-p 此参数的效果相当于指定
-a
参数相同。示例:
自动修复fsck.ext2 -p /dev/sda1/dev/sda1
。-P
<处理inode大小>
设置fsck.ext2指令所能处理的inode大小为多少。示例:
设置处理256字节大小的inode。fsck.ext2 -P 256 /dev/sda1-r 此参数将被忽略不予处理,仅负责解决兼容性的问题。
示例:
参数被忽略。fsck.ext2 -r /dev/sda1-s 检查文件系统时,交换每对字节的内容。
示例:
检查时交换字节。fsck.ext2 -s /dev/sda1-S 此参数的效果相当于指定
-s
参数相同,但不论该文件系统是否已是标准位顺序,一律交换每对字节的内容。示例:
强制交换字节。fsck.ext2 -S /dev/sda1-t 显示fsck.ext2指令的时序信息。
示例:
显示时序信息。fsck.ext2 -t /dev/sda1-v 详细显示指令执行过程。
示例:
详细显示执行过程。fsck.ext2 -v /dev/sda1-V 显示版本信息。
示例:
显示fsck.ext2的版本信息。fsck.ext2 -V-y 关闭互动模式,并同意所有询问的问题。
示例:
自动同意所有修复询问。fsck.ext2 -y /dev/sda1
3. 使用fdisk扩展磁盘100G的示例
将/dev/sda
磁盘扩容100G,并在此磁盘上使用fsck.ext2检查和修复文件系统。
查看当前磁盘分区情况
fdisk -lDisk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A1B2C3D4-E5F6-7890-1234-56789ABCDE
Device Start End Sectors Size Type
/dev/sda1 2048 419428351 419426304 200G Linux filesystem使用fdisk扩展磁盘
fdisk /dev/sda交互命令: 输入 d
删除分区。输入分区号 1
。输入 n
新建分区。输入 p
新建主分区。输入分区号 1
。按回车使用默认起始位置。 输入 +300G
分配300GB(原有200GB + 新增100GB)。输入 w
保存分区表并退出。重新读取分区表
partprobe /dev/sda扩展文件系统
resize2fs /dev/sda1resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/sda1 is mounted on /mnt; on-line resizing required
old_desc_blocks = 25, new_desc_blocks = 37
The filesystem on /dev/sda1 is now 78643200 (4k) blocks long.使用fsck.ext2检查并修复文件系统
fsck.ext2 -f -y /dev/sda1e2fsck 1.44.1 (24-Mar-2018)
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/sda1: 11/5242880 files (0.0% non-contiguous), 524288/20971520 blocks
非常感谢您读到这里!如果您觉得这篇文章对您有帮助,请不要忘记关注公众号。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。
点击页面右上角的“关注”按钮,不错过任何精彩内容!

扫码获取联系方式







