我如何恢复“被替换的”文件?

我如何恢复“被替换的”文件?

我只是以完全相反的方向复制和替换了文件;从 USB 闪存驱动器到计算机,而不是从计算机到闪存驱动器。有什么方法可以恢复被替换的文件吗?

答案1

如果您有事故发生前的还原点(影子),您可以使用 Shadow Explorer 程序恢复文件。下面是我制作的一个小教程,向您展示它的工作原理:

http://www.sevenforums.com/tutorials/132087-shadowexplorer-recover-lost-files-folders.html#post1137368

如果您想快速检查是否有还原点,请在提升的命令提示符中运行此命令:

vssadmin 列出阴影

答案2

很可能您的文件已经丢失了。

但并非一切都丢失了(从字面上理解):取决于你的存储介质有多拥挤,以及你的文件系统发生了多少其他更改,数据可能仍然存在,全部或部分。

覆盖文件时,其工作方式是,在写入数据后,文件系统表将使用文件的新位置进行更新。数据可以写入其他地方,这时您可能会走运。

很久以前,我做过类似的手指操作,差点丢失了一个月的 perl 代码,但我设法挽救了几乎所有代码。我只知道如何在 Linux 中执行操作,而且只知道如何部分执行:

  1. 为了确保您不会进一步覆盖丢失的数据,请备份整个驱动器,例如:

    dd if = / dev / sdb1 of = / home / aoeu / drivedump bs = 16777216

  2. strings扫描驱动器转储以查找需要恢复的文件的一些已知内容。我使用、cat和正则表达式的组合来完成此操作grep。这里的方法很大程度上取决于您要查找的内容。对我来说,这很简单,因为它是明文 perl 代码,我记得其中的一些片段。

  3. 一旦你确定了位置,你就可以提取这部分内容(我使用 grep 和一些开关并将输出重定向到一个新文件

希望您的文件仍然完整,足以证明此过程所包含的工作是值得的。对我来说确实如此,因为几个小时的等待让我避免失去一个月的工作成果,包括周末。


笔记:自发生故障以来,存储介质的写入次数越多,其中一次写入覆盖所需数据的可能性就越大,因为所需数据现在被视为“可用”。这就是为什么我建议断开连接,直到您能够确保可以以只读方式访问它。例如,Windows 非常喜欢写入磁盘,即使您实际上没有做任何特别的事情。

相关内容