更新后,我不小心删除了包管理器缓存中的一些文件(因此我删除了所有已下载的包,不幸的是它们甚至没有安装)。
这是我所做的:
引导至与 Arch 系统位于同一 HDD 上的 Ubuntu 系统。
现在我启动到 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
因为它可能会发现一些它不知道路径的文件片段。