e2fsck 删除了许多 inode,从磁盘映像中恢复的数据太少。有更好的方法吗?

e2fsck 删除了许多 inode,从磁盘映像中恢复的数据太少。有更好的方法吗?

我想象了一个失败的SSD,我可以使用ddrescuedd(已经太久记不起来了)。对于生成的 .img,我烧录了一个无法识别为可安装的磁盘。

在磁盘上使用后e2fsck -fyvC 0,我可以随后安装它,恢复一些(但肯定不是全部)最初在 SSD 上的文件。

这是我进行数据检索的最佳选择,还是有更好的工具可以恢复更多数据?

e2fsck使用上述标志运行时,我收到有关孤立或删除的 inode 的各种警告,这些警告要么已修复,要么已删除。不幸的是,这些似乎与我最想从磁盘中寻找的数据相对应。

输出为 227,000 行,以下是一些重点内容:

ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
Superblock has an invalid journal (inode 8).
Clear? yes

*** journal has been deleted ***

Superblock has_journal flag is clear, but a journal is present.
Clear? yes

Truncating orphaned inode 6302578 (uid=1000, gid=1000, mode=0100664, size=3600)
Pass 1: Checking inodes, blocks, and sizes

[...]

Inode 1048618 was part of the orphaned inode list.  FIXED.
Inode 1048634 was part of the orphaned inode list.  FIXED.
Deleted inode 1048662 has zero dtime.  Fix? yes

[...]

Entry '..' in <6291748>/<9965526> (9965526) has deleted/unused inode 6291748.  Clear? yes

[...]

Unattached inode 9712327
Connect to /lost+found? yes

Inode 9712327 ref count is 2, should be 1.  Fix? yes

[...]

Free blocks count wrong for group #740 (32768, counted=3012).
Fix? yes

[...]

Directories count wrong for group #4593 (0, counted=114).
Fix? yes

[...]

Padding at end of inode bitmap is not set. Fix? yes

Recreate journal? yes

Creating journal (262144 blocks):  Done.

*** journal has been regenerated ***

/dev/sdc: ***** FILE SYSTEM WAS MODIFIED *****

     2205797 inodes used (4.52%, out of 48807936)
       20864 non-contiguous files (0.9%)
        1884 non-contiguous directories (0.1%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 2154021/1685/13
   128999150 blocks used (66.08%, out of 195210139)
           0 bad blocks
          18 large files

     1869601 regular files
      282774 directories
          10 character device files
           1 block device file
           5 fifos
  4294963048 links
       53513 symbolic links (50169 fast symbolic links)
          14 sockets
------------
     2164179 files

这里有更明智的数据恢复方法吗?预先感谢您的任何帮助。

答案1

我过去曾以这种方式恢复过文件。

使用ddrescue(FreeBSD 中调用的类似程序recoverdisk)制作磁盘映像。在尝试恢复之前执行此操作。如果fsck出现提示,只需说“不”并制作图像即可。

使用VM(VMWare或带有快照的东西)并将此映像作为HDD磁盘加载到VM中。这避免了修剪问题。

  • 快照,然后运行fsck并复制所有可以保存的文件。要求fsck删除无法修复的文件。
  • 恢复快照,然后fsck使用该e2undel工具尝试之前和之后。
  • 再次恢复并尝试ext4magic -M选项。
  • 最后恢复并less -f /dev/sdb找到已知的文本字符串。注意:随着时间的推移,您可能会发现这些内容有多个修订版。这将全部是手动的。

相关内容