导航

PhotoRec:开源全平台照片及文件恢复

PhotoRec:开源全平台照片及文件恢复

PhotoRec是一款免费开源、跨多平台的数据恢复软件, 用于恢复硬盘、光盘中丢失的视频、文档、压缩包等文件,或从数码相机存储卡中恢复丢失图片的数据恢复软件。

PhotoRec忽略文件系统,能直接从介质底层恢复数据,因此,在介质的文件系统严重破坏或被重新格式化后,它也能进行数据恢复。

支持的文件系统包括: FAT,NTFS,exFAT,ext2/ext3/ext4,HFS+

多操作系统包括:DOS/Win9x, Windows NT 4/2000/XP/2003/Vista,Linux,FreeBSD, NetBSD, OpenBSD,Sun Solaris,Mac OS X,软件遵循GPLV v2开源协议。

PhotoRec软件下载

http://www.cgsecurity.org/wiki/TestDisk_Download


PhotoRec如何工作

FAT,NTFS,ext2 / ext3 / ext4文件系统将文件存储在数据块中(也称为Windows下的群集)。

在文件系统的格式化期间初始化之后,簇或块大小保持不变的扇区数。

通常,大多数操作系统尝试以连续的方式存储数据,以便最小化数据碎片。机械驱动器的寻找时间对于从/从硬盘写入和读取数据是重要的,因此,将碎片保持在最低水平是很重要的。

当文件被删除时,有关该文件的元信息(文件名,日期/时间,大小,第一个数据块/群集的位置等)将丢失; 例如,在ext3 / ext4文件系统中,删除的文件的名称仍然存在,但是第一个数据块的位置被删除。

这意味着数据仍然存在于文件系统上,但只有在某些或全部文件被新的文件数据覆盖之后。

要恢复这些丢失的文件,PhotoRec首先尝试查找数据块(或集群)大小。

如果文件系统没有损坏,则可以从超级块(ext2 / ext3 / ext4)或卷引导记录(FAT,NTFS)读取该值。否则,PhotoRec逐扇段读取媒体,搜索前十个文件,从它们的位置计算块/集群大小。一旦知道这个块大小,PhotoRec将逐块读取媒体块(或按簇集群)。每个块都是针对程序附带的签名数据库进行检查的,并且自PhotoRec的第一个版本出来以来,它可以恢复的文件类型已经增长。

例如,当块开始时,PhotoRec识别JPEG文件:

0xff,0xd8,0xff,0xe0
0xff,0xd8,0xff,0xe1
0xff,0xd8,0xff,0xfe

如果PhotoRec已经开始恢复文件,它会停止恢复,并尽可能检查文件的一致性,并开始保存新文件(根据它找到的签名确定)。

如果数据不分段,则恢复的文件应与原始文件大小相同或更大。在某些情况下,PhotoRec可以从文件头中学习原始文件大小,因此恢复的文件将被截断为正确的大小。然而,如果恢复的文件最终小于其头指定的文件,则会被丢弃。

某些文件,如* .MP3类型,是数据流。在这种情况下,PhotoRec解析恢复的数据,然后在流结束时停止恢复。

当文件成功恢复时,PhotoRec将检查先前的数据块,以查看是否找到文件签名,但该文件无法成功恢复(即文件太小),并再次尝试。这样,一些碎片文件可以被成功地恢复。

返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码