ext4magic
是一个用于 恢复 ext3/ext4 文件系统数据 的 Linux 工具,尤其擅长从文件系统日志(Journal)中恢复被删除或损坏的文件。
主要功能
恢复删除的文件
可恢复 rm 命令删除的文件,依赖文件系统日志的完整性。
修复文件系统损坏
当文件系统因意外崩溃或断电损坏时,尝试恢复元数据和文件结构。
按时间点恢复
支持基于时间范围恢复数据(如指定删除前的某个时间点)。
目录恢复
修复损坏的目录结构,或恢复整个目录及其内容。
利用文件系统日志(Journal)
ext3/ext4 文件系统通过日志记录元数据(如 inode、目录结构)的变更。ext4magic 解析这些日志,回溯到文件被删除或损坏前的状态。
扫描空闲块
若日志不完整,会扫描磁盘空闲块,尝试找回文件内容(但成功率较低)。
基本使用示例
- 恢复整个文件系统
ext4magic /dev/sda1 -d /恢复目录 -r
- 恢复特定时间删除的文件
ext4magic /dev/sda1 -t "2023-10-01 10:00:00" -a "2023-10-01 12:00:00" -d /恢复目录
- 列出可恢复文件(不实际恢复)
ext4magic /dev/sda1 -L
注意事项
- 立即停止写入
数据丢失后,立即卸载分区或设为只读,避免新数据覆盖旧数据。 - 日志覆盖风险
文件系统日志会循环使用,长时间未恢复可能导致日志被覆盖。 - 并非万能
成功率依赖日志完整性,部分文件可能无法完全恢复。 - 备份优先
重要数据务必定期备份,工具仅作为最后手段。
替代工具
extundelete
:类似功能,但更轻量。testdisk
:支持多种文件系统,可恢复分区表。photorec
:基于文件内容签名恢复,不依赖文件系统结构。
建议操作前阅读 man ext4magic
或查阅 官方文档。