免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1464 | 回复: 0
打印 上一主题 下一主题

[备份软件] 硬盘数据恢复与相关数据结构 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-16 16:35 |只看该作者 |倒序浏览

   大家知道,一个硬盘要能存放文件,必须经过硬盘分区,格式化等操作步骤,因为经过这些步骤之后,在硬盘中就建立起了主分区,引导分区,确定了FAT16或
FAT32文件表。主分区的作用是保存硬盘中各逻辑分区在盘片上起始位置和终止位置及分区的容量大小。引导分区的作用是在固定的位置存放有操作系统文件,
在电脑送电或复位时,由BIOS程序将处于固定位置的系统文件装入内存,再将电脑控制权交给系统文件人而完成引导过程。扩展分区作为一个主分区占用了主分
区表的一个表项。在扩展分区起始位置所指示的扇区(即该分区的第一个扇区)中,包含有第一个逻辑分区表,同样从1BEH字节开始,每个分区表项占用16个
字节。逻辑分区表一般包含两个分区表项,一个指向某逻辑分区,另一个则指向下一个扩展分区。下一个扩展分区的首扇区又包含了一个逻辑分区表,
这样以此类推,扩展分区中就可以包含多个逻辑分区。下面我们就来学习一下硬盘数据的基本结构。
                             (一)硬盘的基本结构
① 主引导扇区 MBR(Main Boot Record 主引导记录区)
   MBR位于整个硬盘的0磁道0柱面1扇区,包括硬盘引导程序和分区表。在总共512字节的硬盘主引导扇区中, MBR只占用了其中的446个字节,其最后两
个字节“55 AA”是分区的结束标志。另外的64个字节交给了DPT(Disk Partition Table
硬盘分区表),从1BEH字节开始,共占用64个字节,包含四个分区表项。每个分区表项的长度为16个字节,它包含一个分区的引导标志、系统标志、起始和
结尾的柱面号、扇区号、磁头号以及本分区前面的扇区数和本分区所占用的扇区数。其中“引导标志”表明此分区是否可引导,即是否活动分区。当引导标志为
“80”时,此分区为活动分区;“系统标志”决定了该分区的类型,如“06”为FAT16分区,“0B”为FAT32分区,“07”为NTFS分区,
“63”为UNIX分区,等;起始和结尾的柱面号、扇区号、磁头号指明了该分区的起始和终止位置。
② 操作系统引导扇区 DBR(Dos Boot Record 操作系统引导记录区)
   它通常位于硬盘的0磁道1柱面1扇区,是操作系统可直接访问的第一个扇区,它包括一个引导程序和一个被称为BPB(BIOS Parameter
Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是操作系统的引导文件(以DOS为
例,即是Io.sys和Msodos.sys)。如果确定存在,就把它们读入内存,并把控制权交给该文件。BPB参数块记录着本分区的起始扇区、结束扇
区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元的大小等重要参数。DBR是由高级格式化程序(即Format等程序)所产生的。
③ 文件分配表 FAT(File Allocation Table)
   FAT是DOS、Windows 9X系统的文件寻址格式,位于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区。
                      (二)硬盘分区方式
   我们平时说到的分区概念,不外乎三种:主分区、扩展分区和逻辑分区。主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。在主分区中,不允许再建立其它逻辑磁盘。
 
 扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字
节,故主引导扇区中总计可以存储4个分区的数据。操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘。对于具体的
应用,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。
  所谓扩展分
区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存
储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的
分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。
   需要特别注意的是,由于主分区之后的各个分区是通过一种单向链表的结构来实现链接的,因此,若单向链表发生问题,将导致逻辑磁盘的丢失。
   既然要进行数据的恢复,当然数据的存储原理我们不能不提,在这之中,我们还要介绍一下数据的删除和硬盘的格式化相关问题……
   文件的读取
   操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改曰期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0023。
) y6 r* |% o- T1 @4 |) _) W$ |& J$ I% U『上海馨欣网络科技有限公司』pcfix--home『馨欣电脑医院』
& A* J4 A2 y+ _- h! v* Q
! ^! U8 d. d: }. {$ g9 m) s+ ?6 X$ s
2 K( F- u( b) k) i! hpcfix.job.topzj.com
# T" n  l+ ?/ b" @1 C5 L1 ]7 ^
& p; X$ V" D1 N3 F) {( r8 \『上海馨欣网络科技有限公司』pcfix--home『馨欣电脑医院』: u8 ~$ f1 c7 Y, _5 I  P
   操作系统从0023簇读取相应的数据,然后再找到FAT的0023单元,如果内容是文件结束标志(FF),则表示文件结束,否则内容保存数据的下一个簇的簇号,这样重复下去直到遇到文件结束标志。pcfix.job.topzj.com+ p; P# v/ L  Y) f3 v; \, `
   文件的写入pcfix.job.topzj.com3 N9 l9 i9 B0 |7 S
   当我们要保存文件时,操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件保存,并将Data区的第一个簇写入DIR区,其余的动作和上边的读取动作差不多。pcfix.job.topzj.com8 |4 d: `+ J0 s7 {5 f1 a) {
   文件的删除. x3 o: R1 X+ Q5 W; k& I4 L
   Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动——将目录区的文件的第一个字符改成了E5就表示将改文件删除了.* I# ~) L+ q* S* Y2 K( a! H: O
硬盘数据丢失后的解决方法pcfix.job.topzj.com5 }+ G8 K! e- c$ g9 ^3 L2 u# I
伴随着科技的发展,80G、120G的硬盘在普通用户中都已经屡见不鲜了。但是,在长时间的使用硬盘过程中,我们也在承受着硬盘随时也会出错的风险,轻则
硬盘的数据丢失,重则整个硬盘报废,造成不可预料的严重后果。采用什么办法,才能解决常见的硬盘数据丢失故障,成为用户十分关注的问题。
                  
                       (三)硬盘的分区
    对于你手中硬盘来说,首先要做的事情就是分区了。硬盘分区是否合理直接影响到以后工作的便利性和数据的安全性。我们最常见到的分区表错误也是硬盘的最严重错误,不同错误的程度会造成不同的损失。
  如果是没有活动分区标志,则计算机无法启动。但从软驱或光驱引导系统后可对硬盘读写,可通过fdisk重置活动分区可进行修复。如果是某一分区类型错误,会造成某一分区的丢失。
  在一般情况下完成硬盘分区之后,会形成3种形式的分区状态;即主分区、扩展分区和非DOS分区。
  在硬盘中非DOS分区
(Non-DOS
Partition)是一种特殊的分区形式,它是将硬盘中的一块区域单独划分出来供另一个操作系统使用,对主分区的操作系统来讲,是一块被划分出去的存储
空间。只有非DOS分区内的操作系统才能管理和使用这块存储区域,非DOS分区之外的系统一般不能对该分区内的数据进行访问。
8 ?. g! v# N6 J. @9 g2 M' d$ q
0 W4 S. W% R, ^: W% J- \2 B! l『上海馨欣网络科技有限公司』pcfix--home『馨欣电脑医院』
: N% h5 g0 b0 D3 C( t7 w  P6 v! ~3 z) d3 h
  主分区则是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。其中的主引导程序是它的一部分,此段程序主要用于检测硬盘分区的正
确性,并确定活动分区,负责把引导权移交给活动分区的DOS或其他操作系统。此段程序损坏将无法从硬盘引导,但从软区或光区之后可对硬盘进行读写。
  而扩展分区的概念是比较复杂的,极容易造成硬盘分区与逻辑磁盘混淆;分区表的第四个字节为分区类型值,正常的可引导的大于32mb的基本DOS分区值为06,扩展的DOS分区值是05。如果把基本DOS分区类型改为05则无法启动系统 ,并且不能读写其中的数据。
  如果把06改为DOS不识别的类型如efh,则DOS认为改分区不是DOS分区,当然无法读写。很多人利用此类型值实现单个分区的加密技术,恢复原来的正确类型值即可使该分区恢复正常。
% Q: f1 {( N9 ?$ [1 l4 ^% Upcfix.job.topzj.com
9 }# u  Y8 M8 P; P『上海馨欣网络科技有限公司』pcfix--home『馨欣电脑医院』$ K6 k; `  [0 B
  分区表中还有其他数据用于纪录分区的起始或终止地址。这些数据的损坏将造成该分区的混乱或丢失,一般无法进行手工恢复 ,唯一的方法是用备份的分区表数据重新写回,或者从其他的相同类型的并且分区状况相同的硬盘上获取分区表数据,否则将导致其他的数据永久的丢失。$ L% q. n$ O1 c/ a! Q5 v
  由于微机操作系统仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,所以操作系统只允许存储4个分区的数据,实际使用中4个
逻辑磁盘往往不能满足需求;我们常说的硬盘扩展分区,它只是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。所以一旦单向链表发生问题,将会
导致逻辑磁盘的丢失。
                         (四)硬盘的数据恢复
1、误格式化硬盘数据的恢复
  在DOS高版本状态下,格式化操作format在缺省状态下都建立了用于恢复格式化的磁盘信息,实际上是把磁盘的DOS引导扇区,fat分区表及目录表的所有内容复制到了磁盘的最后几个扇区中(因为后面的扇区很少使用),而数据区中的内容根本没有改变 。
 
 我们可以使用多种恢复软件来进行数据恢复,比如使用Easyrecovery
6.0和Finaldata2.0等恢复软件均可以方便的进行数据恢复工作。另外DOS还提供了一个miror命令用于纪录当前的磁盘的信息,供格式化或
删除之后的恢复使用,此方法也比较有效。
& \4 u4 V8 o7 i% l
& p6 s" W) \% `, O  A7 E☆浦东新区☆电脑维修|电脑知识|电脑学习|电脑交流『上海馨欣网络科技有限公司』pcfix--home『馨欣电脑医院』3 D% D6 W* j; t7 L
2、零磁道损坏时的数据恢复☆浦东新区☆电脑维修|电脑知识|电脑学习|电脑交流& Y7 u+ U. {: i. `0 N/ Y$ s0 @
  硬盘的主引导记录区(MBR)在零磁道上。MBR位于硬盘的0磁道0柱面1扇区,其中存放着硬盘主引导程序和硬盘分区表。在总共512字节的硬盘主引
导记录扇区中,446字节属于硬盘主引导程序,64字节属于硬盘分区表(DPT),两个字节(55 AA)属于分区结束标志。8 z3 N( h8 Z: E5 g% T2 b" S
  零磁道一旦受损,将使硬盘的主引导程序和分区表信息将遭到严重破坏,从而导致硬盘无法引导。0磁道损坏判断:系统自检能通过,但启动时,分区丢失或者
C盘目录丢失,硬盘出现有规律的“咯吱……咯吱”的寻道声,运行SCANDISK扫描C盘,在第一簇出现一个红色的“B”,或者Fdisk找不到硬盘、
DM死在0磁道上,此种情况即为零磁道损坏!
  零磁道损坏属于
硬盘坏道之一,只不过它的位置相当重要,因而一旦遭到破坏,就会产生严重的后果。通常0磁道损坏的硬盘,可以通过PCTOOLS的DE
磁盘编辑器(或者DiskMan)来使0磁道偏转一个扇区,使用1磁道来作为0磁道来进行使用。而数据可以通过Easyrecovery来按照簇进行恢
复,但数据无法保证得到完全恢复。
3、分区表损坏时的数据修复
( U$ U. e  @4 w* @$ ]9 m3 L  W3 m; ~3 c( l5 e( [『上海馨欣网络科技有限公司』pcfix--home『馨欣电脑医院』/ a: i' S- V0 t( f& L( Q; g1 `+ `( s0 o
  硬盘主引导记录(MBR)所在的扇区也是病毒重点攻击的地方,通过破坏主引导扇区中的DPT(分区表),就可以轻易地损毁硬盘分区信息,达到对资料的破坏目的。分区表的损坏是分区数据被破坏而使记录被破坏的。所以,我们可以使用软件来进行修复。『上海馨欣网络科技有限公司』pcfix--home『馨欣电脑医院』  X4 `6 v- l, @8 R! |& O0 |
  硬盘分区之后,要备份一份分区表至软盘、光盘或者移动存储活动盘上。$ O  A/ c9 @& ?5 j  ^
  在恢复分区上,诺顿磁盘医生NDD是绝对强劲的工具,可以自动修复分区丢失等情况,可以抢救软盘坏区中的数据,强制读出后搬移到其它空白扇区。在硬盘
崩溃或异常的情况下,它可能带给用户一线希望。在出现问题后,用启动盘启动,运行NDD,选择Diagnose进行诊断。NDD会对硬盘进行全面扫描,如
果有错误的话,它会向你提示,然后只要根据软件的提示选择修复项目即可,而且这些问题它都能轻轻松松地解决。pcfix.job.topzj.com4 Z  G& T* z6 P: M
  另外,大家非常熟悉的中文磁盘工具DiskMan,在重建分区表方面具有非常实用的功能,用于修复分区表的损坏是最合适不过了。% T7 [/ t3 m- P/ l
  但是,重建分区表功能也不能保证做到百分之百的修复好硬盘分区表。所以要记住“求谁也不如求自己”还是保护好自己的硬盘吧!尽量避免硬件损伤以及病毒
的侵扰,一定要做好分区表的备份工作;如果没有做备份的话,请下载一个DiskMan软件,然后在工具选项中,选备份分区表,一般默认是备份到软驱上面
的。然后你应该把这个备份文件刻录到光盘或者是拷贝到U盘里,千万不要放到硬盘里,那样就与没有备份的效果一个样了!
4、误删除之后的数据恢复
  在计算机使用过程中我们最常见的数据恢复就是误删除之后的数据恢复了,但是在这个时候一定要记住,千万不要再向该分区或者磁盘写入信息,因为刚被删除的文件被恢复的可能性最大。
  实际上当用fdisk删除了硬盘分区之后,表面现象是硬盘中的数据已经完全消失,在未格式化时进入硬盘会显示无效驱动器。具体说就是删除了硬盘分区表信息,而硬盘中的任何分区的数据均没有改变。
  由于删除与格式化操作对于文件的数据部分实质上丝毫未动,这样,就给文件恢复提供了可能性。我们只要利用一些反删除软件(它的工作原理是通过对照分区表来恢复文件的),用户可以轻松地实现文件恢复的目的。
: a# N  _/ n' n
: F4 |9 x' }8 \/ m) h9 ]5 X+ x
+ w  U1 X! C, T- q7 Z" y- T
& U# z4 H8 F+ D& f! p. a, npcfix.job.topzj.com『上海馨欣网络科技有限公司』pcfix--home『馨欣电脑医院』) P2 t4 G$ x: R. F! e$ q
  同时误格式化同误删除的恢复方法在使用上基本上没有大的区别,只要没有用Fdisk命令打乱分区的硬盘(利用FDISK命令对于40G以内的硬盘进行
分区,还是很方便实用的,所有启动盘上都有,主板支持也没有任何问题),要恢复的文件所占用的簇不被其他文件占用,这样,格式化前的大部分数据仍是可以被
恢复的。
  如果你的Windows系统还可以正常使用的话,那么最简单的恢复方法就是用Windows版EasyRecovery软件,它恢复硬盘数据的功能十分强大,不仅能恢复被从回收站清除的文件,而且还能恢复被格式化的FAT16、FAT32或NTFS分区中的文件。
  以上是当我们遇到硬盘数据丢失后如何进行数据恢复的几种方法,相信这些对于电脑高手的朋友们来说真的不算什么,但还有不少初学电脑的朋友在为硬盘数据的丢失而苦恼啊!通过今天简单介绍的几种方法,衷心希望能对大家有点帮助。
1 ?  L- g; w& V3 \$ W" E+ v9 }# d. Ypcfix.job.topzj.com
4 D1 p* V1 U" l
         


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/82418/showart_1309041.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP