張 博 陳 瑜
[摘要]在計(jì)算機(jī)維護(hù)過程中,經(jīng)常會(huì)將硬盤分區(qū)格式化。針對(duì)目前的操作系統(tǒng),要求格式成NTFS。然而在實(shí)際使用中,主要會(huì)遇到FAT32與NTFS的相互轉(zhuǎn)換以及丟失或刪除文件的回復(fù)等問題。所以針對(duì)NTFS文件系統(tǒng)所提出得相應(yīng)問題做好解釋,最終的目的是為了實(shí)現(xiàn)系統(tǒng)的安全性。
[關(guān)鍵詞]NTFS FAT32 磁盤管理 簇 轉(zhuǎn)換 屬性
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0920062-02
一、什么是NTFS
NTFS(New Technology File System)是Windows NT操作環(huán)境和Windows NT高級(jí)服務(wù)器網(wǎng)絡(luò)操作系統(tǒng)環(huán)境的文件系統(tǒng),目前最常見的三種文件系統(tǒng)有:FAT16、FAT32和NTFS。
(一)FAT
FAT(File Allocation Table)是“文件分配表”。其意義在于對(duì)硬盤分區(qū)的管理。
Windows 98開始使用FAT32文件系統(tǒng)。FAT32使用較小的簇,可以支持大到2TB的分區(qū)。FAT32盡可能不改動(dòng)現(xiàn)有的Windows體系結(jié)構(gòu)、內(nèi)部數(shù)據(jù)結(jié)構(gòu)、應(yīng)用程序編程接口(API)和磁盤上的格式。然而,因?yàn)楝F(xiàn)在需要4字節(jié)來存儲(chǔ)簇值,所以許多內(nèi)部的和磁盤上的數(shù)據(jù)結(jié)構(gòu)以及發(fā)布的API都作了修改或擴(kuò)展?,F(xiàn)有工具和驅(qū)動(dòng)程序在FAT32驅(qū)動(dòng)器上應(yīng)能夠繼續(xù)正常運(yùn)行。但是,MS-DOS塊設(shè)備驅(qū)動(dòng)程序和磁盤工具需要經(jīng)過修改才能支持FAT32驅(qū)動(dòng)器。
(二)NTFS
NTFS是Windows NT內(nèi)核的系列操作系統(tǒng)支持的、一個(gè)特別為網(wǎng)絡(luò)和磁盤配額、文件加密等管理安全特性設(shè)計(jì)的磁盤格式,提供長(zhǎng)文件名、數(shù)據(jù)保護(hù)和恢復(fù),能通過目錄和文件許可實(shí)現(xiàn)安全性,并支持跨越分區(qū)。
NTFS文件系統(tǒng)所具備3個(gè)功能:錯(cuò)誤預(yù)警功能、磁盤自我修復(fù)功能和日志功能:
錯(cuò)誤預(yù)警功能:在NTFS分區(qū)中,如果MFT所在的磁盤扇區(qū)恰好出現(xiàn)損壞,NTFS文件系統(tǒng)會(huì)比較智能地將MFT換到硬盤的其他扇區(qū),保證了文件系統(tǒng)的正常使用,也就是保證了系統(tǒng)的正常運(yùn)行。而FAT16和FAT32的FAT則只能固定在分區(qū)引導(dǎo)扇區(qū)的后面,一旦遇到扇區(qū)損壞,那么整個(gè)文件系統(tǒng)就要癱瘓。
磁盤自我修復(fù)功能:NTFS可以對(duì)硬盤上的邏輯錯(cuò)誤和物理錯(cuò)誤進(jìn)行自動(dòng)偵測(cè)和修復(fù)。在每次讀寫時(shí),它都會(huì)檢查扇區(qū)正確與否。當(dāng)讀取時(shí)發(fā)現(xiàn)錯(cuò)誤,NTFS會(huì)報(bào)告這個(gè)錯(cuò)誤;當(dāng)向磁盤寫文件時(shí)發(fā)現(xiàn)錯(cuò)誤,NTFS會(huì)換一個(gè)完好位置存儲(chǔ)數(shù)據(jù)。
日志功能:在NTFS文件系統(tǒng)中,任何操作都可以被看成是一個(gè)“事件”。事件日志一直監(jiān)督著整個(gè)操作,當(dāng)它在目標(biāo)地,發(fā)現(xiàn)了完整文件,就會(huì)標(biāo)記“已完成”。假如復(fù)制中途斷電,事件日志中就不會(huì)記錄“已完成”,NTFS可以在來電后重新完成剛才的事件。
二、NTFS怎樣管理磁盤
除了儲(chǔ)存用戶的文件和目錄數(shù)據(jù)外,NTFS將一些用于磁盤管理的數(shù)據(jù)也儲(chǔ)存在文件中,當(dāng)初始化一個(gè)NTFS磁盤時(shí),NTFS將創(chuàng)建元數(shù)據(jù)文件。
(一)MFT
主控文件表MFT映射了磁盤上所有文件和目錄,包括NTFS的元數(shù)據(jù)文件。MFT以記錄為單位進(jìn)行劃分,其本身也是一個(gè)由NTFS用MFT中的記錄映射的文件。這樣的結(jié)構(gòu)使MFT很容易擴(kuò)展,使NTFS能很有效率地追蹤現(xiàn)存的元數(shù)據(jù)數(shù)量,來決定它們所占用的空間。
NTFS在內(nèi)部使用MFT中的記錄來標(biāo)識(shí)文件和目錄,這些記錄描述了這些元數(shù)據(jù)的開始位置信息。因?yàn)镸FT也是文件,當(dāng)MFT變大而其它的文件使用的簇正好在它原來的結(jié)束處之后,MFT必須在磁盤中找另一處未使用的空間,這樣就導(dǎo)致MFT文件所映射的簇的順序不連續(xù)了。為了避免MFT碎裂,NTFS在MFT周圍保留一定范圍的簇不分配給其它的文件和目錄,這樣,在MFT需要增長(zhǎng)時(shí),能增加找到連續(xù)簇的機(jī)會(huì),也能盡量少的使MFT靠近其它的數(shù)據(jù)。因此,在磁盤剩余容量較小時(shí),MFT變得破碎的危險(xiǎn)將會(huì)增加。
(二)MFT中的記錄
NTFS使用屬性儲(chǔ)存所有的文件和目錄信息。屬性包括:屬性表頭和屬性數(shù)據(jù)。表頭儲(chǔ)存屬性的類型、名字和標(biāo)志,記錄著屬性數(shù)據(jù)的位置。MFT中的記錄由一個(gè)包含關(guān)于記錄的基本信息的小表頭和緊跟著的一些屬性組成,這些屬性用于描述記錄所對(duì)應(yīng)的文件或目錄的數(shù)據(jù)或特性。
NTFS將在MFT記錄里面直接儲(chǔ)存屬性數(shù)據(jù)。存儲(chǔ)在MFT記錄中的屬性稱為常駐屬性,其它的稱為非常駐屬性。只有當(dāng)記錄表頭、屬性表頭、屬性數(shù)據(jù)都能放入一個(gè)記錄時(shí),屬性才能是一個(gè)常駐屬性。因此,1KB(通常的MFT記錄大小)是NTFS磁盤上的屬性數(shù)據(jù)長(zhǎng)度的上限。如果屬性的數(shù)據(jù)是常駐的,屬性表頭將指向在MFT記錄中的數(shù)據(jù)的位置。由于屬性和大量的數(shù)據(jù)可能跨越多個(gè)MFT記錄,而運(yùn)行要覆蓋文件的不同的部分,而運(yùn)行由多個(gè)運(yùn)行項(xiàng)組成,一個(gè)運(yùn)行項(xiàng)包含一個(gè)虛擬簇號(hào)(VCN),它是屬性數(shù)據(jù)內(nèi)部簇的順序編號(hào);一個(gè)邏輯簇號(hào)(LCN),它是數(shù)據(jù)儲(chǔ)存在磁盤上的位置;以及數(shù)據(jù)在磁盤上所占用空間的連續(xù)簇的數(shù)量。如果一個(gè)文件有太多屬性要填入MFT記錄中,NTFS將分配附加的記錄并在基本記錄中儲(chǔ)存一個(gè)屬性-列表屬性。屬性列表指向在附加記錄中的屬性的位置,列表的每一項(xiàng)對(duì)應(yīng)著一個(gè)屬性。
三、FAT32與NTFS怎樣互換
(一)將FAT32換為NTFS
Windows2000/XP提供了分區(qū)格式轉(zhuǎn)換工具“Convert.exe”。Convert.exe是Windows 2000附帶的一個(gè)DOS命令行程序,通過這個(gè)工具可以直接在不破壞FAT文件系統(tǒng)的前提下,將FAT轉(zhuǎn)換為NTFS。先在Windows 2000環(huán)境下切換到DOS命令行窗口,在提示符下鍵入:D:>convert 需要轉(zhuǎn)換的盤符 /FS:NTFS后回車,所有的轉(zhuǎn)換將在系統(tǒng)重新啟動(dòng)后完成。
此外,你還可以使用硬盤無損分區(qū)工具Partition Magic。首先在界面中的磁盤分區(qū)列表中選擇需要轉(zhuǎn)換的分區(qū)。從界面按鈕條中選擇“Convert Partition”按鈕,或者是從界面菜單條“Operations”項(xiàng)下拉菜單中選擇“Convert”命令。激活該項(xiàng)功能界面。在界面中選擇轉(zhuǎn)換輸出為“NTFS”,之后單擊“OK”按鈕返回程序主界面。單擊界面右下角的“Apply”添加設(shè)置。此后系統(tǒng)會(huì)重新引導(dǎo)啟動(dòng),并完成分區(qū)格式的轉(zhuǎn)換操作。
(二)將NTFS換為FAT32
最簡(jiǎn)單的辦法是使用Hard Disk Manager。選擇磁盤后在分區(qū)功能菜單中選擇修改按鈕中的轉(zhuǎn)換功能,在出現(xiàn)的確認(rèn)頁面上點(diǎn)擊確認(rèn),然后計(jì)算機(jī)會(huì)在重新啟動(dòng)后開始執(zhí)行轉(zhuǎn)換。
四、如何在NTFS格式分區(qū)實(shí)現(xiàn)文件恢復(fù)
(一)原理分析
在NTFS文件系統(tǒng)中,在被刪除的文件記錄頭部將產(chǎn)生標(biāo)志字節(jié)置為00/02H,文件記錄的其它屬性均沒有變化;對(duì)于有數(shù)據(jù)運(yùn)行的文件,不改變數(shù)據(jù)運(yùn)行的內(nèi)容,只是將數(shù)據(jù)運(yùn)行所占用的簇在元文件$Bitmap中對(duì)應(yīng)的位均置為0。所以,要在NTFS文件系統(tǒng)下恢復(fù)數(shù)據(jù)就得:掃描主文件表MFT,查找刪除文件的文件記錄;通過分析文件記錄,確定文件的數(shù)據(jù)區(qū);對(duì)文件的數(shù)據(jù)區(qū)進(jìn)行完整性判斷;對(duì)刪除文件進(jìn)行恢復(fù)。所以,首先進(jìn)行磁盤掃描,分析MFT中每一個(gè)文件記錄,找出所有刪除文件(或目錄)的文件記錄,重建文件刪除前原有的目錄關(guān)系,將文件記錄的物理地址記錄在數(shù)組中,供恢復(fù)時(shí)使用;然后獲取BPB參數(shù):StartClusterof $MFT,SectorsPerCluster,BytesPerSector;最后確定MFT區(qū)域,根據(jù)獲取到的BPB參數(shù),移動(dòng)句柄到MFT的起始位置,然后讀取第1個(gè)元文件$MFT,分析該文件記錄中的數(shù)據(jù)流屬性,找出MFT的所有運(yùn)行。由于MFT區(qū)域存在著物理上不連續(xù)的可能性,因此,確定NTFS分區(qū)上的MFT區(qū)域,對(duì)于查找出整個(gè)磁盤上所有的刪除文件十分重要。
(二)使用專用工具
常用軟件有:EasyRecovery或者Final Data for NTFS和Get Data Back for NTFS。
EasyRecovery不是在原始驅(qū)動(dòng)器寫入,而是在內(nèi)存中重建文件分區(qū)表使數(shù)據(jù)能夠安全地傳輸?shù)狡渌?qū)動(dòng)器中,這樣可以從被病毒破壞或是已經(jīng)格式化的硬盤中恢復(fù)數(shù)據(jù)。能夠恢復(fù)文件類型:圖片、應(yīng)用程序、OFFICE文檔文件、網(wǎng)頁文件、開發(fā)文檔、數(shù)據(jù)備份文檔。可以恢復(fù)大于8.4GB的硬盤,支持長(zhǎng)文件名。同時(shí),被破壞的硬盤中像丟失的引導(dǎo)記錄、BIOS參數(shù)數(shù)據(jù)塊;分區(qū)表;FAT表;引導(dǎo)區(qū)都可以由它來進(jìn)行恢復(fù)。EasyRecovery還具有:磁盤診斷和文件修復(fù)功能。
使用方法是:先選擇恢復(fù)類型;再選擇分驅(qū);然后尋找要恢復(fù)的文件,我們只能按照文件大小、修改時(shí)間、文件類型來判斷;選中文件,設(shè)置恢復(fù)屬性時(shí)不要選擇和要恢復(fù)的文件在同一分驅(qū);恢復(fù)完成,打開文件。
還可以使用Final Data for NTFS或者Get Data Back for NTFS。如果在文件刪除后沒有任何文件操作,恢復(fù)率接近100%。所以不要等到文件刪除后才安裝這個(gè)軟件,最好是與Windows系統(tǒng)一起安裝,并在出現(xiàn)文件誤刪除后立刻執(zhí)行恢復(fù)操作,一般可以將刪除的文件恢復(fù)回來。它們都可以恢復(fù)格式化刪除的數(shù)據(jù),但是低級(jí)格式化除外。常規(guī)格式化刪除的只是數(shù)據(jù)信息,低級(jí)格式化則刪除全部數(shù)據(jù)區(qū)。如果采用低級(jí)格式化,修復(fù)被格式化的硬盤時(shí),只能將這個(gè)硬盤拆下來,安裝到其他的計(jì)算機(jī)中,之后執(zhí)行文件修復(fù)操作。Final Data可以修復(fù)由CIH病毒破壞的硬盤。
五、當(dāng)系統(tǒng)崩潰時(shí)怎么辦
當(dāng)系統(tǒng)崩潰時(shí)只能使用Windows 2000/XP的安裝光盤啟動(dòng)來修復(fù)Windows,或者是制作Windows 2000/XP的安裝啟動(dòng)應(yīng)急盤。注意:Windows 2000的安裝盤制作程序在安裝光盤中,而Windows XP的應(yīng)急盤制作是獨(dú)立提供的,需要從微軟的網(wǎng)站下載。
六、結(jié)束語
在計(jì)算機(jī)維護(hù)過程中會(huì)遇到更多的問題有待解決,但是實(shí)際操作起來,有時(shí)的工作量就比較大了。只針對(duì)硬盤分區(qū)格式化所提出的問題只待從基本的維護(hù)點(diǎn)出發(fā),選擇相應(yīng)的操作系統(tǒng)的同時(shí)要選擇相應(yīng)的軟件環(huán)境,才能達(dá)到安全有效的目的。
參考文獻(xiàn):
[1]居錦武、王蘭英,NTFS文件系統(tǒng)剖析[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,(22):5438-6439.
[2]趙雙峰、費(fèi)金龍、劉楠、武東英,windows NTFS下數(shù)據(jù)回復(fù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,(2):307-308.
[3]王偉,文件系統(tǒng)FAT32與NTFS[J]科技信息(學(xué)術(shù)研究),2007,(36):549.
[4]向玉艷,微型計(jì)算機(jī)文件系統(tǒng)FAT32與NTFS的互換[J].硅谷,2008,(02):15.
作者簡(jiǎn)介:
張博(1978-),男,滿族,陜西省寶雞市人,畢業(yè)于長(zhǎng)安大學(xué),工學(xué)學(xué)士學(xué)位,長(zhǎng)安大學(xué)機(jī)械學(xué)院碩士研究生在讀,助理工程師,就職于寶雞文理學(xué)院網(wǎng)絡(luò)管理中心,負(fù)責(zé)校園網(wǎng)絡(luò)系統(tǒng)維護(hù),研究方向:機(jī)械電子工程;陳瑜(1979-),女,漢族,重慶市人,畢業(yè)于西安電子科技大學(xué),工學(xué)學(xué)士,助理工程師,現(xiàn)就職于航天時(shí)代第九研究院710廠,華科公司,負(fù)責(zé)人力資源信息管理系統(tǒng)。