我的硬盘上有一个文件夹,我删除了它后想恢复它。如何从文件系统恢复整个文件夹?
我尝试过这些文章中列出的一些工具来恢复已删除的文件:
- http://www.pcadvisor.co.uk/how-to/software/how-recover-deleted-files-free-3365461/
- https://www.quora.com/Can-we-restore-files-which-are-permanently-deleted-from-recycle-bin
- http://www.techradar.com/news/software/applications/best-free-data-recovery-tools-1321723
但是这些程序似乎很浪费,因为它们似乎恢复的文件没有目录结构。我不想预览然后单独恢复每个文件,但我只想指定要恢复的文件夹。
如何才能立即恢复已删除的文件夹?
答案1
最多这些网站上显示的工具是文件雕刻器。为了制定数据恢复策略,您需要了解两种主要的不同文件恢复工具类别:
文件雕刻师→ 它们会扫描任何类型的磁盘,并通过检查特定签名来尝试恢复已知文件类型。例如,JPEG 文件始终以字节开头
FF D8
。此方法仅适用于非碎片文件,并且您无法获得有关文件名称或位置的任何线索。在文件系统级别工作的工具→ 它们通过查看目录树来读取(可能已损坏的)分区,然后使用那里指定的信息来访问文件。因此,只要文件在文件系统中列出,它们就可以访问任何文件。
原则上,您可能会认为 Carvers 基本上是无用的,因为它们有局限性。然而,这是不正确的。Carvers 可以恢复非碎片文件在任何类型的文件系统上,即使您不知道其格式。此外,在元数据(文件记录)从文件系统中完全删除后,他们还可以恢复非碎片文件。
对于您来说,情况如下:
- 您有一个最近删除的文件夹
- 你想重建它的目录结构
- 你需要恢复里面的所有元素
因此,您不会使用任何文件雕刻器,您应该避免使用它们。您需要一个“能理解”NTFS(Windows 使用的文件系统)的工具。
停止使用该分区
您可以尝试直接从 Windows 恢复文件,但这将是糟糕的想法。您使用操作系统的次数越多,用新数据覆盖它们的可能性就越大。
因此,现在就不要再使用 Windows 了,使用 Linux Live DVD 或 USB 启动你的电脑(基本上任何现代版本都可以,无论是 Ubuntu、Fedora 还是其他版本)。如果你没有准备好 Live DVD 或 USB,请使用另一台计算机创建它或购买包含 Linux DVD 的杂志。不要使用您的 PC 创建可启动媒体,因为这样会在操作过程中将大量内容写入您的硬盘。
加载系统后,连接外部 USB 驱动器来存储恢复的文件。
从 NTFS 驱动器恢复已删除的文件
免责声明:我是 RecuperaBit 的开发者。此外,以下部分基于我之前发布的回答Unix & Linux Stack Exchange 上的和在 Ask Ubuntu 上。
识别正确的驱动器
运行sudo lsblk
以识别您的主 NTFS 分区(假设是C:
驱动器)。输出可能看起来有点像这个例子:
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 32G 1 disk
├─sda1 8:1 0 500M 1 part
└─sda2 8:2 0 31.5G 1 part
sr0 11:0 1 2.8G 0 rom /cdrom
loop0 7:0 0 2.1G 1 loop /rofs
这告诉我,这个驱动器有一个 500 MB 的小分区(Windows 引导加载程序)和一个 31.5 GB 的大分区,占整个 32 GB 磁盘。因此,我现在知道C:
我正在测试的虚拟机的驱动器是/dev/sda2
。
使用 TestDisk
您的分区没有损坏,因为您只删除了一些文件。因此您可以尝试使用测试磁盘这是一款出色的数据恢复软件。
如果您运行的是基于 Debian 的操作系统(包括 Ubuntu),则可以使用以下命令安装它:
sudo apt-get install testdisk
完成此步骤后,在驱动器上运行它:
sudo testdisk /dev/sda2
按照屏幕上的说明进行操作。基本上,您需要按Enter直到它询问您分区表类型(None
因为我们正在扫描单个分区)。
当它显示一个列表,表明该分区是 NTFS 时,您将在底部看到一些选项。选择List
以显示其内容。您应该能够浏览文件并导航至原始目录所在的位置。
请注意,由于 Windows 处理回收站的方式,该目录可能位于C:\$Recycle.Bin
其原始位置而不是其原始位置。基本上,请一直寻找直到找到它为止。
如果找到它,请使用箭头键突出显示它,然后按C。这将进入复制模式。您需要导航到外部 USB 驱动器(它将位于 中的某个位置/media/
,即media
Linux 系统的根目录中),然后C再次按 以将其选为目标目录。
完成,您已复制整个文件夹!
如果你没有找到,索引记录父目录已删除文件夹的内容可能已被清除,因此您要查找的文件夹不再列出。
在这种情况下,请继续下一个会话。
使用 RecuperaBit
我的硕士论文是关于重建严重损坏的 NTFS 驱动器。当索引记录被损坏或覆盖时,文件和目录会从目录树中消失,尽管它们仍然可以恢复。
这就是为什么我开发恢复比特,它使用自下而上的方法进行 NTFS 重建。请按照以下步骤恢复您的文件夹:
recuperabit_output
在外部 USB 驱动器中创建一个名为的目录。- 从 GitHub 下载 RecuperaBit 并将其解压到一个文件夹中。
运行它,并将驱动器和存储恢复文件的路径作为参数传递:
sudo python /path/to/RecuperaBit/main.py /dev/sda2 -o /path/to/the/external/USB/drive/recuperabit_output
按下 让它扫描驱动器Enter。
- 键入
csv 0 list.csv
以生成文件列表。 使用 LibreOffice 打开生成的 CSV 文件以查找目录的标识符。示例:
如果我想康复系统容量信息,那就是目录
31
。返回 RecuperaBit 控制台并输入,
restore 0 31
其中0
表示第一个分区,即您正在分析的唯一分区。
好了,现在您的文件位于外部 USB 驱动器的 下recuperabit_output/Partition0
。