恢复 ext4 文件名

恢复 ext4 文件名

我的 ext4 文件系统已损坏,上面有大约 7 TiB 的数据。使用 photorec,我能够恢复可用数据,但所有文件名都消失了。有没有可以让我恢复文件名的工具?恢复实际数据会是一个加分项,但并非绝对必要。

答案1

我使用(神奇的!)debugfs 工具不仅成功挽救了文件名,还(几乎)挽救了整个文件系统。它本质上是一个低级文件系统操作的交互式界面。它不会“打开”损坏的超级块的文件系统,但有一个神奇的“灾难性”模式(-c 标志),可以跳过它并直接检查内容。

$ debugfs-c-b 4096-s 32768/dev/vg0/data_lv_snapshot

(以灾难模式打开,块大小为 4096,使用 32768 处的备用超级块)。

之后,“ls”显示了我的目录内容。神奇的“rdump”命令让我通过递归转储子树到已知良好的文件系统来恢复几乎所有文件。它甚至有一个“-f”标志来执行脚本,因此我可以在几天内自动将不同的子树转储到不同的磁盘上。

答案2

您是否使用了照片管理器(例如 Picasa/F-Spot/Shotwell)?也许他们在文件本身中存储了一些信息。也许您可以使用该工具并导入文件来恢复这些信息,或者找出存储在那里的数据。

或者也许您有一个该应用程序的数据库,例如Thumbs.db或包含文件名的东西。

或者如果文件是 JPEG,则EXIF 标头中可能有一些信息。有几种工具可以提取这些信息,例如libjpeg-tools,,和。exifexifprobeexiftags

答案3

从我的相机中随机挑选一张照片,文件名为“100CANON/IMG_0015.JPG”,我看到 EXIF 数据中有一个名为“文件编号”的字段,上面写着“100-0015”。因此,如果我丢失了这组照片,并使用 photorec 只恢复文件数据而不恢复文件名,我可以从 EXIF 数据的这个字段中恢复文件名。不同的相机品牌和型号可能会或可能不会保存足够的数据来恢复文件名。

相关内容