手工填写分区表
经过前面对分区表的和boot扇区的介绍,我们这一章来实战手工填写分区表。
如果一个硬盘第0扇区被清0(就是每个字节都填上00),或者被别的数据破坏(如病毒),导致分区表损坏,那么硬盘在磁盘管理器里看到的磁盘状态是“未初始化”或者“未分区”状态。如下图:
“未初始化”状态
0扇区不符合MBR格式
“未分区”状态
0扇区符合MBR格式
但分区表项是空的
“未初始化”状态0扇区不符合MBR格式 Invalid Partition Table
“未分区”状态0扇区符合MBR格式但分区表项是空的 Valid Partition Table
需要注意的是,非windows、dos分区的硬盘(即Unix、MAC、Novell、磁盘阵列上的硬盘等)挂接到windows平台在磁盘管理器中查看该硬盘状态通常是“未初始化”状态,会提示进行磁盘签名初始化,强烈建议不要初始化,一律取消。
在这里介绍一下windows平台下硬盘初始化操作:当用户点击磁盘管理器查看硬盘状态时,系统会检测每个硬盘0扇区是否符合MBR格式(0扇区前面466字节是否是正确的MBR格式以及后面两个字节是否市55 AA结束,这是FAT和NTFS分区特有的性质,别的分区类型不一定符合这种格式,Linux分区0扇区跟Windows 分区0扇区是一致的,挂接正常Linux分区的硬盘不会提示初始化)。如果检测到0扇区不符合Windows MBR格式的硬盘,系统就会弹出对话框,提示用户对该硬盘进行初始化。硬盘初始化的唯一更改就是把0扇区不符合Windows MBR格式改写成正常的MBR格式,其它地方不做任何更改。在硬盘初始化之前,Runtime's DiskExplorer 查看0扇区用分区表模式浏览显示“Invalid Partition Table”,说明这个不是一个合法的分区表格式。初始化完成以后用Runtime's DiskExplorer打开硬盘时自动显示分区表浏览模式,显示“Valid Partition Table”,这时候已经是一个正常的分区表格式,只不过4个分区表项显示Free状态,还没有写入任何分区信息。
学会应用Runtime's DiskExplorer搜索硬盘Boot扇区和分区表
点击Runtime's DiskExplorer程序上Tools菜单下的Search,或者按键盘快捷键“Ctrl+F”,Runtime's DiskExplorer会弹出搜索对话框,如下:
Runtime's DiskExplorer For Fat程序搜索框界面
Runtime's DiskExplorer For NTFS程序搜索框界面
这两个版本搜索界面有一个共同搜索选项“Partition/Boot record”,这个选项具备搜索符合分区表和Boot扇区格式的硬盘扇区。它一般搜索到以55 AA为最后两个字节结尾的扇区,如果搜索到的扇区符合分区表格式的扇区,则结果显示视图模式为分区表显示模式,并且显示该扇区为Valid Partition Table。如果搜索到的扇区符合Boot扇区格式,则结果显示视图模式为Boot扇区显示模式,并且显示该扇区为Valid Boot Sector。如果搜索到的扇区以 55 AA结尾,但是该扇区不符合分区表也不符合Boot扇区格式,那么结果显示为十六进制视图,这种结果一般我们不去理会,继续按快捷键“Ctrl+L”往下搜索,直到找到合法的分区表或Boot扇区为止。
学会应用Runtime's DiskExplorer更改分区表参数
1、Runtime's DiskExplorer设置
我们第一次启用Runtime's DiskExplorer程序的时候,打开任何一个硬盘都只是只读模式,不可以进行任何磁盘编辑操作。我们需要点击Tools菜单下的Option项进入设置界面:(默认情况下选择Read only,我们建议选择Virtual write项,这个选项当你更改硬盘的任何字节后,点击Option界面的图标或者导航栏上的,所有更改结果显保存到计算机内存上,当你退出Runtime's DiskExplorer程序时,程序提示你要不要把更改结果保存到硬盘上,这时候我们可以选择Yes or No。不建议选择Option界面的Direct read/write选项,选择这个选项后,编辑硬盘任何地方都直接生效,没有任何提示,也没有任何撤消方法。Direct read/write选项在某些操作上必需选择才能进行下去,比如把大的镜像文件写入硬盘,需要选择Direct read/write选项。)
2、Runtime's DiskExplorer扇区镜像和写入功能
在我们进行硬盘扇区更改之前,建议把要更改的扇区先备份出来,然后才进行编辑,以防万一需要原来的数据,我们还能找回来。
Runtime's DiskExplorer可以把硬盘上任何一个可读的扇区备份成一个文件,也可以把任何多个连续的扇区备份成一个文件,当然也可以把整个硬盘备份成一个文件,默认的文件后缀为.img。
Runtime's DiskExplorer也可以把任何一个文件写入硬盘中。如果你从别的完好的硬盘上备份出0扇区数据保存成文件0.img,有一个硬盘0扇区数据损坏了,你可以用文件0.img写入坏硬盘的0扇区,用这个扇区为模板,然后根据需要更改相关数值就可以达到修复的目的。
下面我们来看具体操作:
首先我们进入十六进制浏览模式,用鼠标拖动选择要备份的扇区
然后选择菜单Edit下的Copy to file
单击Copy to file
填写备份生成的文件名称
如果我们要备份更多的扇区,我们用EditàSelect
可以填写起始扇区和结束扇区
如果要选择整个硬盘,选择Select All
用镜像文件写入硬盘
把视图模式改成十六进制浏览模式,我们用鼠标点击要写入扇区的第一个字节,如下:
然后点击EditàPaste from file
点击Open,就完成了镜像文件0sector.img写入硬盘0扇区的操作。我们要使写入生效,关闭Runtime's DiskExplorer程序,出现提示:
点击 Yes按钮,刚才的写入操作就生效了。
手工填写分区表
经过前面的学习,我们知道一个正常的硬盘有正常的分区表,每个分区有正常的Boot扇区。下面我们来学习一个很简单的例子,故障案例描述如下:
有一个客户有一块80GB的移动硬盘,分了4个分区,其中第一个分区是FAT32格式,还有3个分区是扩展分区上的逻辑分区。据客户描述说由于该移动硬盘在Winxp下没办法正常卸载USB设备,然后采取强行拔掉USB硬盘操作,发现下一次使用该硬盘时在我的电脑上看不见相应盘符了,在磁盘管理器里查看该硬盘显示未初始化状态。客户不敢初始化更不敢格式化,于是拿到专业数据恢复公司来进行数据恢复。
根据客户描述的现象,我们可以初步判断:该硬盘0扇区已经被破坏,分区表已经损坏,至于有没有其它问题,只能看了硬盘才知道。
恢复步骤如下:
1、  把硬盘接到计算机上,在磁盘管理器上看到该硬盘状态未初始化。客户说第一个分区是FAT32格式,那么我们选择Runtime's DiskExplorer For Fat程序打开该硬盘
磁盘管理器硬盘状态
Runtime's DiskExplorer中该硬盘0扇区如下,整个0扇区每个字节都是00,当然是一个不合法的MBR格式的扇区。
2、  恢复思路是:先搜索第一个分区的boot扇区,然后把0扇区改变成符合MBR格式的扇区,根据boot扇区信息把第一个分区的分区表填写回来,然后再找下一个分区。
通过Runtime's DiskExplorer程序上Tools菜单下的Search,选择“Partition/Boot record”,点击OK进行搜索,很幸运,我们找到了第63扇区是boot扇区:
到这里我们可以得出这样的结论:第一个分区分区类型是FAT32、boot扇区(起始扇区)是63扇区、分区大小是12948327 sec。有了这些信息,我们就可以把这个分区的分区表填回来。
3、构建分区表。因为我们看到0扇区是空的,每个字节都是00,所以我们不需要备份0扇区数据。我们现在要把它变成符合MBR格式的扇区,有两种方法:一种是在磁盘管理器中初始化这个硬盘,另一种是从我的系统硬盘中备份0扇区保存成一个镜像文件,然后用这个文件写入故障硬盘的0扇区(关于写入方法上面已经介绍)。现在我们采用第一种方法,因为它更简单!
初始化完成以后,我们再打开Runtime's DiskExplorer For Fat程序看,显示如下:
故障硬盘已经变成合法的分区表扇区了。我们现在需要对第一个分区表项进行更改,把第一个分区表构造出来。我们知道第一个分区的信息为:FAT32格式、起始扇区是63、分区大小为12948327 sec。
更改如下:
Sector             Partition table
x00000000      Valid Partition Table
0                      Entry                                                                           Starting                   Ending        Relative           Total
                        No      System                                      Boot   Cylinder Head    Sector   Cylinder Head    Sector   Start Sector    Sectors
                        1        Free(更改为FAT32)              No      x000     x00       x00       x000     x00       x00       x00000000     x00000000
                                                                                              0           0           0           0           0           0           0(更改为63)0(更改为12948327)
                        2        Free                                           No      x000     x00       x00       x000     x00       x00       x00000000     x00000000
                                                                                              0           0           0           0           0           0           0                     0
                        3        Free                                           No      x000     x00       x00       x000     x00       x00       x00000000     x00000000
                                                                                              0           0           0           0           0           0           0                     0
                        4        Free                                           No      x000     x00       x00       x000     x00       x00       x00000000     x00000000
                                                                                              0           0           0           0           0           0           0                     0
更改的方法是这样:先把鼠标点击一次要更改参数的位置,然后再点击一次,就可以更改相关数值和选择相关列表项目。
更改以后分区表如下:
改完以后我们保存退出Runtime's DiskExplorer For Fat程序,卸载掉USB硬盘设备(分区表更改以后需要重新启动计算机才能在计算机上生效并且看到盘符,USB硬盘只要拔下来再接到计算机即可),然后再接到计算机上,我们看看磁盘管理器:
我们看到,故障硬盘第一个分区分配了G盘符,我们打开G盘也看到客户相关数据。这说明我们第一个分区的恢复方法是正确的,如果你是第一次学习实践到这一步,你应该为自己庆祝一下,这个可是你第一次手工填写分区表并且成功了。
到了这里只是成功的第一步,后面3个分区我们还没找到呢。我们查找第二个分区的思路是这样:第一个分区的结尾附近就应该是第二个分区的起始位置,第一个分区的结尾可以计算为:第一个分区起始点+第一个分区大小即 63+12948327=12948390 sec,我们用Runtime's DiskExplorer For Fat程序定位到12948390 sec
可以定位到硬盘的任何一个扇区
到达第12948390 sec如下图,这个扇区居然是一个合法的分区表,凭感觉,这是硬盘扩展分区的第一个逻辑分区的分区表。
我们先假设后面的3个分区都是扩展分区里的3个逻辑分区,那么扩展分区的大小应该是 硬盘总大小—(第一个分区大小+第一个分区起始点)
根据Runtime's DiskExplorer For Fat程序显示如下信息,我们知道硬盘总大小是156301488 sec,由此我们假设扩展分区的大小:156301488—12948390=143353098 sec。
我们在0扇区构造出如下扩展分区表
把移动硬盘卸载后重新接入计算机,看看磁盘管理器:
其余3个分区都正常了!除了第一个分区,我们只填写一个扩展分区表,其余3个分区都正常了,因为扩展分区里头的逻辑分区分区表是一条链,如果只是0扇区被破坏而后面的信息没有被更改或破坏,只要我们找出扩展分区的第一个逻辑分区信息,其余的逻辑分区都会一个接一个的找到。如果还不明白,请看前面介绍的主分区、扩展分区、逻辑分区的相关知识。
到这里,我们手工恢复分区表的基本操作全部介绍完成。
恢复分区表的基本思路是:先找到boot扇区,然后确定该分区类型、起始扇区、分区大小这三个参数,把这3个参数填写到0扇区的分区表就可以了。
不管是主分区还是逻辑分区,我们只要找到它的Boot扇区,就可以把这个分区表填写成主分区表。就像上面的3个逻辑分区,只要我们找到每个分区的boot扇区,我们还可以把这3个分区填写成主分区,这样0扇区分区表就填满了4个主分区表项。
下面我们来实现3个逻辑分区变主分区的想法:
对比上图,我们要找到I盘起始扇区(boot扇区)、分区类型、分区大小。查找方法:我们上面已经计算出第一个分区的结尾处是第12948389扇区(扇区编号是从0开始的,因为第一个分区起始扇区boot扇区在第63扇区,分区大小是12948327 sec,从0扇区到第一个分区结束理论上应该一共是63+12948327=12948390 个扇区,所以第12948389扇区是结束扇区,第12948390扇区是第一个分区结束以后往后的第一个扇区。)这样我们从第12948390扇区开始搜索第二个分区的Boot扇区得到如下结果:
我们在硬盘上第12948453 扇区找到了一个合法的Boot扇区,它距离12948390扇区有整整63扇区。这样我们就可以确定第二个分区的信息如下:
第二个分区:分区类型FAT32、分区Boot扇区是第12948453扇区、分区大小是20482812 扇区。得到这个信息,我们先不管它是逻辑分区还是主分区,我们把它填写成主分区就可以了。如下图:
我们接着找第三个分区:第二个分区起始点12948453扇区、分区大小是20482812 扇区,那么我们可以计算出第二个分区的结束点是12948453+20482812-1=33431264 sec,第33431265扇区是第二个分区结束以后往后的第一个扇区。这样我们从第33431265扇区开始搜索第三个分区的Boot扇区得到如下结果:
我们在硬盘上第33431328 扇区找到了一个合法的Boot扇区,它距离33431265扇区有整整63扇区。这样我们就可以确定第三个分区的信息如下:
第三个分区:分区类型FAT32、分区Boot扇区是第33431328扇区、分区大小是61432497 扇区。得到这个信息,我们先不管它是逻辑分区还是主分区,我们把它填写成主分区就可以了。如下图:
我们接着找第四个分区:第三个分区起始点33431328扇区、分区大小是61432497 扇区,那么我们可以计算出第三个分区的结束点是33431328+61432497-1=94863824 sec,第94863825扇区是第三个分区结束以后往后的第一个扇区。这样我们从第94863825扇区开始搜索第四个分区的Boot扇区得到如下结果:
我们在硬盘上第94863888 扇区找到了一个合法的Boot扇区,它距离94863825扇区有整整63扇区。这样我们就可以确定第四个分区的信息如下:
第四个分区:分区类型FAT32、分区Boot扇区是第94863888扇区、分区大小是61432497 扇区。得到这个信息,我们先不管它是逻辑分区还是主分区,我们把它填写成主分区就可以了。如下图:
到这里我们后面3个分区都找到了,都填写成主分区。硬盘拔下来重新接到计算机上,显示如下图:
我们可以看出来,这时候4个分区都是主分区。
分区构建成功的要领:1、分区boot扇区良好;2、硬盘目录和数据区没有损坏。总之,只要能找到正确的boot扇区,就可以构建这个分区的分区表信息。
本文是数据恢复 原创教材,版权归护航时代所有。如转载请注明转自[url]http://www.bnuol.com[/url]

转载于:https://blog.51cto.com/199818/32678

Runtime's DiskExplorer手工填写分区表相关推荐

  1. 产成品入库单的单价是手工填写吗?

    产成品成本分配单用于对已入库未记明细账的产成品进行成本分配:可随时对产成品入库单提供批量分配成本,也可从"成本核算系统"取得成本,填入入库单. [操作流程] 1.用鼠标单击[处理] ...

  2. 硬盘分区表的数据结构

    由于工作要求,需要读取硬盘里面的数据,为此需要熟悉硬盘分区表里面的数据,经过查找网上的资料,整理了这篇文章. 新硬盘使用时需要经过分区然后格式化才能够使用,硬盘经过分区后,分区软件便会写一个主引导扇区 ...

  3. 计算机检测维修与数据恢复招标,计算机检测维修与数据恢复实训室企业招标文件.doc...

    计算机检测维修与数据恢复实训室采购项目 一.计算机检测维修与数据恢复实训室总体规划 建立真实的检测与维修环境,可以让学生亲自检测与维修主流电子产品故障,从而让学生直观.全方位了解各种元器件特性认知.电 ...

  4. 为什么删除的数据还可以被恢复?

    我们大家可能都遇到过这样的事情,上午刚刚清空垃圾站,下午却突然想起其中有个文件特别重要,这可怎么办?还有可能系统被病毒破坏,硬盘的分区表或文件分配表被病毒改写,但是硬盘上存着你数年的心血.这时我们就需 ...

  5. 怎么利用MBR加密硬盘?

    以下内容复制自百度贴吧,特此声明: 硬盘主引导扇区 = 硬盘主引导记录(MBR)+ 硬盘分区表(DPT)  物理位置:0面0道1扇区(clindyer 0, side 0, sector 1)  大小 ...

  6. 硬盘数据恢复原理和方法

    硬盘数据恢复原理和方法 2011年03月02日 硬盘数我们大家可能都碰到过这样的事情,上午刚刚清空垃圾站,下午却突然想起其中有个文档特别重要,这可怎么办?更有可能系统被病毒破坏,硬盘的分区表或文档分配 ...

  7. 《数据修复技术与典型实例实战详解》——1.4 分区表的修复

    本节书摘来自异步社区<数据修复技术与典型实例实战详解>一书中的第1章,第1.4节,作者:叶润华著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 分区表的修 ...

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

    硬盘重新分区后有一个分区表信息丢失的数据恢复 华山剑客 特别说明: 1.因为这个案例的数据恢复的全过程是通过QQ的远程协助完成的,对方(以下称"网友")对某些软件的操作不是很熟练( ...

  9. 硬盘分区表详细介绍和怎样修复分区表

    人们在使用电脑时,有时由于异常操作,有时由于病毒侵袭,会导致某个分区消失或硬盘无法启动.究其原因,就是硬盘分区表受损.硬盘分区表可以说是支持硬盘正常工作的骨架.操作系统正是通过它把硬盘划分为若干个分区 ...

最新文章

  1. 动态添加综合布局---动态添加控件及将某XML动态加入到Activity显示(续)
  2. 博客园代码高亮显示教程
  3. 周三多管理学第七版pdf_为什么说管理学原理是企业领导的必修课?
  4. 金相图像处理 matlab,基于MATLAB软件的图像处理技术 毕业论文.doc
  5. 爱是谋杀:读徐小斌的《别人》
  6. javascript 懒加载技术(lazyload)简单实现
  7. 一步一步跟我学习hadoop(5)----hadoop Map/Reduce教程(2)
  8. 5G(2)---让5G NR成为商用现实
  9. delphi idtcpclient 发送十六进制00_25656红单足球预测 中超 20:00 山东鲁能泰山 VS 大连人...
  10. 前端单页面拆分多个单页面
  11. Fiddler抓包工具入门:软件测试员必知的抓取https协议的方法
  12. python爬虫JS逆向加密破解之百度翻译
  13. 01_博图默认变量和DB块变量导入昆仑通态触摸屏
  14. python量化交易是什么意思_量化交易通俗解释是什么?
  15. cur前缀_常用英语前缀
  16. WordPiece 和 BPE 的区别
  17. 湖大计算机学院博士后李晓灿,李蕊-湖大信息科学与工程学院
  18. 【每日蓝桥】13、一三年省赛Java组真题“黄金连分数”
  19. C PRIMER PLUS(第六版编程练习)7.12编程练习_7题
  20. 一个运维工程师必须要知道的(工作职责与应用场景)干货整理

热门文章

  1. 讲解ontouchstart、ontouchend、onclick区别和坑点
  2. mongodb全套配置
  3. Web性能优化系列(1):Web性能优化分析
  4. android EditView
  5. openssl passwd之openssl命令详解
  6. Raspberry Pi 4B 开机自动运行Python文件
  7. Tensorflow tf.keras.models.load_model() 打开h5文件失败
  8. Android GL deadlock timeout error
  9. 3-2 案例准备工作
  10. 用PHP和Python生成短链接服务的字符串ID