張東旭
摘要:隨著新興工業(yè)化發(fā)展和信息化技術(shù)的不斷推進(jìn),信息技術(shù)已成為人們生活中不可缺少的重要組成部分,它給人們帶來方便的同時(shí),也給我們帶來很多不安全因素,如短信被攔截、密碼被盜、信息泄密等,一旦數(shù)據(jù)丟失掉,給人們帶來的損失非常大。筆者就NTFS磁盤出現(xiàn)問題或文件丟失后如何安全的恢復(fù)文件進(jìn)行了深入地分析,更好的解決在硬盤格式化過程中造成數(shù)據(jù)丟失的問題。
關(guān)鍵詞:NTFS 硬盤格式化恢復(fù)技術(shù) 研究
中圖分類號(hào):TP309.3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)07-0080-01
NTFS全稱為“NT File System”,是Windows NT操作系統(tǒng)的主要分區(qū)。計(jì)算機(jī)硬盤系統(tǒng)是由幾個(gè)分區(qū)組成的,主要是起數(shù)據(jù)儲(chǔ)存功能。人們?cè)谑褂弥胁恍⌒膶⒂脖P中的文件進(jìn)行格式化或者丟失掉,所在分區(qū)的文件內(nèi)容也被格式掉,一旦計(jì)算機(jī)硬盤出現(xiàn)問題,使得整個(gè)數(shù)據(jù)就會(huì)丟失掉,無法恢復(fù),進(jìn)而會(huì)帶來很大麻煩和不可挽回的損失。所以研發(fā)一款專門針對(duì)硬盤格式化數(shù)據(jù)恢復(fù)的軟件顯得尤為重要。
1 NTFS文件系統(tǒng)格式化數(shù)據(jù)恢復(fù)設(shè)計(jì)
NTFS是Windows系統(tǒng)中一種數(shù)據(jù)存儲(chǔ)結(jié)構(gòu), NTFS文件系統(tǒng)安全性和穩(wěn)定性好,在使用的過程中不易產(chǎn)生碎片,它可以提供容錯(cuò)結(jié)構(gòu)日志,并對(duì)錯(cuò)誤的結(jié)構(gòu)系統(tǒng)進(jìn)行記錄,可以有效地保護(hù)系統(tǒng)的安全,恢復(fù)數(shù)據(jù)文件系統(tǒng)。NTFS存放很方便,同普通文件一樣可存放在硬盤的某個(gè)部位,NTFS可作為一種共享資源,對(duì)文件及文件夾有壓縮功能。NTFS文件隨著Windows NT4.0跨入主力分區(qū)格式化的行列,它可以支持64GB的文件,性能遠(yuǎn)遠(yuǎn)超過了FAT32。
當(dāng)用戶將硬盤格式化的方式分為NTFS時(shí),計(jì)算機(jī)就會(huì)自動(dòng)建立一個(gè)NTFS文件系統(tǒng)結(jié)構(gòu),自動(dòng)建立時(shí)間,并對(duì)該文件目錄下的數(shù)據(jù)進(jìn)行一一記錄清楚。在Windows平臺(tái)下操作,人們普遍應(yīng)用的是高級(jí)格式化系統(tǒng),本文主要從以下幾個(gè)方面分析Windows操作系統(tǒng)格式化數(shù)據(jù)恢復(fù)技術(shù)。如圖1所示。
1.1 NTFS文件名和數(shù)據(jù)屬性值
NTFS文件系統(tǒng)各自都有自己的類型和名稱相對(duì)獨(dú)立,且每個(gè)文件記錄中都有多個(gè)屬性,每個(gè)屬性分為屬性頭和屬性值,不同的屬性它的結(jié)構(gòu)和含義不同。MFT是NTFS卷結(jié)構(gòu)的核心主控件,它可以清楚地記錄磁盤的位置和文件的所有屬性,并存放在一個(gè)適合的區(qū)域內(nèi),在數(shù)據(jù)丟失后,如果找到了MFT控件文件,就會(huì)獲取到所有文件屬性名及相關(guān)數(shù)據(jù)。在格式化數(shù)據(jù)恢復(fù)時(shí),10H標(biāo)準(zhǔn)信息的屬性值記錄著文件的創(chuàng)建時(shí)間、最后修改時(shí)間、硬盤鏈接數(shù)、這些信息是常駐的。30H文件名和80H數(shù)據(jù)在恢復(fù)過程中起著至關(guān)重要的作用。
1.2 MFT 區(qū)域起始位置數(shù)據(jù)屬性獲取
NTFS文件系統(tǒng)是有備份功能,如果磁盤上的某個(gè)扇數(shù)據(jù)丟失了, NTFS依然可以找到關(guān)鍵數(shù)據(jù)。在進(jìn)行數(shù)據(jù)格式化時(shí),就會(huì)變成FAT32文件,建立一個(gè)主文件表MFT,它掃描的位置是從16扇區(qū)開始,把 MFT前16項(xiàng)元數(shù)據(jù)儲(chǔ)存下來,如果MFT中數(shù)據(jù)丟失,NTFS自動(dòng)將MFT轉(zhuǎn)移到文件系統(tǒng)的其他硬盤上,保證操作系統(tǒng)正常運(yùn)行。
1.3 目錄結(jié)點(diǎn)生成
在對(duì)格式化的數(shù)據(jù)進(jìn)行恢復(fù)時(shí),首先查找到目錄名,即:文件記錄頭、標(biāo)準(zhǔn)屬性、文件名屬性和數(shù)據(jù)流屬性,需要查找出與每個(gè)文件相關(guān)的目錄名,用以恢復(fù)操作。MFT文件能自動(dòng)備份,一般是存儲(chǔ)MFT前16項(xiàng)的內(nèi)容,數(shù)據(jù)丟失后,我們可以通過查找MFT有關(guān)的信息數(shù)據(jù)和根目錄名稱找到丟失的數(shù)據(jù),還可以將根目錄設(shè)置成父目錄存儲(chǔ)下來,一般以DIR形式的目錄名進(jìn)行查找。
1.4 目錄樹的重構(gòu)
NTFS要將一個(gè)目錄MFT記錄進(jìn)行重新排序,記錄下目錄中文件名和子目錄名,并保存在索引根屬性中。在NTFS系統(tǒng)中,它會(huì)有一個(gè)文件名索引,存放在4KB的索引緩沖區(qū)中,通過平衡樹存儲(chǔ)磁盤上的數(shù)據(jù),把時(shí)間和文種復(fù)制下來。目前想達(dá)到理想的狀態(tài)是非常困難的,只能是提高目錄瀏覽速度來解決此類問題。
1.5 NTFS數(shù)據(jù)恢復(fù)技術(shù)的實(shí)現(xiàn)
對(duì)丟失的數(shù)據(jù)查找到信息后,需要重新建立一個(gè)與原程序向?qū)?yīng)的文件目錄,執(zhí)行物理地址的讀取,NTFS文件系統(tǒng)是按簇來分配,每文件都有一個(gè)文件記錄。MFT是一個(gè)文件表,通過它來確定硬盤存儲(chǔ)的位置、屬性、大小等信息,找到壓縮文件在MFT中的記錄,查看磁盤文件的大小和位置,文件所在的區(qū)域,在讀取文件時(shí)時(shí)從頭至尾進(jìn)行讀取的,信息會(huì)自動(dòng)找到,文件也會(huì)提取出來。這樣,丟失的數(shù)據(jù)得以恢復(fù),文件會(huì)一一查找到。
2 程序恢復(fù)中數(shù)據(jù)結(jié)構(gòu)的介紹
2.1 DBR程序結(jié)構(gòu)
Typedef striTFS_DBR{
BYTEE LogDr;
WORD BPSector;
BYTEE SPCluster;
BYTEE MDescriptor;
LARGRE_INTEGER TSectors;
LARGRE_INTEGER MCluster;
LARGRE_ INTEGER MSSector;
LARGRE_ INTEGER MESector;
LARGRE_ INTEGER MSize;
DWORD CPMFT;
DWORD CPIndex;
BYTE FileSystem[5];
}NTFS_DBR;
2.2 文件存儲(chǔ)結(jié)構(gòu)
Typeaef struit DataRin{
DWORD ClusterNums;
LARGE _INTENER StartCluster;
} DATARUN
3 結(jié)語
本文主要論述了NTFS環(huán)境下格式化磁盤數(shù)據(jù)恢復(fù)技術(shù)分析與實(shí)踐,目的是獲取文件系統(tǒng)中的MFT起始位置,生成文件系統(tǒng)的目錄樹,讀取文件系統(tǒng)中目錄樹的數(shù)據(jù)存儲(chǔ)地址,查找出詳細(xì)的數(shù)據(jù)記錄,寫入新的文件中,從而實(shí)現(xiàn)丟失數(shù)據(jù)的恢復(fù)操作。
參考文獻(xiàn)
[1]鄭平泰.《磁盤數(shù)據(jù)安全技術(shù)與編程實(shí)例》.中國(guó)水利水電出版社,2007.
[2]張麗.《Windows NTFS下硬盤格式化數(shù)據(jù)恢復(fù)技術(shù)研究》.計(jì)算機(jī)光盤軟件與應(yīng)用,2012.