硬盘数据的恢复法.docx
- 文档编号:7345276
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:6
- 大小:23.01KB
硬盘数据的恢复法.docx
《硬盘数据的恢复法.docx》由会员分享,可在线阅读,更多相关《硬盘数据的恢复法.docx(6页珍藏版)》请在冰豆网上搜索。
硬盘数据的恢复法
硬盘数据的恢复法
当用FDISK删除了硬盘分区之后,表面上是硬盘中的数据已经完全消失,在未格式化时进入硬盘会显示为无效驱动器。
如果了解FDISK的工作原理,就会知道FDISK只是重新改写了硬盘的主引导扇区(0面0道1扇区)中的内容,具体说就是删除了硬盘分区表信息,而硬盘中的任何分区的数据均没有改变。
可仿照上述的分区表错误的修复方法,即想办法恢复分区表数据即可恢复原来的分区及数据。
如果已经对分区格式化,在先恢复分区后,可按下面的方法恢复分区数据。
误格式化硬盘数据的恢复
在DOS高版本状态下,FORMAT格式化操作在缺省状态下都建立了用于恢复格式化的磁盘信息,实际上是把磁盘的DOS引导扇区、FAT分区表及目录表的所有内容复制到了磁盘的最后几个扇区中(因为后面的扇区很少使用),而数据区中的内容根本没有改变。
这样通过运行UNFORMAT命令即可恢复。
另外DOS还提供了一个MIROR命令用于记录当前磁盘的信息,供格式化或删除之后的恢复使用,此方法也比较有效
硬盘软故障完全修复手册——数据结构篇
硬盘是计算机中极为重要的存储设备,计算机工作所用到的全部文件系统和数据资料的绝大多数都存储在硬盘中。
硬盘是产生计算机软故障最主要的地方,常见的硬盘软故障有:
硬盘重要参数及文件丢失,电脑不能起动;碎片过多,电脑运行速度变慢;硬盘分区后丢失容量等。
对付硬盘软故障,只要我们肯动脑并利用一些硬盘维护工具,发挥一不怕苦、二不怕(硬盘)死的革命精神,外加胆大心细,当然还要掌握硬盘基本常识,这样就可以轻松搞定(说的容易、做起来可不简单)。
因此,我收集了大量的资料整理汇编了“硬盘软故障完全修复手册”,希望能在与大家一起学习的过程中掌握硬盘常见故障的排除方法,做到“自已动手、丰衣足食”,凡事不求人的目的。
大家知道,一个硬盘要能存放文件,必须经过硬盘分区,格式化等操作步骤,因为经过这些步骤之后,在硬盘中就建立起了主分区,引导分区,确定了FAT16或FAT32文件表。
主分区的作用是保存硬盘中各逻辑分区在盘片上起始位置和终止位置及分区的容量大小。
引导分区的作用是在固定的位置存放有操作系统文件,在电脑送电或复位时,由BIOS程序将处于固定位置的系统文件装入内存,再将电脑控制权交给系统文件人而完成引导过程。
扩展分区作为一个主分区占用了主分区表的一个表项。
在扩展分区起始位置所指示的扇区(即该分区的第一个扇区)中,包含有第一个逻辑分区表,同样从1BEH字节开始,每个分区表项占用16个字节。
逻辑分区表一般包含两个分区表项,一个指向某逻辑分区,另一个则指向下一个扩展分区。
下一个扩展分区的首扇区又包含了一个逻辑分区表,
这样以此类推,扩展分区中就可以包含多个逻辑分区。
下面我们就来学习一下硬盘数据的基本结构。
★硬盘的数据结构★
①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是否存在。
2:
编辑0柱1磁头1扇区,查看末尾是否有55AA的有效标志。
3:
根据自己分区的情况依次检查分区的类型标志,引导标志和系统标志是否与自己的硬盘相同如不同就改为正确的。
致此分区引导记录应该被恢复的七七八八了。
4:
选择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:
8D:
完成后在进行反格式化UNFORMAT此时文件应该大部恢复。
当然可能部分文件名字会有出入但不会变化太大。
注:
此种恢复操作是针对FAT16如果分区为FAT32那可以省不少的事,但个别时候操作上可能更繁琐些。
感谢大家能耐心看完,我这些土办法还是经过一定的实践考验的,可能比不上专业的工具或技术人员但在实在没有办法的时候也还能讲就一下的。
全部文章都只是个思路,尤其恢复文件是根据格式化后可以反格式化完成的,此间不能有写硬盘的操作,所以还是有点不便。
其实如果能用现成的软件完成任务的话就不要用我的方法了。
一家之言谨做参考,如果谁还有其它办法欢迎一起切磋!
谢谢
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬盘数据 恢复