用WinHex在NTFS分区中恢复被删除的文件

 

如何使用winhex来恢复NTFS分区中被删除的文件? 在这篇教程中,我想以一个最简单的例子来说明。 恢复的前提条件有这么几个:

       1、我格式化了一个分区,所以这个分区中是没有任何文件的。

       2、我使用的文件大小小于1K,所以这个文件在NTFS分区的文件记录中的数据属性中是个常驻属性。所以这里不涉及到运行计算的问题,最简单的文件恢复了,以这个恢复例子的过程,可以建立一个数据恢复的大体原理了。

 

具体操作步骤如下:

 

第一:建立一个文本文件

       我格式化了我的分区G,分区类型是NTFS,使用快速格式化,正常格式化只在检查磁盘坏道时才有用。。。之后,我在这个分区建了一个文本文件,如下图所示:

 

用WinHex在NTFS分区中恢复被删除的文件
 

       这个文件很简单,内容也很少,我保存这个文件后,然后然后我们来看看这个文件大小信息,如下图所示:

用WinHex在NTFS分区中恢复被删除的文件
 

 

       我们看到,这个文件大小是224个字节,记住了哦,等下恢复这个文件的时候就可以对比一下了咯 嘻嘻 。。。

       之后我就删除了这个文件,现在,我们看看怎么恢复这个文件!

 

第二:用winhex打开分区

       我们运行winhex,然后点击菜单:工具-->打开磁盘,来打开G盘。如下图所示:

用WinHex在NTFS分区中恢复被删除的文件
 

       我们可以找到$MFT这个文件,然后右击它,然后点击打开,之后就会打开这个文件MFT。如下面两个图所示:

 

用WinHex在NTFS分区中恢复被删除的文件
 

用WinHex在NTFS分区中恢复被删除的文件

 

       这里为什么要这么做呢?

       因为,我们只需要在MFT找到我们丢失的文件,如果我们在整个分区里搜索并且这个分区很大的话,会要很多时间的,而MFT文件就小得多了,最大也就1G左右,这是我人为弄出来的,一般系统是很难见到这么大的MFT文件的,除非你是做服务器,有很多磁盘碎片和小文件。。。

 

       之后,我们可以点击菜单中的:搜索-->查找文本。如下图所示:

用WinHex在NTFS分区中恢复被删除的文件

 

       我们输入我们想要恢复的文件名HelloWorld,而且注意,要选择Unicode。因为MFT的文件名是Unicode形式的,之后就是查找了!

 

一会我们就找到了这个文件,如下图所示:

用WinHex在NTFS分区中恢复被删除的文件

 

       为了能使用WinHex的颜色,我们转到分区去看这个文件记录!首先,我们看到这个文件记录在MFT的偏移地址是7450H,然后我们在winhex中转到我们分区的视图,然后点击MFT文件,这样就偏移到了我们MFT文件的位置,然后选择菜单中的:位置-->转到偏移位置。

       然后输出7450,位置是从当前位置开始!如下图所示:

用WinHex在NTFS分区中恢复被删除的文件

 

       之后,我们就找到了这个文件记录,如下图所示:

用WinHex在NTFS分区中恢复被删除的文件

 

       我们看图的左边,文件记录号是29,我们看上图的蓝色框,那个是文件记录的标识:FILE。那么我们怎么知道这是个被删除的文件呢,一种办法是直接在文件记录头上看,如上图的红色框,那2字节为文件记录偏移16H处,0表示文件已被删除,1表示这个文件在使用,2表示是个目录等等。

       好,现在我们去查找文件记录中的数据属性,这个属性是80H开头,好在winhex有这个颜色分类,很容易找到,如上图的橙色框所示。

 

       下面我们集中抽取这个数据属性来分析,如下图所示:

用WinHex在NTFS分区中恢复被删除的文件

 

       我们一个一个来分析框中的内容表示的意思,第一个红色的框表示这是个数据属性,值是80H。橙色框:0表示这是个常驻属性,即这个文件的内容就在这个文件记录中,如果是1就表示这是个非常驻属性,那么我们要获取数据就得从运行中一个一个的计算获得,这个在下期讲解!

       算:75b0H + 18H = 75c8H。蓝色框的4个字节表示这个文件的数据大小:E0H,折合十进制就是224,即这个文件大小是224个自己,记得我在前面讲过吗,上面还有文件大小的截图呢!绿色框的4个字节表示这个文件的数据的偏移位置18H,这个偏移从这个数据属性的开始位置计算,就是上图中的80H位置,这个位置这样计算:75b0H + 18H = 75c8H。

       然后,我们就可以由这个数据的偏移位置和大小得到这个文件的数据,如紫色框表示。

 

       最后,我们用鼠标来选择这些数据(选择的数据的颜色会变的),然后点击右键,选择:编辑-->复制选项块-->植入新文件,如下图所示:

用WinHex在NTFS分区中恢复被删除的文件
 

       在这里,我们最好就选择另外一个分区,不要在要恢复的分区中保存文件,已保证我们的数据不会被覆盖掉!

       这里,我把文件保存在D盘中,也命名为HelloWorld.txt。

 

       最后,我们来看下我们恢复的文件:

用WinHex在NTFS分区中恢复被删除的文件

文件被恢复了

  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
WinHex求出FAT32文件的起始逻辑扇区位置的步骤如下: 1. 打开磁盘或分区,选择FAT32分区; 2. 找到FAT32分区的Boot Sector,Boot Sector的偏移量为0(即从磁盘或分区的第一个字节开始); 3. 在Boot Sector查找BPB(BIOS Parameter Block),其包含了FAT32分区的一些参数信息,如扇区大小、FAT表的起始扇区号、数据区的起始扇区号等; 4. 根据BPB的参数信息,计算出FAT32文件的起始逻辑扇区位置。 在WinHex求出NTFS文件的起始逻辑扇区位置的步骤如下: 1. 打开磁盘或分区,选择NTFS分区; 2. 找到NTFS分区的Boot Sector,Boot Sector的偏移量为0(即从磁盘或分区的第一个字节开始); 3. 在Boot Sector查找NTFS引导扇区(NTFS Boot Sector),其包含了NTFS文件系统的一些参数信息,如扇区大小、MFT表的起始扇区号、数据区的起始扇区号等; 4. 根据NTFS引导扇区的参数信息,计算出NTFS文件的起始逻辑扇区位置。 在WinHex求出逻辑分区NTFS文件的起始逻辑扇区位置的步骤如下: 1. 打开磁盘或分区,选择逻辑分区; 2. 找到逻辑分区的起始扇区号和扇区大小,可以在WinHex通过分区属性或磁盘属性查看; 3. 找到该逻辑分区NTFS分区,可以通过WinHex的“查找分区”功能找到; 4. 根据NTFS分区的起始扇区号和扇区大小,计算出NTFS文件的起始逻辑扇区位置。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值