當前位置:學問君>學習教育>畢業論文>

探索NTFS

學問君 人氣:2.93W
探索NTFS
探索NTFS

NTFS是WindowsNT引入的新型檔案系統,它具有許多新特性。本文旨在探索NTFS的底層結構,所敘述的也僅是檔案在NTFS捲上的分佈。NTFS中,卷中所有存放的數據均在一個叫$MFT的檔案中,叫主檔案表(MasterFileTable)。而$MFT則由檔案記錄(FileRecord)數組構成。FileRecord的`大小一般是固定的,通常情況下均爲1KB,這個概念相當於Linux中的inode。FileRecord在$MFT檔案中物理上是連續的,且從0開始編號。$MFT僅供FileSystem本身組織、架構檔案系統使用,這在NTFS中稱爲元數據(Metadata)。以下列出Windows2000Release出的NTFS的元數據檔案(我將要給出的示例代碼的部分輸出結果)。
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參數)像普通檔案一樣列出這些元數據檔案。實際上FileSystemDriver()維護了一個系統變量NtfsProtectSystemFiles用於隱藏這些元數據。默認情況下,這個變量被設爲TRUE,所以使用dir/ah將得不到任何檔案。知道這個行爲後使用i386kd修改NtfsProtectSystemFiles後即可以列出元數據檔案:

kd

TAGS:ntfs 探索