dmesg | grep -i error
journalctl -xb | grep -i filesystem
mount | grep "on /"
# 首先卸载文件系统
umount /dev/sdXN
# 运行文件系统检查
fsck -y /dev/sdXN
# 常用选项:
# -y: 自动回答"yes"到所有问题
# -f: 强制检查即使文件系统看起来干净
# -v: 详细输出
single
或init=/bin/bash
fsck -y /dev/sdXN
# 查找备份超级块位置
mkfs.ext4 -n /dev/sdXN
# 使用备份超级块修复
fsck -b 32768 /dev/sdXN # 32768替换为实际的备份块号
xfs_repair /dev/sdXN
# 如果xfs_repair失败,尝试:
xfs_repair -L /dev/sdXN # 强制清空日志(会丢失未提交的更改)
定期检查:设置定期文件系统检查
tune2fs -c 30 /dev/sdXN # 每30次挂载后检查ext文件系统
使用日志文件系统:如ext4、XFS、Btrfs等
避免非正常关机:使用UPS保护电源
备份重要数据:定期备份关键数据
监控SMART状态:检查磁盘健康状况
smartctl -a /dev/sdX
# extundelete工具(ext文件系统)
extundelete /dev/sdXN --restore-all
# testdisk工具(多种文件系统)
testdisk
debugfs /dev/sdXN
> list_deleted_inodes
> stat <inode_number>
fsck -y -D /dev/sdXN # 重建目录索引(ext文件系统)
通过以上方法,大多数文件系统损坏问题都能得到解决。关键是要及时发现问题并采取正确的修复措施。