前言
對于廣大電腦使用者來說,最擔(dān)心的事情莫過于數(shù)據(jù)的損壞(丟失)了。如果只是應(yīng)用軟件的故障,一般只需重新安裝該應(yīng)用軟件即可,而如果是系統(tǒng)文件丟失或損壞引起的系統(tǒng)故障,最多也只需重新安裝操作系統(tǒng)便可解決問題,所花費(fèi)的也只是時(shí)間而已,即便是主板、內(nèi)存條等硬件引起的故障,也可通過更換故障硬件的方法解決。可是,如果是硬盤上存儲的文件丟失,尤其是多年積累的資料或長時(shí)間的工作成果丟失,那恐怕真是欲哭無淚了。對于企業(yè)而言,隨著信息化的飛速發(fā)展,數(shù)據(jù)已經(jīng)成為企業(yè)的一項(xiàng)非常重要的資產(chǎn),數(shù)據(jù)存儲的可用性、完整性和安全性已不再是一個(gè)單純的技術(shù)問題,而是關(guān)系到企業(yè)生存和競爭的重要戰(zhàn)略資源;另一方面,數(shù)據(jù)的安全刪除問題也越來越為人們所關(guān)注,如何保證被刪除的涉密敏感數(shù)據(jù)不會在刪除后被人為恢復(fù),從而保證機(jī)密信息的安全呢?本文將就這兩個(gè)問題做一簡單闡述。當(dāng)然,這要涉及到很多具體的技術(shù)問題,由于篇幅所限不可能講得很透徹,同時(shí)由于水平有限,文中謬誤之處在所難免,懇請?zhí)岢鰧氋F意見。
一、數(shù)據(jù)恢復(fù)概述
信息時(shí)代的核心無疑是信息技術(shù),而信息技術(shù)的核心則在于對信息的載體——數(shù)據(jù)的處理與存儲。我們這里所指的數(shù)據(jù),是指存儲在計(jì)算機(jī)存儲介質(zhì)(一般是指硬盤)上的各種文檔、圖形、圖像、聲音、軟件程序等文件及數(shù)據(jù)庫系統(tǒng)中存儲的資料的總稱。那么什么是數(shù)據(jù)恢復(fù)呢,簡單地說,就是把由于各種原因遭到破壞的數(shù)據(jù)還原成正常數(shù)據(jù),即盡量還原成它的“本來面目”的過程。
具體來說,數(shù)據(jù)出現(xiàn)問題主要包括兩大類,即邏輯問題和硬件問題,相應(yīng)的數(shù)據(jù)恢復(fù)也分為軟恢復(fù)和硬恢復(fù)。所謂軟恢復(fù),指的是一切可通過“軟”的方式進(jìn)行的恢復(fù),也就是不涉及硬件維修的數(shù)據(jù)恢復(fù)操作,其造成故障的原因一般是病毒感染、誤格式化、誤分區(qū)、誤刪除、誤克隆等,當(dāng)然也不排除人為破壞的情況,其表現(xiàn)一般為文件找不到、打不開、報(bào)告未分區(qū)、未格式化,或文件打開后為亂碼等;而一切由硬件損壞或失效造成的數(shù)據(jù)恢復(fù)均歸入硬恢復(fù),如磁道損壞、盤體劃傷、電機(jī)損壞、電路板芯片及其它原件(多為電機(jī)驅(qū)動(dòng)芯片)燒壞等。硬件故障一般表現(xiàn)為不認(rèn)盤,常有一種“喀嚓喀嚓”的磁組撞擊聲或電機(jī)不轉(zhuǎn)、或通電后無任何聲音等。兩者之間最明顯的特征或區(qū)別就是:存儲介質(zhì)本身是否需要進(jìn)行修理或更換后才可正常訪問數(shù)據(jù)。本文只討論數(shù)據(jù)誤刪除后的恢復(fù),屬于軟恢復(fù)的一種,對于硬件故障的硬恢復(fù)不在此討論。因?yàn)槿绻谴蓬^和電機(jī)的損壞或是嚴(yán)重的盤片劃傷導(dǎo)致的硬件問題,在修復(fù)時(shí)都需要進(jìn)行開盤操作。所謂開盤操作,就是打開硬盤密封的盤腔,對其內(nèi)部進(jìn)行各種操作,以修復(fù)故障,找回?cái)?shù)據(jù),而開盤的前提是有一間潔凈度非常高的房間,通常需要百級超凈的工作室,這是因?yàn)楝F(xiàn)在的硬盤設(shè)計(jì)工藝非常的復(fù)雜,讀寫數(shù)據(jù)時(shí),磁頭是“懸浮”在盤片上呈飛行狀態(tài)的,這個(gè)“懸浮”的高度僅為0.01-0.05μm,這只是人頭發(fā)直徑的千分之一,一旦有極微小的塵埃進(jìn)入到硬盤的密封腔內(nèi),或者磁頭與盤片發(fā)生碰撞,就會使盤片形成壞塊,造成新的數(shù)據(jù)丟失,甚至使硬盤報(bào)廢。所以,由硬件故障造成的數(shù)據(jù)丟失建議找專業(yè)的數(shù)據(jù)恢復(fù)機(jī)構(gòu)處理,一般用戶不要擅自開盤嘗試開盤修復(fù)。當(dāng)然,由于成本高、難度大,此類服務(wù)一般收費(fèi)也極為昂貴,通常都在幾千元以上,遠(yuǎn)遠(yuǎn)高于當(dāng)初購買硬盤的價(jià)格。
二、數(shù)據(jù)的可恢復(fù)性
數(shù)據(jù)的丟失隨時(shí)有可能發(fā)生,那么,丟失的數(shù)據(jù)還有可能被恢復(fù)嗎?在回答這個(gè)問題之前,先來看這樣一個(gè)例子,我們可以把磁盤上的文件系統(tǒng)想象成一本書,我們?nèi)绻胝业綍械哪巢糠謨?nèi)容時(shí),一般都要通過這本書最開始部分的目錄索引,而當(dāng)我們要?jiǎng)h除一部分內(nèi)容時(shí),只需簡單地將其對應(yīng)的目錄索引刪除,這樣這部分內(nèi)容通過目錄索引就找不到了,也就是不再可訪問,但是很明顯,這部分內(nèi)容并未消失,我們還可以通過一些特殊的方法,比如不通過目錄索引,而是一頁一頁地翻,最后一定可以找到那部分“丟失”的內(nèi)容。磁盤文件系統(tǒng)也是一樣,操作系統(tǒng)存取文件時(shí)是以“簇”為單位進(jìn)行的,一簇包含若干實(shí)際的磁盤空間(稱為扇區(qū)),而這些簇在磁盤中的實(shí)際存放位置是以簇鏈的形式保存在文件分配表(FAT)中,這個(gè)文件分配表其實(shí)就相當(dāng)于書的目錄索引。當(dāng)系統(tǒng)在刪除一個(gè)文件時(shí),只是將該文件做一個(gè)刪除標(biāo)記(一般是將這個(gè)文件的第一個(gè)字節(jié)標(biāo)記為十六進(jìn)制數(shù)“E5”),然后將這個(gè)文件在文件分配表中所占用的簇標(biāo)記為“空簇”,也就是說其它文件可以占用這些簇所在的磁盤空間,而在數(shù)據(jù)區(qū)域卻仍舊保留著該文件的內(nèi)容。這就相當(dāng)于將書中對應(yīng)的目錄索引刪除,而實(shí)際內(nèi)容并沒有任何變化。當(dāng)然,這些文件在操作系統(tǒng)下不借助專門的程序或軟件是看不到的,因?yàn)閷τ诓僮飨到y(tǒng)來說,它“確確實(shí)實(shí)”認(rèn)為文件已經(jīng)被刪除了!并且當(dāng)再次向磁盤寫入新的數(shù)據(jù)時(shí),系統(tǒng)可能會覆蓋這些已刪除的文件的簇所占用的磁盤空間,在其中寫入新的數(shù)據(jù)。實(shí)際上,不僅是數(shù)據(jù)的刪除,就是對磁盤進(jìn)行完全的格式化,都不會真正破壞數(shù)據(jù)。其實(shí)仔細(xì)想一下就會明白,對于較大的文件或整個(gè)分區(qū),系統(tǒng)在刪除文件或格式化分區(qū)時(shí),所花費(fèi)的時(shí)間要比復(fù)制文件時(shí)所花費(fèi)時(shí)間少得多。所以,不可能對那些區(qū)域進(jìn)行覆蓋(清零)。所以,對于機(jī)密或重要的文件,為安全起見,在進(jìn)行刪除操作時(shí)要進(jìn)行徹底刪除(即對文件所占用的磁盤空間進(jìn)行覆蓋寫入),以保證重要信息不被竊取,當(dāng)然同時(shí)也就不能被恢復(fù),這也是事物的兩個(gè)方面。在本文的最后,還會提到相關(guān)的數(shù)據(jù)安全刪除問題。
綜上所述,一般情況下,只要誤刪除的數(shù)據(jù)沒有被覆蓋,那么此時(shí)保存在磁盤上的信息就沒有丟失,從理論上說應(yīng)該是能夠被恢復(fù)的。這就要求如果是不具備數(shù)據(jù)恢復(fù)專業(yè)知識的一般用戶,在發(fā)生數(shù)據(jù)的誤刪除等情況時(shí),首先要做的就是立即停止任何操作,并且關(guān)閉計(jì)算機(jī),而不要進(jìn)行數(shù)據(jù)恢復(fù)的嘗試。這里尤其要注意以下幾點(diǎn):一是不要運(yùn)行系統(tǒng)自帶的磁盤掃描程序(如Windows下的Scandisk、Chkdsk等),因?yàn)榇祟惓绦蜻\(yùn)行后,會自動(dòng)在硬盤上生成*.Chk文件(交叉簇鏈文件),這些文件實(shí)際上并無用處,反而可能將要恢復(fù)的文件覆蓋掉,使數(shù)據(jù)無法成功恢復(fù);二是不要在這塊硬盤上安裝任何數(shù)據(jù)恢復(fù)類軟件,因?yàn)檫@時(shí)安裝的軟件有可能會覆蓋數(shù)據(jù),造成數(shù)據(jù)的不可恢復(fù);三是不要對丟失的數(shù)據(jù)很長時(shí)間不做處理,實(shí)際工作中經(jīng)常有用戶在發(fā)生數(shù)據(jù)丟失后不做任何處理,照常使用電腦,認(rèn)為只要不向硬盤進(jìn)行寫操作就不會覆蓋數(shù)據(jù),殊不知操作系統(tǒng)在工作時(shí)要經(jīng)常向硬盤寫一些臨時(shí)文件,如瀏覽網(wǎng)頁時(shí)產(chǎn)生的臨時(shí)文件、內(nèi)存不夠時(shí)產(chǎn)生的虛擬內(nèi)存頁面文件,還有很多軟件在運(yùn)行時(shí)也會自動(dòng)向硬盤寫數(shù)據(jù),這些操作都是在用戶并不知情的情況下發(fā)生的。如果還一直使用這塊硬盤,即使用戶沒有主動(dòng)向硬盤上寫數(shù)據(jù),很可能有用的數(shù)據(jù)也會被覆蓋掉,那也就沒有任何辦法進(jìn)行恢復(fù)了??傊?,在發(fā)生數(shù)據(jù)誤刪除時(shí),只要被誤刪除的文件所占用的存儲空間未被覆蓋,該文件還是有可能被恢復(fù)的,若相應(yīng)的存儲空間被完全或部分覆蓋掉了,那么很有可能使用任何手段也無法恢復(fù)了。
在討論數(shù)據(jù)恢復(fù)的可行性時(shí),還必須考慮到要恢復(fù)的數(shù)據(jù)的類型。假設(shè)我們能夠恢復(fù)全部丟失文件的90%,如果這些文件是圖片或Word文檔,而且能夠做到10幅圖片恢復(fù)了9幅,或10篇Word文檔恢復(fù)了9篇,那么我們可以認(rèn)為這次數(shù)據(jù)恢復(fù)的成功率達(dá)到了90%。但是,如果這些文件是數(shù)據(jù)庫中的表格,并且缺少了90%,則整個(gè)數(shù)據(jù)庫很可能變得毫無價(jià)值。這是因?yàn)楝F(xiàn)在實(shí)際使用中的大型數(shù)據(jù)庫系統(tǒng)中(如Oracle、SQL Server等),一個(gè)數(shù)據(jù)庫中經(jīng)常會有成百上千個(gè)表,數(shù)據(jù)全部存儲在這些表中,而這些表之間是相互關(guān)聯(lián)、相互依賴的,每個(gè)表中只有數(shù)據(jù)的一部分內(nèi)容(字段),這些表靠特定的關(guān)系聯(lián)接(可以說數(shù)據(jù)庫系統(tǒng)是由存儲數(shù)據(jù)的表和表之間的關(guān)系組成的),這樣,即使是很少一部分的數(shù)據(jù)丟失,因?yàn)楸碇g的相互依賴關(guān)系被破壞,也足以使整個(gè)數(shù)據(jù)庫中的數(shù)據(jù)不再可用。也就是說,這時(shí)我們即使成功恢復(fù)了數(shù)據(jù)庫中90%的數(shù)據(jù),很可能也是毫無意義的。
另外一個(gè)重要的因素就是數(shù)據(jù)恢復(fù)所用的時(shí)間。一次數(shù)據(jù)恢復(fù)的價(jià)值,通常隨著恢復(fù)時(shí)間的增加而不斷地減少。其實(shí)有時(shí)數(shù)據(jù)丟失了一周就和永遠(yuǎn)丟失一樣,它們造成的損失是相同的。
三、用軟件恢復(fù)誤刪除數(shù)據(jù)的方法
要想真正從事數(shù)據(jù)恢復(fù)工作,不是一件簡單的事情,這要求從業(yè)人員要對磁盤的存儲結(jié)構(gòu)和文件系統(tǒng)原理有著非常深刻的認(rèn)識,尤其要熟練領(lǐng)悟和掌握主引導(dǎo)記錄(MBR)、操作系統(tǒng)引導(dǎo)記錄(DBR)、文件分配表(FAT)、NTFS文件系統(tǒng)主文件表(NTFS MFT)等文件系統(tǒng)結(jié)構(gòu)的意義和它們之間的相互關(guān)系,另外由于要與文件系統(tǒng)的底層打交道,不可避免地要使用編程語言,因此還需要從業(yè)人員最好有一定的編程基礎(chǔ)。這樣的標(biāo)準(zhǔn)當(dāng)然不是一般用戶所能達(dá)到的,而其中所涉及到的專業(yè)知識,也不是這一篇文章所能闡述清楚的。實(shí)際上,單就恢復(fù)誤刪除的文件而言,現(xiàn)在已經(jīng)有非常成熟的軟件產(chǎn)品可供一般用戶使用。常見的數(shù)據(jù)恢復(fù)軟件有:Easy Recovery、Final Data、Recover NT等,這里推薦大家使用Easy Recovery和Final Data。由于Easy Recovery和Final Data在針對分區(qū)表等故障時(shí)有著一套獨(dú)特的處理方法,可以自動(dòng)使用內(nèi)定的方式來掃描文件,因此結(jié)合起來使用往往可以帶來驚喜。由于都有中文版本,而且使用方法基本相同,下面只介紹Easy Recovery的用法。
恢復(fù)前的備份
由于Easy Recovery等數(shù)據(jù)恢復(fù)軟件在恢復(fù)文件時(shí)要對故障磁盤進(jìn)行掃描,因此可能會對磁盤上的數(shù)據(jù)造成進(jìn)一步的損壞,雖然這種情況發(fā)生的可能性很低,但出于安全上的考慮,提前對磁盤進(jìn)行備份還是很有必要的。提到數(shù)據(jù)備份,很多人都會想到Ghost之類的備份工具,但是,對于有數(shù)據(jù)被誤刪除的磁盤而言,使用Ghost進(jìn)行數(shù)據(jù)備份卻是不可以的。這是由于Ghost之類的軟件是按照文件來對磁盤進(jìn)行備份的,而此時(shí)需要的數(shù)據(jù)已經(jīng)被誤刪除,已然不在文件系統(tǒng)的管理之下,對操作系統(tǒng)來說是“不可見”的,用Ghost備份,只能備份“可見”的文件,對我們需要的那些“不可見”的文件是無法進(jìn)行備份的。這時(shí)正確的做法是選擇按扇區(qū)進(jìn)行備份的工具軟件來逐個(gè)扇區(qū)地進(jìn)行磁盤備份,這樣在備份結(jié)束后,我們就得到了一塊和原始盤一模一樣的磁盤了,以后我們就可以保留原始盤,只對備份后的磁盤進(jìn)行操作了。
按照扇區(qū)進(jìn)行備份的軟件有很多,這里介紹一下使用Winhex進(jìn)行備份的方法。Winhex是免費(fèi)的十六進(jìn)制編輯軟件,簡單方便且功能強(qiáng)大。我們進(jìn)入Winhex的主界面后,選擇“工具”菜單的“磁盤工具”菜單項(xiàng),然后選擇“克隆磁盤”即可。當(dāng)然也可以直接從工具條中進(jìn)行選擇。
利用Easy Recovery來恢復(fù)文件
Easy Recovery使用Ontrack公司的復(fù)雜模式識別技術(shù)找回分布在硬盤上不同地方的文件碎塊,并根據(jù)統(tǒng)計(jì)信息對這些文件碎塊進(jìn)行重整。接著Easy Recovery會在內(nèi)存中建立一個(gè)虛擬的文件系統(tǒng)并列出所有的文件和目錄。哪怕整個(gè)分區(qū)都不可見或者硬盤上只有非常少的分區(qū)維護(hù)信息,Easy Recovery仍然可以高質(zhì)量地找回文件。
這里再次強(qiáng)調(diào)一下,用Easy Recovery找回?cái)?shù)據(jù)、文件的前提就是硬盤中還保留有文件的信息和數(shù)據(jù)塊。但在進(jìn)行刪除文件、格式化硬盤等操作后,再對該分區(qū)內(nèi)寫入新信息后,這些需要恢復(fù)的數(shù)據(jù)就很有可能被覆蓋了!這時(shí),無論如何都是找不回想要的數(shù)據(jù)了。所以,為了提高數(shù)據(jù)恢復(fù)的成功率,一定不要再對要修復(fù)的分區(qū)或硬盤進(jìn)行新的讀寫操作。如果要修復(fù)的分區(qū)恰恰是系統(tǒng)啟動(dòng)分區(qū),就要馬上退出系統(tǒng),用另外一個(gè)硬盤來啟動(dòng)系統(tǒng)(即采用主/從硬盤結(jié)構(gòu))。
01
簡單操作三部曲
無論是Easy Recovery還是Final Data,其基本使用方法都非常簡單,大致可以分為三個(gè)步驟:選擇掃描范圍、指定掃描類型以及篩選數(shù)據(jù)。以Easy Recovery為例,進(jìn)入界面后首先在左邊的列表中選擇“數(shù)據(jù)恢復(fù)”工作模式,此時(shí)軟件會提供更多的選項(xiàng)供大家選擇。這里我們一般選擇“使用高級選項(xiàng)自定義數(shù)據(jù)恢復(fù)功能”,因?yàn)樗墓δ苁亲顝?qiáng)的,已經(jīng)包括了“查找并恢復(fù)已刪除的文件”和“從一個(gè)已格式化的卷中恢復(fù)文件”,以及“不依賴任何文件系統(tǒng)結(jié)構(gòu)信息進(jìn)行恢復(fù)”等三個(gè)功能選項(xiàng)。(圖1:Easy Recovery中“數(shù)據(jù)恢復(fù)”工作模式選擇)
選定“使用高級選項(xiàng)自定義數(shù)據(jù)恢復(fù)功能”,隨后系統(tǒng)要求輸入掃描所針對的分區(qū)。(圖2:讓Easy Recovery掃描指定的分區(qū))
然后Easy Recovery讓用戶自己選定文件系統(tǒng)類型。如果無法確定文件系統(tǒng)類型是FAT32還是NTFS,那么可以直接選擇為RAW模式,只不過此時(shí)將對整個(gè)分區(qū)的扇區(qū)一個(gè)個(gè)地進(jìn)行掃描,速度會比較慢,掃描會占用比較長的一段時(shí)間。掃描結(jié)束后,Easy Recovery將列出丟失文件的列表,并且都放在LOSTFILE目錄下,在前面的小方框內(nèi)打上勾,可以恢復(fù)所有找到的文件,也可以用鼠標(biāo)左鍵點(diǎn)擊LOSTFILE前面的“+”號以顯示列表,然后從中選取要恢復(fù)的文件。選擇完成后,單擊“下一步”并按照提示選擇文件的存放路徑即可。(圖3:Easy Recovery找回丟失的文件)
好了,現(xiàn)在到剛才指定的路徑下,看看被“刪除”了的文件是不是已經(jīng)在那里了?
四、數(shù)據(jù)的安全刪除
數(shù)據(jù)的安全刪除,就是將要?jiǎng)h除的數(shù)據(jù)進(jìn)行徹底的刪除,使之不能再被恢復(fù)。在現(xiàn)實(shí)工作中,對于一些有保密要求的敏感部門報(bào)廢的計(jì)算機(jī)硬盤,或者送修、捐獻(xiàn)的硬盤等,在送走之前,就必須進(jìn)行數(shù)據(jù)的安全性檢測。但在實(shí)際操作中往往不能完全做到。比如,很多用戶都是在共用的電腦上處理涉密的文檔,在離開辦公室時(shí)再拷貝到移動(dòng)存儲介質(zhì)中,然后簡單地將硬盤中的涉密文檔刪除。而從前面的討論中不難看出,這樣做實(shí)際上是非常不安全的,一些別有用心的人可以用一些技術(shù)手段很容易地恢復(fù)數(shù)據(jù),從而造成涉密信息泄露的嚴(yán)重后果。
我們所講的數(shù)據(jù)的安全刪除,實(shí)際上是數(shù)據(jù)恢復(fù)的對立面,也就是破壞數(shù)據(jù)恢復(fù)的條件,使數(shù)據(jù)無法恢復(fù),從而達(dá)到保護(hù)重要敏感信息的目的。要達(dá)到這個(gè)目的,可以有多種方法,而使用工具軟件操作簡便,效果也非常好,所以更為可行。當(dāng)然,在徹底刪除文件之前一定要慎之又慎,因?yàn)橐坏﹫?zhí)行了該操作,文件就再也無法恢復(fù)了。
這方面的軟件也有很多,主要有Norton System Works工具組件中的WipeInfo、Clean Disk Security(也是一款相當(dāng)不錯(cuò)的磁盤清理工具)、Absolute Security、System Mechanic等,甚至還可以進(jìn)行低級格式化。在這里還是推薦使用Winhex進(jìn)行數(shù)據(jù)安全刪除。在Winhex11.2版本下,“文件管理器”菜單下有一個(gè)“不可逆地刪除”菜單項(xiàng),單擊該菜單項(xiàng),會出現(xiàn)選擇文件對話框,選擇好要?jiǎng)h除的文件后,單擊“刪除”按鈕,就會出現(xiàn)如圖4所示的安全擦除對話框,在這里可以選擇是使用特定的十六進(jìn)制數(shù)值(默認(rèn)為“0”)還是使用隨機(jī)字節(jié)對該文件所占用的磁盤空間進(jìn)行填充(覆蓋),最后按“確定”鍵就可以達(dá)到完全、徹底地刪除文件的目的。
參考文獻(xiàn)
[1]戴士劍,涂彥暉.數(shù)據(jù)恢復(fù)技術(shù)(第2版).電子工業(yè)出版社,2006.
[2]汪中夏,劉偉.數(shù)據(jù)恢復(fù)高級技術(shù).電子工業(yè)出版社,2006.
[3]姜靈敏.微機(jī)硬盤管理技術(shù).人民郵電出版社,2000.