基于关键区的一种单机备份及灾难恢复技术

来源:期刊VIP网所属分类:应用电子技术发布时间:2014-08-01浏览:

  摘要:本文提出了一种微机文件系统的备份和恢复技术,其特点在于自动快捷,无须软盘或其它贮存介质,占用资源少,给用户在硬盘崩溃时恢复系统带来了希望。

  关键字:FAT表 文件系统 备份 数据安全 灾难恢复

  2 备份和恢复技术简介

  2.1 备份的重要性

  备份是保证数据安全的一种必不可少的手段。在采用自动化进行管理的重要部门备份都是一个必不可少的环节。对于个人电脑用户,经常性的对重要数据进行备份也是一个良好的习惯。然而,常常有不少用户忽略了这一环节,等到数据丢失时,才痛心疾首,悔不埃言。1999年4月26日的全球CIH病毒大发作令很多用户痛失数据,这个惨痛的教训也提醒大家在数字信息时代,数据备份的重要性。

  2.2 常见备份技术

  从备份和恢复的技术角度和占用贮存空间考虑,我们可以把备份分成两种,一种是保存数据内容本身的一份或多份拷贝或者是部分冗余恢复信息,另一种就是保存数据在贮存体上组织信息结构的拷贝。

  前一种技术有各种备份技术和手段,诸如双机热备份、RAD磁盘冗余阵列等,都得到了广泛的应用。这些技术都是针对企业应用的,对于个人用户而言,因为成本和维护技术等问题,并不适用。

  后一种技术对于个人用户就用得比较多了,比如一些杀毒软件都会提示用户用软盘保存系统关键信息,用于遭受病毒破坏时,恢复系统。

  2.3 个人用户的备份技术

  对于个人用户而言,热备份等技术不适合,一般也就是把重要数据刻成光盘,在硬盘上保留多个拷贝,在硬盘的不用分区上保留拷备,用额外的硬盘或移动硬盘保存重要文件等。另外就是采用一些软件提供的系统关键数据保存功能。本文所要讨论的正是属于上述第二种的备份技术。

  3 计算贮存系统——FAT文件系统

  微机上最常用的DOS/WINDOWS系统支持的文件系统主要是FAT16/FAT32系统,本文也是针对这种文件系统讨论这种备份技术,另外软盘上的FAT12系统已经很少用,这里不作讨论。

  对于FAT系统而言,一个硬盘上的分区被格式化为独立的一个系统,可以分为四个部分:引导区、FAT表区、根目录区、数据区。FAT16系统引导区(称为BOOT区)占一个扇区,包括引导记录和有关磁盘的系统参数(BPB表),FAT表区紧随其后,所占扇区数根据分区大小而不同,在BPB表中有一项指定了每个FAT所占扇区数。FAT表区包括两份FAT表,两份FAT表在正常情况下应始终保持一致。

  再接着便是根目录区(ROOT)了,根目录区所占扇区数也由BPB表中指定。目录区每一项32个字节,包括了有关文件和目录的名称、属性、长度等的信息,如果是长文件名则一个文件的记录要占几个目录项。根目录区后面便是数据区了。FAT32系统和FAT16系统结构基本一样,只是FAT表每一项的位数不同,一个是32位一个是16位,另外BPB表的参数项位置有所变化,主要是针对大硬盘而改变的。下面再讨论一下FAT表的结构,以16位FAT表为例,FAT表以16位两个字节为一项,开始两项为FFF8,FFFF作为FAT表的标志,接下去的每一项都代表一个簇的硬盘空间,所谓簇是DOS/WINDOWS系统中磁盘空间的一种单位,一个簇由物理上连续的若干个扇区组成,具体每簇包括多少扇区也在BPB表中有记录,根据硬盘分区大小而不同,文件的空间分配以簇为基本单位,一个文件不管大小将至少分配一簇。数据区开始簇号为2,也就是FAT表中第2项所代表的(第0项和第1项作为FAT表标志)。数据区每一簇空间都对应于FAT表中的一项,当FAT表中对应的一项为0时则表示那一簇硬盘空间是空闲的,还未被文件占用。一个文件可能在磁盘上占用好几簇的空间,这几块空间分布可能并不是连续的,那如何记录一个文件存放在磁盘的哪些地方呢?这就要综合目录表和FAT表的信息了。前面已经说过,一个文件在目录表中占有一项(长文件名则占多项),存贮文件的有关信息,其中有一项就是文件的首簇号,也就文件开始的存放地址。如果文件在一簇空间中容不下,就要看FAT表了,FAT表中的某一项如果不是空闲的,则是记录了文件占用空间的下一个簇号,依次类推,一个文件的所占用的簇号将形成一个链表,而文件最后一簇对应的FAT表项则记录了一个EOF标志FFFF,表示文件结束,相当于链表的尾结点。

  格式化硬盘时,操作系统会自动根据硬盘分区大小选择FAT系统的簇大小,比如4K,8K等,所以在硬盘上,1个簇里面的内容肯定是连续的,而一个文件由若簇构成,可以分布在整个文件系统各个地方。

  FAT表是文件系统关键的信息,把保存了文件是如何由一个一个不连续的簇按顺序链接起来,如果丢失了FAT表信息,则只有一堆混乱的数据,无法构成文件, 现有一些恢复软件在假设文件是连续存放的情况下可以尝试恢复。

  4 基于关键区的单机自备份技术

  4.1 一般FAT文件系统关键区备份原理与局限

  从以上讨论可以看出,对于FAT文件系统,BOOT区、FAT区、ROOT区都是系统的关键区,里面记录有关文件系统的重要数据,一旦这些区域被破坏,即使文件本身数据还在磁盘上,也很难找到,因为丢失了索引,就不知道文件占用哪些物理空间了,尤其对于二进制文件。些外,硬盘的主引导区也是关键区,它存放了整个硬盘的主要分区信息。而这些区域中最关键的是FAT区,它记录了文件的具体分布位置。其它区的如主引导区,BOOT区的数据还可能根据分析推算出来,而根目录丢失,还可以通过直接查找子目录表来找回下面的文件数据。而FAT表信息一旦丢失就难于恢复了。事实上这样区域由于位于最前面,最容易遭到破坏,病毒也常常只攻击这些区域。如CIH病毒,破坏硬盘是便是从头到尾用随机数据来写硬盘,主引导扇区,C盘的BOOT区、FAT区、ROOT区便首当其冲遭到破坏。现实中遇到的大部分文件系统无法访问的问题都只是这样系统关键区的信息被破坏,而文件系统中大部分文件的本身数据不太可能被全部破坏,这里所说破坏就是指被清零或被其它数据所覆盖。一些磁盘工具已经提供了备份这些关键区的功能,如Norton磁盘工具。这些工具通过制作紧急修复软盘把系统关键区数据备份到软盘上,在系统崩溃时用来恢复系统。这确实是一种有效的手段。

  4.2 自备份和自链接文件

  此文所讨论的技术,基于两点关键:1.开机备份和定时备份. 2.自链接文件

  基于4.1中所讨论的局限,软件采用开机自动运行的方式,它将定时将系统的关键区包括分区表、BOOT区、FAT表、ROOT表保存下来放到一个文件里。这样的文件可以有多个,轮流恢盖使用。比如每隔一小时备份一次,采用5个文件,第1个小时写文件1,第2个小时写文件2,依次到第5个小时,写文件5,第6个小时再写文件1,恢盖5个小时前的数据。文件中同时会记下备份的时间序号。

  那么如果文件系统被破坏了,所以文件都看不到了,包括这些备份文件,又怎么能利用它们恢复系统呢?这里采用办法就是自链接文件。所谓自链接文件,以文件系统的最小分配单元--簇为一个块结构,这个结构头部有特殊标志和这一块在整个文件中的序号。

  4.3 恢复过程

  当FAT文件系统关键区数据被破坏,索引信息丢失,无法从FAT表中得到备份文件所占的数据块时,采用直接在磁盘上从头到尾查找,以文件簇大小为单位读取磁盘块,找到有头部标志数据扇区,计算校验和,确定属于备份文件的块,把所有的块找到后,就可以根据其中的序号顺序连接起来,从而把整个文件恢复出来。把所有的备份文件恢复出来以后就可以用其中最新的并且校验和无误的文件来恢复系统的关键信息,从而恢复整个文件系统。一般来说,只要大部分数据没有被覆盖,就能恢复大部分文件。

  一般硬盘格式化时用户常常会分几个分区,备份软件可以再在不同分区上存放多份备份文件,从而使恢复成功概率更高。因为一般破坏可能集中在硬盘的某一区域,特别是头部,那么即使第一个分区的备份文件数据被破坏了,也能找到其它分区的备份文件。

  5 小结

  本文讨论了一种保护个人电脑数据安全性的方法,利用这种方法,在不增加硬件成本和时间成本的情况下,可以大大提高文件系统破坏以后的数据恢复成功的概率。

  6 参考文献

  [1]《浅析FAT32文件系统》计算机与数字工程 2005年01期 张明亮 , 张宗杰

  [2]《FAT32文件分配格式及对系统的影响》机械设计与制造 2000年第03期 郑宝玲

期刊VIP网,您身边的高端学术顾问

文章名称: 基于关键区的一种单机备份及灾难恢复技术

文章地址: http://www.qikanvip.com/yingyongdianzijishu/14711.html