xfs_repair -n 是官方推荐的安全诊断方式,仅只读扫描元数据、不修改磁盘数据,必须在卸载状态下运行;无输出或仅显示“phase n complete”表示正常,出现error/warning则需进一步处理。

xfs_repair -n 是 XFS 官方推荐的安全诊断方式,它不会修改磁盘上的任何数据,仅做只读扫描并报告潜在问题。
运行后,工具会遍历元数据(超级块、AGF、AGI、inode、目录结构等),检查一致性,但不写入、不清空日志、不重建索引、不移动块。输出中若出现“ERROR”、“WARNING”或“would repair”类提示,说明文件系统存在可修复的损坏;若无输出或仅显示“phase N complete”,通常表示结构正常。
使用前必须确认已卸载
-
xfs_repair -n仍要求目标分区处于未挂载状态
即使只是只读扫描,也不能在已挂载的 XFS 文件系统上运行,否则会报错退出(如cannot open /dev/sdXY: Device or resource busy)。
✅ 正确做法:sudo umount /dev/sdXY sudo xfs_repair -n /dev/sdXY
常见输出含义与应对
- 无输出或仅显示 phase 1–7 完成 → 文件系统元数据基本一致,无需修复
-
出现
SB checksum mismatch或AGF bad magic number→ 超级块或分配组结构异常,需进一步用-L或指定备份超级块尝试修复 -
提示
log is corrupted或journal has been aborted→ 日志损坏,可能需要-L清空(注意:会丢失未提交事务) -
报
cannot repair或too many errors→ 损坏严重,建议先用xfs_metadump备份元数据,再评估是否值得继续修复
补充建议
- 若不确定设备路径,先用
lsblk -f或df -hT确认目标分区及其文件系统类型为xfs - 扫描耗时取决于文件系统大小和磁盘性能,但比实际修复快得多,适合日常巡检
- 对根分区等无法直接卸载的场景,必须从 Live USB 启动后再执行
不复杂但容易忽略。











