我正在使用最新的稳定版 PhotoRec 对旧硬盘进行一些文件恢复。在找到很多我想保留的文件后,我决定将其中一些文件(超过 700 个)放入 .tar.xz 存档中,以便更轻松地管理它们。我立即重新删除了这些文件,因为正常情况下,找到这些文件意味着它们是安全的。当我需要将它们复制到我的 USB 闪存驱动器以传输到我的正常系统时,报告了一个奇怪的错误:
Error splicing file: Input/output error
复制了 31.5 MB 的部分内容,而原始内容为 36.6 MB。我尝试使用手头的工具进行调查(驱动器安装了 Mageia 1 和 GNOME)。
尝试使用 File-Roller (v2.32.2) 打开任一版本的档案都会返回一个带有以下错误的消息框。
xz: (stdin): Unexpected end of input
/bin/gtar: Unexpected EOF in archive
/bin/gtar: Error is not recoverable: exiting now
- 除非我中途取消了档案的加载。然后它会显示一个大约 778 个文件的列表,好像没有任何问题。
File-Roller 是通过 Nautilus 的上下文菜单选项创建存档的程序。我用同样的方式创建的其他存档提取起来毫无问题。当时可能有大量的 I/O 操作(但不是在那个分区上)。
如果我尝试使用xz -d files1.tar.xz
(v5.0.2,libLZMA 5.0.2)来提取文件,它会工作一段时间并显示Read error: Input/output error
。
我得到的最佳结果是使用tar -xf files1.tar.xz
(v1.26),它顺利提取了 790 个文件,然后才返回此错误:
xz: (stdin): Read error: Input/output error
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
我把这些文件放在 .tar.bz2 存档中,因为我目前不确定 XZ 格式。现在我只是有一种挥之不去的感觉,那些未提取的文件是最重要的。但它们仍然不值得再次挖掘 850000 多个文件。