当前位置: 首页>>技术教程>>正文


从FAT文件系统恢复已删除文件的数据

, ,

介绍

尽管FAT32或FAT16是非常古老的文件系统,这反映出与其他文件系统替代产品相比,它们的性能较差,但它们仍被许多电子设备广泛使用。通常,这些设备包括USB memory 棒,数码相机,便携式摄像机等。您拥有并在FAT flesystem的设备上存储个人数据的可能性很高,因为很可能会意外删除您的重要数据。在本文中,我们将使用testdisk实用工具从FAT文件系统中取消删除文件。

哎呀..我不小心从摄像机上删除了一个视频文件!开始恐慌之前的第一件事是卸载USB设备并使用dd命令创建设备分区的低级备份。

如果出于任何原因无法卸载设备,请使用只读权限重新安装设备:

# mount -o remount,ro /dev/sdX

意外删除文件后写入的任何数据或文件操作都会削弱我们恢复已删除文件的机会。另一方面,使用dd命令创建低级备份为我们提供了无限恢复尝试的机会,因为我们始终能够将整个分区一点一点地放回到意外删除文件之后的状态。

从FAT文件系统中删除文件后,并未立即删除实际文件,但现在可以覆盖文件所在的扇区。因此,需要备份整个分区:

# dd if=/dev/sdX of=/my/storage/backup_sdX.dd

要恢复* .dd文件的备份,我们简单地将过程逆向进行:

# dd if=/my/storage/backup_sdX.dd of=/dev/sdX

测试条件

为了测试testdisk恢复实用程序,我们将创建一个vfat文件系统,存储video.mp4和readme.txt文件,获取md5sum并简单地删除和取消删除这两个文件。

  • 分区表
Disk /dev/sdc: 2001 MB, 2001731584 bytes
62 heads, 62 sectors/track, 1017 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         102      196013    6  FAT16
  • 两个原始文件的md5sum
b9202e11fdad87ce520d6fb827d6e591  readme.txt
b3f9373b1dcec8e929e3ebad7058c997  video.mp4
  • 操作系统
# uname -a
Linux desktop 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux
# cat /etc/issue
Ubuntu 10.04 LTS 

testdisk数据恢复实用程序

删除删除文件的最佳和最简单的恢复工具是testdisk。测试盘该软件包可从Ubuntu /Debian软件包存储库中获得,因此testdisk的安装非常简单:

# apt-get install testdisk

要开始取消删除过程,我们需要执行testdisk命令:

# testdisk /dev/sdX
TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER 
http://www.cgsecurity.org

  TestDisk is free software, and
comes with ABSOLUTELY NO WARRANTY.

Select a media (use Arrow keys, then press Enter):

Disk /dev/sdd - 2001 MB / 1909 MiB - Verbatim STORE N GO

[Proceed ]  [  Quit  ]

选择您的磁盘,然后输入继续。

TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER 
http://www.cgsecurity.org


Disk /dev/sdd - 2001 MB / 1909 MiB - Verbatim STORE N GO

Please select the partition table type, press Enter when done.
[Intel  ]  Intel/PC partition
[EFI GPT]  EFI GPT partition map (Mac i386, some x86_64...)
[Mac    ]  Apple partition map
[None   ]  Non partitioned media
[Sun    ]  Sun Solaris partition
[XBox   ]  XBox partition
[Return ]  Return to disk selection


Note: Do NOT select 'None' for media with only a single partition. It's very
rare for a drive to be 'Non-partitioned'.

通常,我们要选择默认的分区类型,因为teskdisk by defualt会尝试找到正确的分区类型。在我们的例子中是Intel /PC分区。

TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER 
http://www.cgsecurity.org


Disk /dev/sdd - 2001 MB / 1909 MiB - CHS 1017 62 62

[ Analyse  ]  Analyse current partition structure and search for lost partitions
[ Advanced ]  Filesystem Utils
[ Geometry ]  Change disk geometry
[ Options  ]  Modify options
[ MBR Code ]  Write TestDisk MBR code to first sector
[ Delete   ]  Delete all data in the partition table
[ Quit     ]  Return to disk selection

Note: Correct disk geometry is required for a successful recovery. 'Analyse'
process may give some warnings if it thinks the logical geometry is mismatched.

选择高级文件系统实用程序。

TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER 
http://www.cgsecurity.org

Disk /dev/sdd - 2001 MB / 1909 MiB - CHS 1017 62 62

     Partition                  Start        End    Size in sectors
 1 P FAT16 >32M               0   1  1   101  61 62     392026


[  Type  ]  [  Boot  ]  [Image Creation]  [Undelete]  [  Quit  ]
                                 File undelete 

在此阶段,我们需要选择所需的分区,然后选择“取消删除”。

TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER 
http://www.cgsecurity.org
 1 P FAT16 >32M               0   1  1   101  61 62     392026
Directory /

-rwxr-xr-x     0     0   36657441  4-Jul-2010 17:08 video.mp4
-rwxr-xr-x     0     0        14  4-Jul-2010 17:08 readme.txt


Use Right arrow to change directory, c to copy,
    h to hide deleted files, q to quit 

在此阶段,我们只需选择要恢复的文件,然后按”c”键将其复制到当前目录中,然后回答Y。复制完成后,使用”q”键退出tesdisk实用程序。

TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER 
http://www.cgsecurity.org
 1 P FAT16 >32M               0   1  1   101  61 62     392026
Directory /
Copy done!
-rwxr-xr-x     0     0   36657441  4-Jul-2010 17:08 video.mp4
-rwxr-xr-x     0     0        14  4-Jul-2010 17:08 readme.txt

让我们比较两个恢复文件的md5sum和两个原始文件的md5sum:

root@desktop:~/recovered# ls
readme.txt  testdisk.log  video.mp4
root@goldstein-desktop:~/recovered# md5sum readme.txt video.mp4
b9202e11fdad87ce520d6fb827d6e591  readme.txt
b3f9373b1dcec8e929e3ebad7058c997  video.mp4

如我们所见,使用testdisk Data Recovery Utility恢复已删除文件的过程再简单不过了。作为我们测试的结果,两个恢复的文件都具有与原始文件相同的md5sum。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11154.html,未经允许,请勿转载。