使用 extundelete 恢复文件

使用 extundelete 恢复文件

更新后,我不小心删除了包管理器缓存中的一些文件(因此我删除了所有已下载的包,不幸的是它们甚至没有安装)。

这是我所做的:

  1. 引导至与 Arch 系统位于同一 HDD 上的 Ubuntu 系统。

  2. 现在我启动到 Ubuntu,Arch 系统的根分区已卸载,因此 extundelete 给了我以下输出:

    $ sudo extundelete /dev/sda1 --restore-directory /var/cache/pacman/pkg/
    
    WARNING: Extended attributes are not restored.
    
    Loading filesystem metadata ... 232 groups loaded.
    
    Loading journal descriptors ... 30722 descriptors loaded.
    
    Searching for recoverable inodes in directory /var/cache/pacman/pkg/ ... 
    
    9385 recoverable inodes found.
    
    Looking through the directory structure for deleted files ... 
    
    9385 recoverable inodes still lost.
    
    No files were undeleted.
    

我能做些什么吗?或者我完全搞砸了?

答案1

来自 extundelete 的作者:

我猜想它没有找到将索引节点与文件名链接的方法,在这种情况下,该--restore-all方法是恢复文件的最佳方法。

https://sourceforge.net/p/extundelete/mailman/message/30159985/

因此,在您的情况下,您应该运行:

sudo extundelete /dev/sda1 --restore-all

尽管根据我的经验,输出具有欺骗性,因为仍然“丢失”的文件(索引节点)针对整个分区,而不仅仅是您指定的目录,这意味着它能够恢复的大部分内容已经被恢复。但尝试一下并没有什么坏处,--restore-all因为它可能会发现一些它不知道路径的文件片段。

相关内容