下载testdisk开源代码编译出的photorec,可以进行数据会恢复,下面进行正常固态硬盘视频文件删除后进行恢复。

准备

一张32GB的固态硬盘,文件系统格式是btrfs,插在电脑虚拟机,继续挂载第二分区:

[yubo.wang@localhost testdisk]$ sudo mount /dev/sdb2 mnt_sdb2/
[yubo.wang@localhost testdisk]$ mount
/dev/sdb2 on /home/yubo.wang/testdisk/mnt_sdb2 type btrfs (rw,relatime,seclabel,space_cache,subvolid=5,subvol=/)
[yubo.wang@localhost testdisk]$ df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sdb2             28G  204M   28G   1% /home/yubo.wang/testdisk/mnt_sdb2

拷贝一个视频文件到硬盘,然后进行删除:

[yubo.wang@localhost testdisk]$ cp 181213213125-181213213625-sub-ms-0-12-1.mp4 mnt_sdb2/base/temp/
[yubo.wang@localhost testdisk]$ rm -f mnt_sdb2/base/temp/181213213125-181213213625-sub-ms-0-12-1.mp4

卸载硬盘进行恢复上面删除的视频文件。 

恢复

使用photorec进行数据的恢复,

[yubo.wang@localhost testdisk]$ sudo ./testdisk/src/photorec /dev/sdb2 

进入后显示信息如下,回车继续; 

配置选择:

Options选项选择:保持损坏的文件的选择Yes

File Opt文件类型选择:这里选择视频文件格式,s全选或者全取消,b保存配置,可以需要保存

Search开始搜索恢复选择的文件:

设置保存目录路径: 

有一个视频文件恢复成功,stop退出进行查看:

选择是退出

查看并校验视频文件,可以看出MD5值正确,使用播放器能正常播放; 

查看report.xml信息,可知道恢复出的视频文件的一些地址信息:

<?xml version='1.0' encoding='UTF-8'?>
<dfxml xmloutputversion='1.0'>
  <metadata 
  xmlns='http://www.forensicswiki.org/wiki/Category:Digital_Forensics_XML' 
  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <dc:type>Carve Report</dc:type>
  </metadata>
  <creator>
    <package>PhotoRec</package>
    <version>7.2-WIP</version>
    <build_environment>
      <compiler>GCC 4.8</compiler>
      <compilation_date>2019-09-18T17:06:01</compilation_date>
      <library name='libext2fs' version='none'/>
      <library name='libewf' version='none'/>
      <library name='libjpeg' version='none'/>
      <library name='libntfs' version='none'/>
      <library name='zlib' version='1.2.7'/>
    </build_environment>
    <execution_environment>
      <os_sysname>Linux</os_sysname>
      <os_release>3.10.0-514.2.2.el7.x86_64</os_release>
      <os_version>#1 SMP Tue Dec 6 23:06:41 UTC 2016</os_version>
      <host>localhost.localdomain</host>
      <arch>x86_64</arch>
      <uid>0</uid>
      <start_time>2019-09-29T13:58:03+0800</start_time>
    </execution_environment>
  </creator>
  <source>
    <image_filename>/dev/sdb2</image_filename>
    <sectorsize>512</sectorsize>
    <device_model>FORESEE 32GB SSD</device_model>
    <image_size>30005821440</image_size>
    <volume>
      <byte_runs>
        <byte_run offset='0' img_offset='0' len='30005821440'/>
      </byte_runs>
      <block_size>4096</block_size>
    </volume>
  </source>
  <configuration>
  </configuration>
  <fileobject>
    <filename>f2662400_mdat.mov</filename>
    <filesize>22417728</filesize>
    <byte_runs>
      <byte_run offset='0' img_offset='1363148800' len='22421504'/>
    </byte_runs>
  </fileobject>
</dfxml>

扩展

1、在正常使用硬盘过程种误删数据,删除数据后没有进行大量的写文件操作,是有很大概率进行数据恢复成功的;

2、在进行数据恢复前最好把硬盘克隆,防止在恢复时误操作导致数据被意外破坏,克隆方法见克隆硬盘方法集锦

3、这里只是介绍了恢复视频数据,其他文件格式数据方法一样,这个工具需要有Linux基础的人使用;

4、使用DG软件恢复效果不理想,不能选择【恢复删除文件】,文件大小为1B,恢复失败;

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐