期刊VIP學術(shù)指導 符合學術(shù)規(guī)范和道德
保障品質(zhì) 保證專業(yè),沒有后顧之憂
來源:期刊VIP網(wǎng)所屬分類:應(yīng)用電子技術(shù)時間:瀏覽:次
摘要:本文提出了一種微機文件系統(tǒng)的備份和恢復技術(shù),其特點在于自動快捷,無須軟盤或其它貯存介質(zhì),占用資源少,給用戶在硬盤崩潰時恢復系統(tǒng)帶來了希望。
關(guān)鍵字:FAT表 文件系統(tǒng) 備份 數(shù)據(jù)安全 災(zāi)難恢復
2 備份和恢復技術(shù)簡介
2.1 備份的重要性
備份是保證數(shù)據(jù)安全的一種必不可少的手段。在采用自動化進行管理的重要部門備份都是一個必不可少的環(huán)節(jié)。對于個人電腦用戶,經(jīng)常性的對重要數(shù)據(jù)進行備份也是一個良好的習慣。然而,常常有不少用戶忽略了這一環(huán)節(jié),等到數(shù)據(jù)丟失時,才痛心疾首,悔不埃言。1999年4月26日的全球CIH病毒大發(fā)作令很多用戶痛失數(shù)據(jù),這個慘痛的教訓也提醒大家在數(shù)字信息時代,數(shù)據(jù)備份的重要性。
2.2 常見備份技術(shù)
從備份和恢復的技術(shù)角度和占用貯存空間考慮,我們可以把備份分成兩種,一種是保存數(shù)據(jù)內(nèi)容本身的一份或多份拷貝或者是部分冗余恢復信息,另一種就是保存數(shù)據(jù)在貯存體上組織信息結(jié)構(gòu)的拷貝。
前一種技術(shù)有各種備份技術(shù)和手段,諸如雙機熱備份、RAD磁盤冗余陣列等,都得到了廣泛的應(yīng)用。這些技術(shù)都是針對企業(yè)應(yīng)用的,對于個人用戶而言,因為成本和維護技術(shù)等問題,并不適用。
后一種技術(shù)對于個人用戶就用得比較多了,比如一些殺毒軟件都會提示用戶用軟盤保存系統(tǒng)關(guān)鍵信息,用于遭受病毒破壞時,恢復系統(tǒng)。
2.3 個人用戶的備份技術(shù)
對于個人用戶而言,熱備份等技術(shù)不適合,一般也就是把重要數(shù)據(jù)刻成光盤,在硬盤上保留多個拷貝,在硬盤的不用分區(qū)上保留拷備,用額外的硬盤或移動硬盤保存重要文件等。另外就是采用一些軟件提供的系統(tǒng)關(guān)鍵數(shù)據(jù)保存功能。本文所要討論的正是屬于上述第二種的備份技術(shù)。
3 計算貯存系統(tǒng)——FAT文件系統(tǒng)
微機上最常用的DOS/WINDOWS系統(tǒng)支持的文件系統(tǒng)主要是FAT16/FAT32系統(tǒng),本文也是針對這種文件系統(tǒng)討論這種備份技術(shù),另外軟盤上的FAT12系統(tǒng)已經(jīng)很少用,這里不作討論。
對于FAT系統(tǒng)而言,一個硬盤上的分區(qū)被格式化為獨立的一個系統(tǒng),可以分為四個部分:引導區(qū)、FAT表區(qū)、根目錄區(qū)、數(shù)據(jù)區(qū)。FAT16系統(tǒng)引導區(qū)(稱為BOOT區(qū))占一個扇區(qū),包括引導記錄和有關(guān)磁盤的系統(tǒng)參數(shù)(BPB表),F(xiàn)AT表區(qū)緊隨其后,所占扇區(qū)數(shù)根據(jù)分區(qū)大小而不同,在BPB表中有一項指定了每個FAT所占扇區(qū)數(shù)。FAT表區(qū)包括兩份FAT表,兩份FAT表在正常情況下應(yīng)始終保持一致。
再接著便是根目錄區(qū)(ROOT)了,根目錄區(qū)所占扇區(qū)數(shù)也由BPB表中指定。目錄區(qū)每一項32個字節(jié),包括了有關(guān)文件和目錄的名稱、屬性、長度等的信息,如果是長文件名則一個文件的記錄要占幾個目錄項。根目錄區(qū)后面便是數(shù)據(jù)區(qū)了。FAT32系統(tǒng)和FAT16系統(tǒng)結(jié)構(gòu)基本一樣,只是FAT表每一項的位數(shù)不同,一個是32位一個是16位,另外BPB表的參數(shù)項位置有所變化,主要是針對大硬盤而改變的。下面再討論一下FAT表的結(jié)構(gòu),以16位FAT表為例,F(xiàn)AT表以16位兩個字節(jié)為一項,開始兩項為FFF8,FFFF作為FAT表的標志,接下去的每一項都代表一個簇的硬盤空間,所謂簇是DOS/WINDOWS系統(tǒng)中磁盤空間的一種單位,一個簇由物理上連續(xù)的若干個扇區(qū)組成,具體每簇包括多少扇區(qū)也在BPB表中有記錄,根據(jù)硬盤分區(qū)大小而不同,文件的空間分配以簇為基本單位,一個文件不管大小將至少分配一簇。數(shù)據(jù)區(qū)開始簇號為2,也就是FAT表中第2項所代表的(第0項和第1項作為FAT表標志)。數(shù)據(jù)區(qū)每一簇空間都對應(yīng)于FAT表中的一項,當FAT表中對應(yīng)的一項為0時則表示那一簇硬盤空間是空閑的,還未被文件占用。一個文件可能在磁盤上占用好幾簇的空間,這幾塊空間分布可能并不是連續(xù)的,那如何記錄一個文件存放在磁盤的哪些地方呢?這就要綜合目錄表和FAT表的信息了。前面已經(jīng)說過,一個文件在目錄表中占有一項(長文件名則占多項),存貯文件的有關(guān)信息,其中有一項就是文件的首簇號,也就文件開始的存放地址。如果文件在一簇空間中容不下,就要看FAT表了,F(xiàn)AT表中的某一項如果不是空閑的,則是記錄了文件占用空間的下一個簇號,依次類推,一個文件的所占用的簇號將形成一個鏈表,而文件最后一簇對應(yīng)的FAT表項則記錄了一個EOF標志FFFF,表示文件結(jié)束,相當于鏈表的尾結(jié)點。
格式化硬盤時,操作系統(tǒng)會自動根據(jù)硬盤分區(qū)大小選擇FAT系統(tǒng)的簇大小,比如4K,8K等,所以在硬盤上,1個簇里面的內(nèi)容肯定是連續(xù)的,而一個文件由若簇構(gòu)成,可以分布在整個文件系統(tǒng)各個地方。
FAT表是文件系統(tǒng)關(guān)鍵的信息,把保存了文件是如何由一個一個不連續(xù)的簇按順序鏈接起來,如果丟失了FAT表信息,則只有一堆混亂的數(shù)據(jù),無法構(gòu)成文件, 現(xiàn)有一些恢復軟件在假設(shè)文件是連續(xù)存放的情況下可以嘗試恢復。
4 基于關(guān)鍵區(qū)的單機自備份技術(shù)
4.1 一般FAT文件系統(tǒng)關(guān)鍵區(qū)備份原理與局限
從以上討論可以看出,對于FAT文件系統(tǒng),BOOT區(qū)、FAT區(qū)、ROOT區(qū)都是系統(tǒng)的關(guān)鍵區(qū),里面記錄有關(guān)文件系統(tǒng)的重要數(shù)據(jù),一旦這些區(qū)域被破壞,即使文件本身數(shù)據(jù)還在磁盤上,也很難找到,因為丟失了索引,就不知道文件占用哪些物理空間了,尤其對于二進制文件。些外,硬盤的主引導區(qū)也是關(guān)鍵區(qū),它存放了整個硬盤的主要分區(qū)信息。而這些區(qū)域中最關(guān)鍵的是FAT區(qū),它記錄了文件的具體分布位置。其它區(qū)的如主引導區(qū),BOOT區(qū)的數(shù)據(jù)還可能根據(jù)分析推算出來,而根目錄丟失,還可以通過直接查找子目錄表來找回下面的文件數(shù)據(jù)。而FAT表信息一旦丟失就難于恢復了。事實上這樣區(qū)域由于位于最前面,最容易遭到破壞,病毒也常常只攻擊這些區(qū)域。如CIH病毒,破壞硬盤是便是從頭到尾用隨機數(shù)據(jù)來寫硬盤,主引導扇區(qū),C盤的BOOT區(qū)、FAT區(qū)、ROOT區(qū)便首當其沖遭到破壞。現(xiàn)實中遇到的大部分文件系統(tǒng)無法訪問的問題都只是這樣系統(tǒng)關(guān)鍵區(qū)的信息被破壞,而文件系統(tǒng)中大部分文件的本身數(shù)據(jù)不太可能被全部破壞,這里所說破壞就是指被清零或被其它數(shù)據(jù)所覆蓋。一些磁盤工具已經(jīng)提供了備份這些關(guān)鍵區(qū)的功能,如Norton磁盤工具。這些工具通過制作緊急修復軟盤把系統(tǒng)關(guān)鍵區(qū)數(shù)據(jù)備份到軟盤上,在系統(tǒng)崩潰時用來恢復系統(tǒng)。這確實是一種有效的手段。
4.2 自備份和自鏈接文件
此文所討論的技術(shù),基于兩點關(guān)鍵:1.開機備份和定時備份. 2.自鏈接文件
基于4.1中所討論的局限,軟件采用開機自動運行的方式,它將定時將系統(tǒng)的關(guān)鍵區(qū)包括分區(qū)表、BOOT區(qū)、FAT表、ROOT表保存下來放到一個文件里。這樣的文件可以有多個,輪流恢蓋使用。比如每隔一小時備份一次,采用5個文件,第1個小時寫文件1,第2個小時寫文件2,依次到第5個小時,寫文件5,第6個小時再寫文件1,恢蓋5個小時前的數(shù)據(jù)。文件中同時會記下備份的時間序號。
那么如果文件系統(tǒng)被破壞了,所以文件都看不到了,包括這些備份文件,又怎么能利用它們恢復系統(tǒng)呢?這里采用辦法就是自鏈接文件。所謂自鏈接文件,以文件系統(tǒng)的最小分配單元--簇為一個塊結(jié)構(gòu),這個結(jié)構(gòu)頭部有特殊標志和這一塊在整個文件中的序號。
4.3 恢復過程
當FAT文件系統(tǒng)關(guān)鍵區(qū)數(shù)據(jù)被破壞,索引信息丟失,無法從FAT表中得到備份文件所占的數(shù)據(jù)塊時,采用直接在磁盤上從頭到尾查找,以文件簇大小為單位讀取磁盤塊,找到有頭部標志數(shù)據(jù)扇區(qū),計算校驗和,確定屬于備份文件的塊,把所有的塊找到后,就可以根據(jù)其中的序號順序連接起來,從而把整個文件恢復出來。把所有的備份文件恢復出來以后就可以用其中最新的并且校驗和無誤的文件來恢復系統(tǒng)的關(guān)鍵信息,從而恢復整個文件系統(tǒng)。一般來說,只要大部分數(shù)據(jù)沒有被覆蓋,就能恢復大部分文件。
一般硬盤格式化時用戶常常會分幾個分區(qū),備份軟件可以再在不同分區(qū)上存放多份備份文件,從而使恢復成功概率更高。因為一般破壞可能集中在硬盤的某一區(qū)域,特別是頭部,那么即使第一個分區(qū)的備份文件數(shù)據(jù)被破壞了,也能找到其它分區(qū)的備份文件。
5 小結(jié)
本文討論了一種保護個人電腦數(shù)據(jù)安全性的方法,利用這種方法,在不增加硬件成本和時間成本的情況下,可以大大提高文件系統(tǒng)破壞以后的數(shù)據(jù)恢復成功的概率。
6 參考文獻
[1]《淺析FAT32文件系統(tǒng)》計算機與數(shù)字工程 2005年01期 張明亮 , 張宗杰
[2]《FAT32文件分配格式及對系統(tǒng)的影響》機械設(shè)計與制造 2000年第03期 鄭寶玲