约 16296 字

约 81 分钟

#Bash 的 fsck 命令

fsck [OPTION]... [FILESYSTEM]...

功能

检查并修复 Linux 文件系统。

类型

可执行文件(/usr/sbin/fsck),属于 util-linux。

参数

  • OPTIONS 选项:
    • -l - 为整个磁盘设备创建独占的 flock(2) 锁定文件(/run/fsck/<diskname>.lock)
    • -r [fd] - 每次 fsck 完成后,报告某些统计信息,如果指定了文件描述符 fd,则将进度信息写入该文件
    • -s - 序列化 fsck 操作
    • -t fslist - 指定要检查的文件系统类型
    • -A - 遍历 /etc/fstab 文件,并尝试一次性检查所有文件系统
    • -C [fd] - 显示文件系统检查器的进度条,如果指定了文件描述符 fd,则将进度信息写入该文件
    • -M - 不要检查已挂载的文件系统
    • -N - 显示要执行的操作而不实际执行
    • -P - 当 -A 标志被设置时,根文件系统将与其他文件系统并行检查
    • -R - 当 -A 标志被设置时,跳过根文件系统
    • -T - 启动时不显示标题
    • -V - 生成详细输出
    • -?, --help - 显示帮助
    • --version - 显示版本
  • FILESYSTEM - 要检查的文件系统

返回值

  • 0 - 没有错误
  • 1 - 文件系统错误已修复
  • 2 - 系统需要重启
  • 4 - 文件系统错误未得到纠正
  • 8 - 操作错误
  • 16 - 用法或语法错误
  • 32 - 检查被用户请求取消
  • 128 - 共享库错误

#示例

$ sudo fsck /dev/sda1
fsck from util-linux 2.39.3
fsck.fat 4.2 (2021-01-31)
There is no label in boot sector, but there is volume label 'ESD-USB' stored in root directory
1) Copy volume label from root directory to boot sector
2) Remove volume label from root directory
[12?q]? 2

*** Filesystem was changed ***
The changes have not yet been written, you can still choose to leave the
filesystem unmodified:
1) Write changes
2) Leave filesystem unchanged
[12?q]? 1
/dev/sda1: 8052 files, 321598/1919936 clusters

#相关命令

命令说明
mkfs创建 Linux 文件系统
fsck.btrfs检查并修复 btrfs 文件系统
fsck.cramfs检查并修复 cramfs 文件系统
fsck.ext2检查并修复 ext2 文件系统
fsck.ext3检查并修复 ext3 文件系统
fsck.ext4检查并修复 ext4 文件系统
fsck.fat检查并修复 fat 文件系统
fsck.minix检查并修复 minix 文件系统
fsck.msdos检查并修复 msdos 文件系统
fsck.vfat检查并修复 vfat 文件系统
fsck.xfs检查并修复 xfs 文件系统

#推荐阅读

#手册

更新: 2026/3/14

作者: PlanC

创建: 2026/3/14