tune2fs -c 与 -c 配合可精准控制重启时是否触发 fsck:-c 设定最大挂载次数阈值,-c 手动调整当前挂载计数,系统启动时若 mount count ≥ maximum mount count 则自动执行 fsck;需先设 -c 再用 -c,且 -c 值不可超过 -c 值。

直接用 tune2fs -c 设置最大挂载次数阈值,再配合 -C 手动调整当前计数,就能精准控制下一次启动时是否触发 fsck。关键不是“-C 单独起作用”,而是它和 -c 配合使用才有效。
先确认并设置最大挂载次数(-c)
这个值决定了“挂多少次就检查”。默认可能是 -1(禁用),也可能是 20 或 30。必须先设好上限,-C 才有意义。
- 查看当前设置:
tune2fs -l /dev/sdb1 | grep -i "mount count" - 设为每 25 次挂载后检查:
tune2fs -c 25 /dev/sdb1 - 想彻底禁用该机制(常见于 ext4 日志文件系统):
tune2fs -c 0 /dev/sdb1或tune2fs -c -1 /dev/sdb1
再用 -C 调整当前挂载计数
-C 不是触发检查的开关,它只是把“已经挂载了多少次”这个数字手动改掉。系统下次启动时,会比对 Mount count ≥ Maximum mount count,满足就自动 fsck。
- 假设你刚设了
-c 25,而当前 Mount count 是 5,你想让下次重启就检查:运行tune2fs -C 25 /dev/sdb1 - 更稳妥的做法是设成 24:
tune2fs -C 24 /dev/sdb1,这样只要再正常挂载一次(比如重启后自动挂载),计数变 25,立刻触发 - 注意:
-C后面的数字不能超过-c设定的上限,否则会被忽略或报错
验证和注意事项
执行完 -c 和 -C 后,务必重新查一遍,确认两个值都已生效:
tune2fs -l /dev/sdb1 | grep -E "(Mount count|Maximum mount count)"- 输出应类似:
Mount count: 24
Maximum mount count: 25 - 无需卸载设备即可操作,但建议在低负载时运行
- 频繁设置极小的
-c值(如 2 或 3)会导致每次重启都 fsck,拖慢启动速度
这套组合操作不依赖时间,只看挂载动作本身,适合需要确定性自检时机的维护场景。











