硬盘重新分区后有一个分区表信息丢失的数据恢复

华山剑客

特别说明:
1、因为这个案例的数据恢复的全过程是通过QQ的远程协助完成的,对方(以下称“网友”)对某些软件的操作不是很熟练(比如用winhex手工重建分区表),为了防止数据恢复过程中的意外发生,有些地方我采用了比较另类的方法。
2、网友的要求是主要恢复原来E盘的数据,实际操作时我用了两种方法恢复的,第一种方法是利用镜像法直接恢复原来E盘的数据,第二种方法是用重建分区表的方法恢复其它盘(包括E盘)的数据。(其实方法一或方法二中任何一种方法都能达到恢复原来E盘数据的目的)
现象:一个40G硬盘(实际是38.2G)原来分了5个区(都是FAT32的文件系统):5G 10G 10G 10G 5G,在重装系统时分了4个区(也是FAT32的文件系统),并格式化,但只有第一个分区装了系统有数据):10G 10G 10G 10G。
网友要求:主要恢复原来E盘的数据。
网友提供信息:
1、 磁盘分区表记录(根据我的提示,网友用WinHex找到分区表的所在的扇区的信息,红色部分为最后计算的结果):
              1FE  55AA    0扇区
   20249B3FE  55AA    16852185扇区
   32CDBF5FE  55AA    26635770扇区
  4850671FE  55AA    37913400扇区
  59DF26BFE  55AA    47118645扇区
  707C32FFE  55AA    58974615扇区 
  80F08E1FE  55AA    67601520扇区
  硬盘参数:总容量:38.2GB   40,982,151,168bytes
  CMOS参数:4982柱面。255磁头。63扇区。
2、现在4个分区的DBR所在物理扇区的位置(用winhex查看的!)
C盘:63; D盘:16852248;  E盘;37913463; F盘:58974678。
3、原来E盘的分区表的信息(这是在推算出E盘分区表所在物理扇区的基础上获得的):
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 
分析:根据提供的信息可以看出有一个分区表的数据被覆盖了(因为提供的分区表记录只有7个,应该是8个)。由于原来的5个分区和现在的4个分区的容量不同,所以原来分区的另外大多数关键信息如DBR、FAT表可能没有覆盖,这样数据恢复的可能性比较大。又根据网友提供的现在4个分区的DBR所在物理扇区的位置确定现在4个分区的分区表所在的位置:C:0 D:16852185 E:37913400 F:58974615。在此基础上根据磁盘分区表记录可以推测出丢失的是原来的D区的分区表,并确定了原来的5个分区的分区表所在的位置(D盘的分区表的位置是根据原来原来F盘分区表所在物理扇区的位置[47118645]和E盘的分区表的数据[76 16 71 02]推算出来的:47118645-40965750=6152895):C:0 D:6152895 E:26635770 F:47118645 G:67601520。这样原来的G盘数据因没有覆盖可以100%的恢复,原来的E、F盘的数据会因为格式化时而造成部分破坏,原来D盘的数据的DBR和FAT表被覆盖而恢复的可能性不是很大,原来C盘数据破坏比较严重,但都是操作系统数据,可以不要。原来的E盘在现在的D盘和E盘中各有一部分,而且原来的E盘的分区表和现在D盘分区表相差11277630个扇区,这样原来的E盘的分区表信息、DBR和FAT表可能都没有破坏,这样原来E盘的数据恢复的可能性比较大。
 
恢复过程:
方法一:镜像法
      先找一个硬盘,要求其中有一个分区有10G的大小(因为原来E盘是10G大小),然后将此硬盘当从盘挂在上面,先格式化这个分区(网友用的这个分区是M盘),然后用DataExplore这个软件的“镜像到磁盘”(如下图所示,注意是“镜像到磁盘”不是“镜像到文件”)功能把原来E盘的数据镜像到准备好的那个M盘上(当然先要推算出原来的E盘的DBR的位置:第26635833扇区,注意是从DBR位置开始做镜像,而不是从原来的E盘的分区表的位置),当镜像做好时,直接打开M盘,原来的E盘的数据就恢复了。
 
 
方法二:重建分区表法
    D分区的分区表所在的位置前面已推算出来,在第6152895扇区,现在要计算原来D盘的扇区总数:26635770-6152895=20482875,这个数同时也是下一个分区开始的扇区数,因为这是扩展分区的的第一个分区(如果不是扩展分区的第一个分区就不能用这个数)。然后计算原来E盘的扇区总数(47118645-26635770=20482875),最后用PTEDIT32这个软件(这个软件重建分区表时不需要把十进制转换成十六进制,对一般的人来说比较方便)在第6152895扇区重新建一个D盘的分区表。重建的分区表数据如下:
D盘分区表重建后还要根据C盘的扇区总数和整个硬盘的扇区数在C盘的分区表的相应的数据要作适当的修改(否则分区表的链连接不上!),调整后的数据如下:

分区表重建完毕。
预计结果:5个分区中只有D盘不能打开,要求格式化(因为DBR破坏了),其它4个盘都能打开,但只有G盘的数据能100%的恢复,E盘和F盘会有部分文件不能打开。而且方法一和方法二中所得的E盘的数据是一样的。
  
网友描述:和我预计的差不多,所不同的是E、F、G盘的文件都能打开,可能是没有把所有的文件都打开,也可能是被覆盖的数据的地方没有用。同时C盘的容量有点变化,这是因为C盘的DBR没有修改的原因,但这没有影响,下次格式化C盘时容量就还原了。
后记:如果要恢复D盘的数据的话还在看里面的数据覆盖在什么位置,只要没有破坏到FAT2的话还能恢复的,但如果FAT2的数据已破坏的话只有用数据恢复软件来扫描了,除非要其中的的少数数据要用手工的方法恢复。但网友说D盘没有什么重要的数据,所以没有往下进行,这次恢复就结束了。
2007年1月23日
华山剑客写于湖北随州

转载于:https://blog.51cto.com/tclrz100e/269857

硬盘重新分区后有一个分区表信息丢失的数据恢复相关推荐

  1. 【服务器数据恢复】服务器意外断电导致raid信息丢失的数据恢复

    服务器数据恢复环境: 某品牌服务器riad5,存储的是普通类型文件. 服务器故障: 在正常工作状态下服务器意外断电,服务器管理员重启服务器发现该服务器内的raid信息丢失,服务器无法使用. 服务器故障 ...

  2. hive分区对应hadoop_hive分区表信息如何导入mysql 表?

    在日志分析大作业中, 有要求把hive数据导入mysql的, hive数据文件如下: [root@cdh-1 sqoop]# hadoop fs -ls -R /user/hive/warehouse ...

  3. mysql 表如何分区数据恢复_硬盘重新分区后数据如何恢复?轻松一招搞定!

    位置:数据恢复的知识与技巧 - 硬盘重新分区后数据恢复 硬盘重新分区后数据恢复 硬盘重新分区的过程会将原有分区和数据抹去并建立新的分区,那么重新分区后丢失的分区及数据还能恢复吗?今天小编就和大家一起研 ...

  4. hp服务器如何找回阵列信息,HP服务器数据恢复 RAID5结构实例手工分析

    HP服务器数据恢复 RAID5实例手工分析 案例服务器: 3块硬盘组成的RAID5结构,RAID信息丢失.导致服务器无法开机进系统,数据也无法访问. 恢复方案: 1:第一时间将服务器断电,请勿强制上线 ...

  5. linux复制分区表信息,parted分区

    parted分区 我们在工作中会发现,我们使用平时的分区工具fdisk不能创建大于2T的分区, 是linux不支持吗?不对,现在的Linux内核中支持Large Block Device,完全可以使用 ...

  6. 下载GHOST重新安装系统,四个硬盘分区变成一个,如何恢复其他硬盘中的资料

    转自http://blog.csdn.net/wang379275614/article/details/8094590 前两天一同学说下载的GHOST重新系统之后,四个盘的硬盘分区变成了一个,(只剩 ...

  7. sql server表分区_介绍分区表SQL Server增量统计信息

    sql server表分区 If you are maintaining a very large database, you might be well aware of the pain to p ...

  8. 硬盘分区损坏后数据恢复方法[分区恢复,分区修复,分区丢失,数据恢复,数据丢失,数据修复]

    如果硬盘分区损坏,找不到分区,有一种找到数据比较快速的方法,本操作的重点是先找到数据所在分区的开始扇区值及下一个分区的开始扇区值,再开始对这个开始扇区到下一个分区的开始扇区值进行扫描,以找到数据. 涉 ...

  9. win8计算机就一个盘,win8硬盘分区,详细教您win8硬盘怎么分区

    windows所有的数据都放在硬盘上,我们大多数人的习惯都是讲资料分开存放,以便查找,比如一个盘专门装软件,一个盘专门存资料,一个盘专门用来工作等等,如果用户觉得分区数量可能不够用,怎么办?下面,小编 ...

最新文章

  1. 七夕节,程序员们都怎么哄女朋友开心?
  2. ASP.NET状态管理
  3. Mysql数据库(三)——mysql数据库高级操作
  4. 古风一棵桃花树简笔画_广东有个现实版的“桃花源”,藏于秘境之中,最适合情侣来度假!...
  5. 容器技术:华为云如何帮助企业落地Kubernetes
  6. LeetCode两数相除java
  7. VB中Excel 2010的导入导出操作
  8. Python基本数据类型之tuple
  9. Android客户端和服务器端数据交互的第四种方法
  10. Javaparser使用
  11. YYUC输出联动select标签
  12. 接口压力测试工具(推荐)
  13. pyinstaller(py文件转成exe)
  14. iPhone全部设备分辨率速查
  15. 【嵌入式】学习心路历程与总结
  16. 【Python教程】十八、这根本就不是我的错嘛~Python的异常处理
  17. 遇到UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa3 in position 4: invalid start byte的几种处理方法
  18. 记一次实验报告:基于Linux的中小型企业网络架构
  19. python删除最后一个元素_Numpy-从一维数组中删除最后一个元素的最佳方法?
  20. 关于Maven项目里所有代码凭空消失的问题

热门文章

  1. 书山有径——走进清华大学图书馆
  2. Java开发者需要了解的移动开发编程语言
  3. 安装Kubernetes-Dashboard插件
  4. Linux-PAM PAM-MySQL的总结
  5. Protege A DOT error has occurred错误
  6. 自定义webpart显示Lync状态球
  7. Windows Phone 7 MVVM模式通讯方式之实现Command
  8. jQuery 多个 classes 选择器
  9. 控制反转(IoC) ? 工厂模式?
  10. 常见排序算法时间复杂度