探索NTFS
NTFS是WindowsNT引入的新型文件系統(tǒng),它具有許多新特性。本文旨在探索NTFS的底層結(jié)構(gòu),所敘述的也僅是文件在NTFS卷上的分布。NTFS中,卷中所有存放的數(shù)據(jù)均在一個(gè)叫$MFT的文件中,叫主文件表(MasterFileTable)。而$MFT則由文件記錄(FileRecord)數(shù)組構(gòu)成。FileRecord的`大小一般是固定的,通常情況下均為1KB,這個(gè)概念相當(dāng)于Linux中的inode。FileRecord在$MFT文件中物理上是連續(xù)的,且從0開(kāi)始編號(hào)。$MFT僅供FileSystem本身組織、架構(gòu)文件系統(tǒng)使用,這在NTFS中稱(chēng)為元數(shù)據(jù)(Metadata)。以下列出Windows2000Release出的NTFS的元數(shù)據(jù)文件(我將要給出的示例代碼的部分輸出結(jié)果)。
FileRecord(inode)FileName
--------------------------
0$MFT
1$MFTMirr
2$LogFile
3$Volume
4$AttrDef
5.
6$Bitmap
7$Boot
8$BadClus
9$Secure
10$UpCase
11$Extend
Windows2000中不能使用dir命令(甚至加上/ah參數(shù))像普通文件一樣列出這些元數(shù)據(jù)文件。實(shí)際上FileSystemDriver(ntfs.sys)維護(hù)了一個(gè)系統(tǒng)變量NtfsProtectSystemFiles用于隱藏這些元數(shù)據(jù)。默認(rèn)情況下,這個(gè)變量被設(shè)為T(mén)RUE,所以使用dir/ah將得不到任何文件。知道這個(gè)行為后使用i386kd修改NtfsProtectSystemFiles后即可以列出元數(shù)據(jù)文件:
kd
【探索NTFS】相關(guān)文章:
3.高職商務(wù)英語(yǔ)驅(qū)動(dòng)教學(xué)模式探索論文