硬盘数据的恢复法Word格式文档下载.docx

上传人:b****5 文档编号:20454210 上传时间:2023-01-23 格式:DOCX 页数:6 大小:23.01KB
下载 相关 举报
硬盘数据的恢复法Word格式文档下载.docx_第1页
第1页 / 共6页
硬盘数据的恢复法Word格式文档下载.docx_第2页
第2页 / 共6页
硬盘数据的恢复法Word格式文档下载.docx_第3页
第3页 / 共6页
硬盘数据的恢复法Word格式文档下载.docx_第4页
第4页 / 共6页
硬盘数据的恢复法Word格式文档下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

硬盘数据的恢复法Word格式文档下载.docx

《硬盘数据的恢复法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《硬盘数据的恢复法Word格式文档下载.docx(6页珍藏版)》请在冰豆网上搜索。

硬盘数据的恢复法Word格式文档下载.docx

下一个扩展分区的首扇区又包含了一个逻辑分区表,

这样以此类推,扩展分区中就可以包含多个逻辑分区。

下面我们就来学习一下硬盘数据的基本结构。

★硬盘的数据结构★

①MBR(MainBootRecord主引导记录区)

MBR位于整个硬盘的0磁道0柱面1扇区,包括硬盘引导程序和分区表。

在总共512字节的硬盘主引导扇区中,MBR只占用了其中的446个字节,其最后两个字节“55AA”是分区的结束标志。

另外的64个字节交给了DPT(DiskPartitionTable硬盘分区表),从1BEH字节开始,共占用64个字节,包含四个分区表项。

每个分区表项的长度为16个字节,它包含一个分区的引导标志、系统标志、起始和结尾的柱面号、扇区号、磁头号以及本分区前面的扇区数和本分区所占用的扇区数。

其中“引导标志”表明此分区是否可引导,即是否活动分区。

当引导标志为“80”时,此分区为活动分区;

“系统标志”决定了该分区的类型,如“06”为FAT16分区,“0B”为FAT32分区,“07”为NTFS分区,“63”为UNIX分区,等;

起始和结尾的柱面号、扇区号、磁头号指明了该分区的起始和终止位置。

我们假设一个硬盘分区表从1BEH字节开始的16个字节为80010100060D686D2800000078200300

硬盘分区表项的16个字节分配如下:

第1字节:

是一个分区的激活标志,表示系统可引导。

如是0则表示非活动分区。

  第2字节:

该分区起始磁头(HEAD)号

  第3字节:

该分区起始扇区(Sector)号

  第4字节:

该分区起始的柱面(Cylinder)号

  第5字节:

该分区系统类型标志

第6—8字节:

该分区终止磁头(HEAD)号、分区结束的扇区号、分区结束的柱面号

  第9-12字节:

该分区首扇区的相对扇区号

  第13-16字节:

该分区占用的扇区总数

  以上参数我们可以用NU8.0中DISKEDIT工具软件可轻松获取,其功能非常强大,但应用不当会有很大错误,请各位注意使用方法。

操作步骤如下:

以一台硬盘为270MB,分为C盘(100MB)和D盘(170MB)的机子(老掉牙了^_^)为例,在纯DOS下启动DISKEDIT→在对象菜单(Object)上选中驱动器(Drive)和物理磁盘选项后确定→在对象菜单(Object)上选中分区表(PartitionTable)→在显示菜单(View)中选择十六进制(Hex)

以下数据为主分区信息:

000001B0:

0000000000000000-0000000000008001

000001C0:

0100060D686D2800-0000782003000000

000001D0:

416E050DE8AEA020-030030EE04000000

000001E0:

0000000000000000-0000000000000000

000001F0:

0000000000000000-00000000000055AA

②DBR(DosBootRecord操作系统引导记录区)

它通常位于硬盘的0磁道1柱面1扇区,是操作系统可直接访问的第一个扇区,它包括一个引导程序和一个被称为BPB(BIOSParameterBlock)的本分区参数记录表。

引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是操作系统的引导文件(以DOS为例,即是Io.sys和Msodos.sys)。

如果确定存在,就把它们读入内存,并把控制权交给该文件。

BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元的大小等重要参数。

DBR是由高级格式化程序(即Format等程序)所产生的。

③FAT(FileAllocationTable文件分配表)

FAT是DOS、Windows9X系统的文件寻址格式,位于DBR之后。

在解释文件分配表的概念的时候,我们有必要谈谈簇(Cluster)的概念。

文件占用磁盘空间,基本单位不是字节而是簇。

一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64……

同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。

这种存储方式称为文件的链式存储。

由于硬盘上保存着段与段之间的连接信息(即FAT),操作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。

为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号。

对一个文件的最后一簇,则要指明本簇无后继簇。

这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。

由于FAT对于文件管理的重要性,所以为了安全起见,FAT有一个备份,即在原FAT的后面再建一个同样的FAT。

初形成的FAT中所有项都标明为“未占用”,但如果磁盘有局部损坏,那么格式化程序会检测出损坏的簇,在相应的项中标为“坏簇”,以后存文件时就不会再使用这个簇了。

FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,因为其中需要存放簇号。

FAT的格式有多种,最为常见的是FAT16和FAT32。

④DIR(Directory根目录区)

DIR位于第二个FAT表之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。

定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。

⑤DATA(数据区)

数据区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘的大部分空间。

当将数据复制到硬盘时,数据就存放在DATA区。

分区表损坏的修复

  硬盘主引导记录所在的扇区也是病毒重点攻击的地方,通过破坏主引导扇区中的DPT(分区表),即可轻易地损毁硬盘分区信息。

分区表的损坏通常来说不是物理损坏,而是分区数据被破坏。

因此,通常情况下,可以用软件来修复。

  通常情况下,硬盘分区之后,备份一份分区表至软盘、光盘或者USB盘上是极为明智的。

这个方面,国内著名的杀毒软件KV3000系列和瑞星都提供了完整的解决方案。

另外,对于没有备份分区表的硬盘,也提供了相应的修复方法,不过成功率相对较低。

  另外,中文磁盘工具DiskMan在这方面也是行家里手。

重建分区表作为它的一个“杀手锏”功能,非常适合用来修复分区表损坏。

  对于硬盘分区表被分区调整软件(或病毒)严重破坏,引起硬盘和系统瘫痪,DiskMan可通过未被破坏的分区引导记录信息重新建立分区表。

在菜单的工具栏中选择“重建分区表”,DiskMan即开始搜索并重建分区。

DiskMan将首先搜索0柱面0磁头从2扇区开始的隐含扇区,寻找被病毒挪动过的分区表。

接下来搜索每个磁头的第一个扇区。

搜索过程可以采用“自动”或“交互”两种方式进行。

自动方式保留发现的每一个分区,适用于大多数情况。

交互方式对发现的每一个分区都给出提示,由用户选择是否保留。

当自动方式重建的分区表不正确时,可以采用交互方式重新搜索。

  但是,需要注意的是,重建分区表功能不能做到百分之百的修复分区表,除非你以前曾经备份过分区表,然后通过还原以前备份的分区表来修复分区表损坏。

因此可见,平时备份一份分区表是多么的必要!

十年积累,硬盘分区,文件全手工恢复新鲜出炉了

最近经常见有很多硬盘分区表及硬盘数据被破坏而导致机器不能引导或使用的帖子,本着扶危济困的人道主义精神,和近十年的电脑龄以及之前成功修复N(N约等于10)块硬盘的经验特发一帖,系统讲述硬盘软故障恢复的方法,望大家不吝伺教!

 

注:

所有前提是硬盘没有物理损坏,以DISKEDIT(诺顿2.0forwindows中获取),DISKMAN(华军软件园),NORTON(D版),UNFOMAT(其它兼容的反格式化软件也可)等软件为基础,如果多少精通一下下汇编就再理想不过啦!

呵呵~~~~

好,万事就绪!

先说一下当系统分区表被误操作或病毒破坏时会出现的现象。

1:

启动显示NOROMBASIC。

2:

启动显示INVALIDPARTITIONTABLE。

3:

无显示(如遭CIH毒手)。

4:

提示硬盘逻辑分区错误无法正常识别(如提示逻辑盘符超过Z,并切FDISK等程序无法识别)5:

对于AWARDBIOS可能还会提示硬盘无法初始化(没用过AMI的,不知道会有什么显象……)

知道了表象现在来研究一下本质,我尽可能简单的解释一下硬盘的物理结构和各种参数。

众所周知,硬盘的主引导区位于硬盘的0柱0面1区包含有若干分区表项,共有64字节。

其中每个分区项有16字节包括以下一些信息:

第一字节,是引导标志,其中80为活动分区00为非活动分区。

第二字节,起始磁头,表明分区的起始位置。

第二字节,表示起始扇区,其中低六位(简单说就是*右面的六位)为起始扇区,高二位为起始柱面(有时也会加上第四字节)。

第三字节,表示硬盘柱面信息。

第四字节,确定起始柱面的的低八位。

第五字节,决定分区的类型,06代表FAT16,0b代表FAT32,63代表UNIX分区。

第6字节:

终止磁头

第7字节:

低6位为终止扇区,高2位与第8字节为终止柱面

第8字节:

终止柱面的低8位

第9-12字节:

该分区前的扇区数目

第13-16字节:

该分区占用的扇区数目

扩展分区的信息位于上面所示的硬盘分区表中,逻辑分区的信息则位于扩展分区的起始扇区,可通过查找上面的表得到起始地址“X面/X扇区/X柱”所对应的扇区。

分区信息的16个字节表示的是逻辑驱动器(D:

E:

……)的起始和结束地址。

了解这些后当分区表破坏后我们就能利用各种软件来进行手工恢复,如果没有就手的软件的话那么FDISK/MBR手工填写参数也马马虎虎啦!

呵呵~~~

手工恢复分区时推荐使用全中文界面且支持虚拟操作的DISKMAN!

至于大名鼎鼎的DISKEDIT因为操作过于复杂非老鸟甚用!

不然一时失手可能连哭都来不及……。

具体步骤是1:

检查C盘活动分区有效标志80是否存在。

编辑0柱1磁头1扇区,查看末尾是否有55AA的有效标志。

根据自己分区的情况依次检查分区的类型标志,引导标志和系统标志是否与自己的硬盘相同如不同就改为正确的。

致此分区引导记录应该被恢复的七七八八了。

选择DISKMAN菜单中重建分区表一项,从0柱0磁头2扇区以自动或者交互两种方式开始扫描硬盘,建议对硬盘参数有较深了解的人选择交互方式,由于自己对自己的硬盘比较了解所以成功的可*性大些。

不了解的人还是选择自动好些……至此,运气好的话应该可以恢复硬盘的使用了,如果只是分区有问题加之上天保佑的话至此能进入98也是有可能的!

备份好必要的数据后最好重新分区并且FOIMAT/U。

如果不能使用但可以用启动盘引导后可以得到硬盘的控制权就是说可以进入分区,这时可以使用一些杀毒软件(KV3000)的重建分区功能。

毕竟人家正规军的办法比起咱这土办法应该还是牢*些的。

如果还不成的话那我也只好拿出最后的法宝了!

用DEBUG搞定它!

事先声明,下面这段DEBUG我只用过一次,虽然幸运的成功了但不保证适用于所有硬盘,而且说实话我的DEBUG水平也就是马马虎虎应付场面的,实在不够牢*,只提供一下思路,大家用的时候最好搞清楚再来。

如果实在没着了照搬也成,反正已经不能用了也不会有更烂的后果……不过至于到底会出现什么后果没我责任哦!

呵呵~~~~~

debug

a100

movax,201 

*/以下三行是对寄存器的操作

movbx,200

moccx,1

int13 

 

*/调用中断13对硬盘写操作

int3

g=200

d3b03ff

e3be80 

*/针对引导区添入引导区有效标志80

e1023

g-100

到这如果还搞不定那我也没办法了……只好送修或者找人用专用设备读出残存的数据,不过花费银子不菲,不如买了新的省心!

恢复分区说完了现在聊一下如何恢复数据。

由于恢复数据和硬盘大小参数密切相关所以不能具体到没一块硬盘这里也只是给一下大致的操作方法,具体到每人的硬盘还要根据自己的具体情况来搞定。

1:

假设C全毁(一般我们见势不妙都会立刻关机所以除C外其它硬盘不会受到太大的损失)需要恢复D上的文件(我们大多数重要文件不会存在C盘吧?

)。

按上面的方法先恢复分区,如果有一个大小及逻辑分区都相同或者至少不是差得很夸张的完好硬盘就最理想不过!

只需备份下它的分区表恢复即可!

(对于仅有分区表被毁的现象此种恢复方法应列为第一优先的考虑!

2:

这里就要用到DISKEDIT了。

恢复分区重新启动后运行DISKEDITD:

/M按F6以分区表方式查找,一般可以找到X道1头1扇区(X值难以确定)。

由于从1磁头开始那么其为第一逻辑分区即D的可能很大,如此则其原始连接应在X道0头1扇区,通过INFO->

DRIVERINFO查看该扇区得到原主分区的结束位置。

因为主分区一般开始于0道0头1扇,现在可以大致确定下主分区的信息了。

3:

执行TOOLS->

RECALCUATEPARTITION添入刚刚得到的参数重新计算分区,然后写入到硬盘并重新启动。

4:

FORMATC:

/S重新填充C的引导信息

5:

再重启,执行(UN)FORMAT/Z:

8D:

恢复D的原始簇值(因为如此恢复分区簇的数量和原先的数量不同的可能性较大)

6:

如为FAT32分区则以DISKEDIT/M维护模式编辑磁盘将主分区表中1C2H中的0600改为0B00将FAT清零为重新格式化FAT32做准备

7:

重新启动后先运行FORMAT/Z:

完成后在进行反格式化UNFORMAT此时文件应该大部恢复。

当然可能部分文件名字会有出入但不会变化太大。

此种恢复操作是针对FAT16如果分区为FAT32那可以省不少的事,但个别时候操作上可能更繁琐些。

感谢大家能耐心看完,我这些土办法还是经过一定的实践考验的,可能比不上专业的工具或技术人员但在实在没有办法的时候也还能讲就一下的。

全部文章都只是个思路,尤其恢复文件是根据格式化后可以反格式化完成的,此间不能有写硬盘的操作,所以还是有点不便。

其实如果能用现成的软件完成任务的话就不要用我的方法了。

一家之言谨做参考,如果谁还有其它办法欢迎一起切磋!

谢谢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1