文件系统扫描工具 fsck
更新时间:2023-11-06 09:26:47
文件系统扫描工具有 fsck、fsck.ext2、fsck.ext3、fsck.ext4、fsck.msdos、fsck.cramfs、fsck.ext4dev、fsck.vfat。需要根据不同的文件系统来调用不同的扫描工具,比如 ext3 的文件系统使用 fsck.ext3,ext4 文件系统使用 fsck.ext4 等。
注意:fsck 扫描文件系统时一定要在单用户模式、修复模式或把设备 umount 后进行。建议在单用户模式下运行。如果扫描正常运行中的系统,会造成系统文件损坏。
下面简单介绍下:fsck.ext4
基本信息
语法
fsck.ext4[必要参数][选择参数][设备代号]
执行权限
root
功能
针对 ext4 型文件系统进行检测修复
必要参数
-
-a 非互交模式,自动修复
-
-c 检查是否存在有损坏的区块。
-
-C<反叙述器> fsck.ext3 命令会把全部的执行过程,都交由其逆向叙述,便于监控程序
-
-d 详细显示命令执行过程
-
-f 强制进行检查
-
-F 检查文件系统之前,先清理该保存设备块区内的数据
-
-l<损坏区块文件> 把文件中所列出的损坏区块,加入标记
-
-L<损坏区块文件> 清除所有损坏标志,重新标记
-
-n 非交互模式,把欲检查的文件系统设成只读
-
-P<数字> 设置 fsck.ext2 命令所能处理的 inode 大小为多少
-
-r 交互模式
-
-R 忽略目录
-
-s 顺序检查
-
-S 效果和指定 “-s” 参数类似
-
-t 显示 fsck.ext2 命令的时序信息。
-
-v 显示详细的处理过程
-
-y 关闭互动模式
选择参数
-
-b<分区第一个磁区地址> 指定分区的第一个磁区的起始地址/Super Block
-
-B<区块大小> 设置该分区每个区块的大小
-
-I 设置欲检查的文件系统,其 inode 缓冲区的区块数目
-
-V 显示版本信息
操作步骤
通过 lsblk 指令确认文件系统
# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
└─vda1 xfs 9cff3d69-3769-4ad9-8460-9c54050583f9 /
vdb swap YUNIFYSWAP b800ddd7-2e70-4b4a-b2e9-5c71ed6bff1f [SWAP]
vdc
└─vdc1 ext4 0c111bfb-e99f-45fd-a400-5b948b5efd25 /mnt/vdc
检查 ext4 类型的分区 /dev/vdc1
# umount /dev/vdc1
# fsck.ext4 -ft /dev/vdc1
e2fsck 1.42.9 (28-Dec-2013)
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/vdc1: 11/655360 files (0.0% non-contiguous), 83137/2621184 blocks
Memory used: 376k/0k (65k/312k), time: 0.23/ 0.02/ 0.00
I/O read: 6MB, write: 1MB, rate: 26.20MB/s
修复一般文件系统问题
-
备份数据
-
umount 卸载硬盘
-
fsck 修复硬盘
fsck.ext4 -y /dev/vdc1
-
mount 挂载硬盘,检查是否修复