欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
解讀NTFS
NTFS是一個(gè)比FAT復雜的多的文件系統,我們一起努力來(lái)把它完整的解讀出來(lái)
NTFS的引導扇區也是完成引導和定義分區參數,和FAT分區不同,FAT分區的BOOT記錄正常,就顯示分區沒(méi)有錯誤,即使文件不正確,而NTFS分區的BOOT不是分區的充分條件,它要求必須MFT中的系統記錄如$MFT等正常該分區才能正常訪(fǎng)問(wèn)。其BPB參數如下表所示。



字節偏移 長(cháng)度 常用值 意義
0x0B 字 0x0002 每扇區字節數
0x0D 字節 0x08 每簇扇區數
0x0E 字 0x0000 保留扇區
0x10 3字節 0x000000 總為0
0x13 字 0x0000 NTFS未使用,為0
0x15 字節 0xF8 介質(zhì)描述
0x16 字 0x0000 總為0
0x18 字 0x3F00 每磁盤(pán)扇區數
0x1A 字 0xFF00 磁頭數
0x1C 雙字 0x3F000000 隱含扇區
0x20 雙字 0x00000000 NTFS未使用,為0
0x28 8字節 0x4AF57F0000000000 扇區總數
0x30 8字節 0x0400000000000000 $MFT的邏輯簇號
0x38 8字節 0x54FF070000000000 $MFTMirr的邏輯簇號
0x40 雙字 0xF6000000 每MFT記錄簇數
0x44 雙字 0x01000000 每索引簇數
0x48 8字節 0x14A51B74C91B741C 卷標
0x50 雙字 0x00000000 檢驗和



MFT中的文件記錄大小一般是固定的,不管簇的大小是多少,均為1KB。文件記錄在MFT文件記錄數組中物理上是連續的,且從0開(kāi)始編號,所以,NTFS是預定義文件系統。MFT僅供系統本身組織、架構文件系統使用,這在NTFS中稱(chēng)為元數據(metadata,是存儲在卷上支持文件系統格式管理的數據。它不能被應用程序訪(fǎng)問(wèn),只能為系統提供服務(wù))。其中最基本的前16個(gè)記錄是操作系統使用的非常重要的元數據文件。這些元數據文件的名字都以“$”開(kāi)始,所以是隱藏文件,在Windows2000/XP中不能使用dir命令(甚至加上/ah參數)像普通文件一樣列出。在WINHEX中帶有NFI.EXE,用此工具可以顯示這些記錄與文件的對應關(guān)系,下一次再詳細解釋。



這些元數據文件是系統驅動(dòng)程序管理卷所必需的,Windows 2000/XP給每個(gè)分區賦予一個(gè)盤(pán)符并不表示該分區包含有Windows2000/XP可以識別的文件系統格式。如果主文件表?yè)p壞,那么該分區在Windows2000/XP下是無(wú)法讀取的。為了使該分區能夠在Windows 2000/XP下能被識別,就必須首先建立Windows2000/XP可以識別的文件系統格式即主文件表,這個(gè)過(guò)程可通過(guò)高級格式化該分區來(lái)完成。Windows以簇號來(lái)定位文件在磁盤(pán)上的存儲位置,在FAT格式的文件系統中,有關(guān)簇號的指針包含在FAT表中,在NTFS中,有關(guān)簇號的指針則包含在$MFT及$MFTMirr文件中。



NTFS使用邏輯簇號(Logical Cluster Number,LCN)和虛擬簇號(Virtual ClusterNumber,VCN)來(lái)對簇進(jìn)行定位。LCN是對整個(gè)卷中所有的簇從頭到尾所進(jìn)行的簡(jiǎn)單編號。用卷因子乘以L(fǎng)CN,NTFS就能夠得到卷上的物理字節偏移量,從而得到物理磁盤(pán)地址。VCN則是對屬于特定文件的簇從頭到尾進(jìn)行編號,以便于引用文件中的數據。VCN可以映射成LCN,而不必要求在物理上連續。



在NTFS卷上,跟隨在BPB后的數據字段形成一個(gè)擴展BPB。這些字段中的數據使得 Ntldr能夠在啟動(dòng)過(guò)程中找到主文件表MFT(MasterFile Tabl )。在NTFS卷上,MFT并不象在FAT 16卷和FAT32卷上一樣,被放在一個(gè)預定義的扇區中。由于這個(gè)原因,如果在MTF的正常位置中有壞扇區的話(huà),就可以把MFT移到別的位置。但是,如果該數據被破壞,就找不到MFT的位置,Windows 2000假設該卷沒(méi)有被格式化。
因此,如果一個(gè)ntfs的卷提示未格式化,可能并未破壞MFT,依據BPB的各字段的意思是可以重建BPB的。



NTFS的缺省簇的大小



卷大小 每簇的扇區 缺省的簇大小
小于等于512MB 1 512字節
513MB~1024MB(1GB) 2 1024字節(1KB)
1025MB~2048MB(2GB) 4 2048字節(2KB)
大于等于2049MB 8 4KB



從上面可以看出,也就是說(shuō)不管驅動(dòng)器多大 NTFS 簇的大小不會(huì )超過(guò) 4KB



NTFS文檔:文檔屬性定義



每個(gè)文檔屬性都由以下部分組成:



一個(gè)由該屬性的實(shí)際值組成的被稱(chēng)為“流”的重要的字節序列,元數據可訪(fǎng)問(wèn)該流。



文件中的每個(gè)文件屬性都可能會(huì )有一個(gè)名字:在這種情況下,在命令行方式下可以通過(guò)語(yǔ)法“文件名:屬性名”來(lái)訪(fǎng)問(wèn)該流(這也是文件名中不能使用“:”的原因)。Windows NT®使用以下在元數據文件$AttrDef中預定義的文件屬性列表(一般會(huì )有一個(gè)未命名流,為缺省流,未命名流只能有一個(gè),而命名流可以有多個(gè),NTFS支持多流文件):



10 $STANDARD_INFORMATION (標準信息)



20 $ATTRIBUTE_LIST (屬性列表)



30 $FILE_NAME (文件名)



40 $VOLUME_VERSION (卷版本)



50 $SECURITY_DEscriptOR (安全描述符)



60 $VOLUME_NAME (卷名)



70 $VOLUME_INFORMATION (卷信息)



80 $DATA (數據)



90 $INDEX_ROOT (索引根)



A0 $INDEX_ALLOCATION (索引分配)



B0 $BITMAP (位圖)



C0 $SYMBOLIC_LINK(符號鏈接)



D0 $EA_INFORMATION (?信息)



E0 $EA



屬性流結構



每個(gè)文件屬性都分為兩部分:盡管這兩部分屬性在文件記錄的屬性列表中以倒序方式進(jìn)行記錄,但是為了更好的理解它,讓我們按下面的順序進(jìn)行介紹:



內容部分:



它的結構總是以屬性名開(kāi)始(N字節長(cháng)),在屬性名之后定義該屬性是否為常駐屬性。當文件屬性的數據流就存儲在其屬性名后時(shí),它就是常駐屬性,這樣,對于那些流較小且不會(huì )增長(cháng)的文件屬性就可以提供更佳的訪(fǎng)問(wèn)次數。如果一個(gè)文件屬性是非常駐的,那么其流就存儲在一個(gè)或多個(gè)擴展或稱(chēng)為運行中。運行是一個(gè)在邏輯簇號上連續的區域。為訪(fǎng)問(wèn)這些運行,NTFS緊跟在文件屬性名后存儲有一個(gè)稱(chēng)為運行列表的表。



頭部:



從頭部開(kāi)始的偏移長(cháng)度描述:



0 4 Type (類(lèi)型)



4 4 Length (長(cháng)度)



8 1 Non-resident flag (非常駐標志)



9 1 N=Name length (文件名長(cháng)度)



A 2 Offset to the content part (相對內容部分的偏移值)



C 2 Compressed flag (壓縮標志)



E 2 Identificator (標識)



文件名長(cháng)度:



00 表示文件屬性沒(méi)有命名。



壓縮標志:在NTFS中,數據壓縮是在文件屬性級別上實(shí)現的,這就意味著(zhù),如果出現意外,你也不會(huì )釋放出很多的數據。這樣,盡管只是對文件進(jìn)行壓縮,但壓縮文件同時(shí)就意味著(zhù)其屬性數據也一樣被壓縮。從現在開(kāi)始, 其頭部的安排依賴(lài)文件的常駐屬性:



對一個(gè)常駐屬性來(lái)說(shuō),從頭部開(kāi)始的偏移描述如下:



10 4 Length of the stream (流長(cháng)度)



14 2 Offset to the stream (流偏移)



16 2 Indexed flag (索引標志)



索引標志:



文件屬性通過(guò)一個(gè)索引入口進(jìn)行索引。



對于一個(gè)非常駐的文件屬性,從頭部開(kāi)始的偏移描述如下:



10 8 Starting VCN (起始VCN)



18 8 Last VCN (結束VCN)



20 2 Offset to the runlist (運行列表偏移)



22 2? Number of compression engine ? (壓縮引擎號)



28 8 Allocated size of the stream (為流分配的單元大?。?br>


30 8 Real size of the stream (實(shí)際的流大?。?br>


38 8 Initialized data size of the stream (流已初始化大?。?br>


VCN :Virtual ClusterNumber(虛擬簇號)的縮略詞。VCN是一個(gè)與非常駐屬性相關(guān)聯(lián)的概念。VCN從文件屬性流的第一個(gè)運行的第一個(gè)簇(VCN0)到最后一個(gè)運行的最后一個(gè)簇進(jìn)行編號。當某個(gè)運行列表非常大,文件屬性不能放在一個(gè)文件記錄中時(shí),描述文件的文件屬性就會(huì )存儲在幾個(gè)文件記錄中,運行列表也分成幾個(gè)小片。起始VCN域和結束VCN域都用于定位其文件記錄指示—即運行列表—運行所指定的VCN 。



注:如果屬性可以放在一個(gè)文件記錄內,則結束VCN域(這種情況下沒(méi)有使用)可能是“00 00 00 00 00 00 00 00”。



壓縮引擎的數量:



為達到最好的壓縮比率,NTFS可以根據不同類(lèi)型的數據使用不同的壓縮引擎。當前的壓縮引擎使用值04。



為流分配的單元大?。核鼛妆队诰砩嫌脕?lái)存儲文件屬性流所描述的分配空間。



如果流沒(méi)有壓縮,它就是數倍于簇空間大小的實(shí)際大小,相反,則比較小。



流的實(shí)際大?。?br>文件屬性流在壓縮前的大小。
流的初始化大?。?
這是文件屬性流的壓縮后的大?。偸堑陀诜峙浯笮。?。如果此流未被壓縮,就是它的實(shí)際大小 。
注意:
常駐文件屬性從不被壓縮(也沒(méi)有壓縮引擎號域),因為它的流太小。



信息是足夠的:名字長(cháng)+內容部分的偏移值 =到流的偏移值(常駐屬性)或者到運行列表的偏移值(非常駐悔改)。


如通過(guò)NFI查看文件“新建 文本文檔.txt”的文件記錄號為36,顯示內容如下:


File 36


\新建 文本文檔.txt


$STANDARD_INFORMATION (resident)


$FILE_NAME (resident)


$FILE_NAME (resident)


$DATA (resident)


從顯示內容可以看出文件的全部屬性都是常駐屬性,包括DATA屬性,沒(méi)有非常駐屬性,所以,用WINHEX打開(kāi)MFT,查看該文件記錄,有如下圖的內容



 



小文件的文件記錄


小目錄的索引根屬性可以包括其中所有文件和子目錄的索引。參見(jiàn)下圖



 



小目錄的MFT記錄


大文件或大目錄的所有屬性,就不可能都常駐在MFT中。如果一個(gè)屬性(如文件數據屬性)太大而不能存放在只有1KB的MFT文件記錄中,那么NTFS將從MFT之外分配區域。這些區域通常稱(chēng)為一個(gè)運行(run)或一個(gè)盤(pán)區(extent),它們可用來(lái)存儲屬性值,如文件數據。如果以后屬性值又增加,那么NTFS將會(huì )再分配一個(gè)運行,以便用來(lái)存儲額外的數據。值存儲在運行中而不是在MFT文件記錄中的屬性稱(chēng)為非常駐屬性(nonresidentattribute)。NTFS決定了一個(gè)屬性是常駐還是非常駐的;而屬性值的位置對訪(fǎng)問(wèn)它的進(jìn)程而言是透明的。


當一個(gè)屬性為非常駐時(shí),如大文件的數據,它的頭部包含了NTFS需要在磁盤(pán)上定位該屬性值的有關(guān)信息。下圖顯示了一個(gè)存儲在兩個(gè)運行中的非常駐屬性。



 



存儲在兩個(gè)運行中的非常駐屬性


在標準屬性中,只有可以增長(cháng)的屬性才是非常駐的。對文件來(lái)說(shuō),可增長(cháng)的屬性有數據、屬性列表等。標準信息和文件名屬性總是常駐的。


一個(gè)大目錄也可能包括非常駐屬性(或屬性部分),參見(jiàn)下圖。在該例中,MFT文件記錄沒(méi)有足夠空間來(lái)存儲大目錄的文件索引。其中,一部分索引存放在索引根屬性中,而另一部分則存放在叫作“索引緩沖區”(indexbuffer)的非常駐運行中。這里,索引根、索引分配以及位圖屬性都是簡(jiǎn)化表示的,這些屬性將在后面詳細介紹。對目錄而言,索引根的頭及部分值應是常駐的。



 


大目錄的MFT記錄


當一個(gè)文件(或目錄)的屬性不能放在一個(gè)MFT文件記錄中,而需要分開(kāi)分配時(shí),NTFS通過(guò)VCN-LCN之間的映射關(guān)系來(lái)記錄運行(run)或盤(pán)區情況。LCN用來(lái)為整個(gè)卷中的簇按順序從0到n進(jìn)行編號,而VCN則用來(lái)對特定文件所用的簇按邏輯順序從0到m進(jìn)行編號。下圖顯示了一個(gè)非常駐數據屬性的運行所使用的VCN與LCN編號。


 


非常駐數據屬性的VCN


當該文件含有超過(guò)2個(gè)運行時(shí),則第三個(gè)運行從VCN8開(kāi)始,數據屬性頭部含有前兩個(gè)運行VCN的映射,這便于NTFS對磁盤(pán)文件分配的查詢(xún)。為了便于NTFS快速查找,具有多個(gè)運行文件的常駐數據屬性頭中包含了VCN-LCN的映射關(guān)系,參見(jiàn)下圖



 



非常駐數據屬性的VCN-LCN映射


雖然數據屬性常常因太大而存儲在運行中,但是其他屬性也可能因MFT文件記錄沒(méi)有足夠空間而需要存儲在運行中。另外,如果一個(gè)文件有太多的屬性而不能存放在MFT記錄中,那么第二個(gè)MFT文件記錄就可用來(lái)容納這些額外的屬性(或非常駐屬性的頭)。在這種情況下,一個(gè)叫作“屬性列表”(attributelist)的屬性就加進(jìn)來(lái)。屬性列表包括文件屬性的名稱(chēng)和類(lèi)型代碼以及屬性所在MFT的文件引用。屬性列表通常用于太大或太零散的文件,這種文件因VCN-LCN映射關(guān)系太大而需要多個(gè)MFT文件記錄。具有超過(guò)200個(gè)運行的文件通常需要屬性列表。


MFT文件記錄結構分析


主文件表MFT的文件記錄由記錄頭和屬性列表組成,由“FF FF FF FF”結束,一般大小為1K,或一個(gè)簇大?。ㄟ@樣一般就更大),記錄頭包括以下一些域:


偏移 長(cháng)度(字節) 屬性
0X00 4 標志,一定是“FILE”
0X04 2 更新序列US的偏移
0X06 2 更新序列號USN的大小與數組,包括第一個(gè)字節
0X08 8 日志文件序列號LSN
0X10 2 序列號(SN)
0X12 2 硬連接數
0X14 2 第一個(gè)屬性的偏移地址
0X16 2 標志,1表示記錄正在使用,2表示該記錄為目錄
0X18 4 記錄頭和屬性的總長(cháng)度,即文件記錄的實(shí)際長(cháng)度,
0X1C 4 總共分配給記錄的長(cháng)度
0X20 8 基本文件記錄中的文件索引號
0X28 2 下一屬性ID
0X2A 2 XP中使用,邊界
0X2C 4 XP中使用,本文件記錄號


每次記錄被修改都將導致日志文件序列號$LogFile Sequence Number(LSN)發(fā)生變化。
序列號Sequence Number(SN)用于記錄主文件表記錄被重復使用的次數。
硬連接數Hard Link Count記錄硬連接的數目,只出現在基本文件記錄中。
文件記錄的實(shí)際長(cháng)度是文件記錄在磁盤(pán)上實(shí)際占用的字節空間。
基本文件記錄中的文件索引號,對于基本文件記錄,其值為0,如果不為0,則是一個(gè)主文件表的文件索引號,指向所屬的基本文件記錄中的文件記錄號,在基本文件記錄中包含有擴展文件記錄的信息,存儲在“屬性列表ATTRIBUTE_LIST”屬性中。


屬性列表是可變長(cháng)度區,以“FF FF FF FF”結束,對于1K長(cháng)度的MFT記錄,屬性列表的起始偏移為0x30。



索引記錄結構分析


每一個(gè)索引記錄都是由一個(gè)標準的索引頭和一些包含索引鍵和索引數據的塊組成的。索引記錄的大小在引導記錄 $Boot中定義,一般總是4KB。
標準索引頭的結構如下:


偏移 大小 說(shuō)明
0X00 4 總是“INDX”
0X04 2 更新序號偏移
0X06 2 更新序列號USN的大小與排列,包括第一個(gè)字節
0X08 8 日志文件序列號LSN
0X10 8 該索引緩沖在索引分配中的索引VCN
0X18 4 索引入口的偏移(相對于0X18)
0X1C 4 索引入口的大?。ㄏ鄬τ?X18)
0X20 4 索引入口的分配大?。ㄏ鄬τ?X18)
0X24 1 非頁(yè)級節點(diǎn)為1(有子索引)
0X25 3 總是0
0X28 2 更新序列號
0X2A 2S-2 更新序列排列


常用索引列表


名稱(chēng) 索引 說(shuō)明
$I30 文件名 目錄使用
$SDH 安全描述 $SECURE
$SII 安全IDS $SECURE
$O 對象IDS $OBJID
$O 所有者IDS $QUOTA
$Q 配額 $QUOTA
$R 重解析點(diǎn) $REPARSE

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
NTFS文件系統+NTFS文件系統結構解析+NTFS文件系統規范
NTFS
關(guān)于NTFS
NTFS的索引結構分析 | 數據恢復迷
python解釋NTFS runlist的代碼
硬盤(pán)NTFS分區MFT文件記錄結構
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久