22185

111 分钟

#Bash 的 e2fsck 命令

e2fsck [OPTION]... 

功能

检查并修复 EXT 文件系统。

类型

可执行文件(/usr/sbin/e2fsck),属于 e2fsprogs

参数

  • OPTIONS 选项:
    • -a - 此选项与 -p 选项功能相同。它仅为向后兼容而提供;建议尽可能使用 -p 选项
    • -b superblock - 不使用常规超级块,而是使用由 superblock 指定的备用超级块
    • -B blocksize - 查找超级块时,仅搜索大小为 blocksize 的块
    • -c - 使用 badblocks(8) 程序对设备进行只读扫描
    • -C fd - 将完成信息写入指定的文件描述符 fd
    • -d - 打印调试信息
    • -D - 优化文件系统中的目录
    • -E extended_options - 扩展选项;可用使用逗号分隔多个扩展选项
      • ea_ver=extended_attribute_version - 扩展版本; 1 或 2
      • journal_only - 仅在必要时重放日志,不要进行任何进一步的检查或修复
      • fragcheck - 在第一遍扫描期间,打印一份详细报告,列出文件系统中所有文件的不连续块
      • discard - 在完成文件系统完整检查后,尝试丢弃空闲块和未使用的 inode 块
      • nodiscard - 不要尝试丢弃空闲块和未使用的 inode 块
      • no_optimize_extents - 不要通过消除不必要的宽度或深度来优化范围树
      • optimize_extents - 建议通过消除不必要的宽度或深度来优化扩展树
      • inode_count_fullmap - 在检查包含大量硬链接文件的文件系统时,需要在内存和速度之间进行权衡
      • no_inode_count_fullmap - 禁用 inode_count_fullmap 优化
      • readahead_kb - 使用指定大小(KiB)的内存预取元数据
      • bmap2extent - 将块映射文件转换为区段映射文件
      • fixes_onlypatible - 仅修复损坏的元数据;不要优化 htree 目录或压缩范围树
      • check_encoding - 强制验证区分大小写的目录中编码后的文件名
      • unshare_blocks - 取消所有共享块的共享并取消设置只读功能位
    • -f - 即使文件系统看起来干净,也要强制检查
    • -F - 开始前,先清除文件系统设备的缓冲区缓存
    • -j external-journal - 设置此文件系统的外部日志文件
    • -k - 与 -c 选项结合使用时,坏块列表中现有的坏块将被保留
    • -l filename - 将 filename 文件中列出的块号添加到坏块列表中
    • -L filename - 将坏块列表设置为 filename 文件指定的块列表
    • -n - 以只读方式打开文件系统,并拒绝所有询问
    • -p - 自动修复(清理)文件系统;不进行询问
    • -r - 此选项没有任何实际作用;它仅用于向后兼容
    • -t - 打印计时统计信息
    • -v - 打印详细信息
    • -V - 打印版本
    • -y - 同意所有询问
    • -z undo_file - 在覆盖文件系统块之前,请将该块的旧内容写入 undo_file 文件
  • DEVICE - 要检查的设备

返回值

  • 0 - 成功
  • 1 - 文件系统的错误已修复
  • 2 - 文件系统的错误已修复,系统将被重启
  • 4 - 文件系统错误未得到纠正
  • 8 - 操作错误
  • 16 - 用法或语法错误
  • 32 - 被用户取消
  • 128 - 动态库错误

#示例

$ sudo e2fsck /dev/sda
e2fsck 1.47.0 (5-Feb-2023)
/dev/sda: clean, 11/1921360 files, 164648/7684120 blocks

#相关命令

命令说明
fsck检查并修复 Linux 文件系统
mke2fs创建 ext 文件系统

#推荐阅读

#手册

更新: 2026/3/16

作者: PlanC

创建: 2026/3/16