恢复丢失目录的正确/替代方法(ext4)

恢复丢失目录的正确/替代方法(ext4)

磁盘/文件系统结构:

希捷 1TB > LUKS > LVM2、Ext4

设想:

在运行使用 youtube-dl 下载完整频道的脚本时,磁盘已满,并且基本目录(“/Downloads”)已被清空,其文件/目录权限从“drwxr-xr-x”设置为“-rw-rw-r--”- 我真的不明白为什么。在我完成这个过程之前,我又添加了几个新文件,然后才意识到出了问题。

我尝试过的解决方案:

我做的第一件事是制作磁盘映像,然后对其进行处理TestDisk(深度搜索)没有成功,因为它无法识别该目录,我猜它只是将其视为一个文件,而不是一个目录,因为我根本无法像打开任何其他目录那样打开它。

后来,我用了 Photorec,找到了将近 500 个目录,每个目录大约有 500 个文件,我猜这些文件都是丢失的。事实上,我在它们之中找到了一些我搜索过的重要 PDF 文件,但由于文件名、结构和属性都丢失了,我认为不可能以可靠的方式找到并恢复 95% 的子目录和文件。

在此刻:

磁盘现在显示有 >300 GB 的可用内存,因此我认为没有其他简单的解决方案,例如将目录权限改回“drwxr-xr-x”,因为这些文件和子目录(准确地说是内存空间)已被释放,但是,是否有其他替代或可能的解决方案来尝试恢复/还原大多数文件及其结构

答案1

文章 使用 ext4 文件系统恢复 Ubuntu 中已删除的文件 描述了一个用户如何恢复他删除的文件:

  • 打开终端并复制文件系统日志:

      sudo debugfs -R "dump <8> /opt/sda6.journal" /dev/sda6
    

    /dev/sda6代表您的设备。请勿将副本存储在 中/tmp

  • 安装 ext4magic:

      sudo apt-get install ext4magic
    
  • 通过 Grub 启动 > 高级选项 > 恢复模式 > 启用网络进入 root shell。这可能需要一些时间。

  • 当菜单再次出现时,顶部应该会显示类似“读/写模式”的内容。选择“root shell”选项。

  • 在 root shell 中输入umount /home

  • 要列出所有文件,请使用:

      ext4magic /dev/sda6 -a $(date -d "-6hours" +%s) -f user/folder -j /opt/sda6.journal -l
    
  • 要恢复文件:

      ext4magic /dev/sda6 -a 1332606716 -f user/folder -j /tmp/sda6.journal -r -d /opt/RECOVER
    

    在哪里:

    • -r将恢复在上一个输出中标记为 100% 的文件
    • -d是存储恢复的文件的目录。
  • 退出 shell 并选择菜单中的“恢复”选项。删除不需要的文件。

相关内容