首页
/
每日頭條
/
科技
/
文件系統沒有ntfs
文件系統沒有ntfs
更新时间:2024-10-21 09:18:01

前言

Windows作為最流行的個人計算機操作系統,成為了我們學習、工作和生活的一部分。我們幾乎每天都會經曆打開文件管理器,進入具體磁盤,打開具體文件,而Windows采用文件系統管理着所有的文件和磁盤空間,這個文件系統就是NTFS。

NTFS文件系統

文檔主要分為兩大部分:

一、NTFS文件系統簡介

二、文件磁盤位置計算

一、NTFS文件系統簡介

NTFS(New Technology file System)是微軟1993年推出的用于Windows系統的文件系統,用于代替原來的FAT文件系統,從而提高性能。NTFS自推出以來經曆了多個版本的更新,更新曆史如下:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)1

可見2001年發行3.1版本後,NTFS就再沒有更新過了。

NTFS數據結構

一個NTFS分區的結構如下圖所示:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)2

整個分區主要分為三大區域:

  • VBR(Volume Boot Record):非常重要,存儲跟引導相關的數據,大小為16個扇區;
  • 文件區域:在NTFS的概念裡,一切皆為文件,包括元數據文件、常規文件、目錄、一切的一切都是文件;
  • BBS(Backup Boot Sector):分區的第一個扇區是分區引導記錄,是能否引導系統的關鍵,所以NTFS用分區的最後一個扇區備份第一個扇區,用于修複損壞的第一個扇區。

文件

文件可分為三種類型:元數據文件、常規文件和目錄。

元數據文件

任何文件系統都會有元數據用于描述文件信息,信息有如名稱、大小、修改時間、存放位置等等,注意的是NTFS元數據也用文件表示,總有16個元數據文件,這些文件的名稱都是以$開頭,屬于隐藏文件。

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)3

查看這些文件:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)4

MFT(Master File Table)

非常重要的文件,包含了所有文件的元數據,定位文件必須要經過$MFT文件。MFT由一個個文件記錄組成,一個文件至少占用一個記錄,$MFT文件占用第一個記錄。

MFT文件記錄(固定大小為1KB)由記錄頭部和屬性組成,記錄頭部大小為42或48字節,3.1版本之前是42字節,之後是48字節。記錄頭部數據結構定義如下:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)5

文件記錄屬性分為常駐屬性和非常駐屬性,常駐屬性代表屬性的全部内容在文件記錄中,非常駐屬性代表屬性内容超過了文件記錄的大小,需要另外開辟空間存儲,例如文件内容比較大。

文件記錄頭部中标明了第一個屬性的偏移量,NTFS支持的屬性定義在$AttrDef中,每個屬性有唯一标識ID,常見的ID有:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)6

文件内容

文件内容由屬性$DATA描述,由于文件記錄的大小固定為1KB,記錄頭占了48字節,所以留給文件存放内容的空間不會超過976字節。如果文件内容比較少,則全部存在文件記錄中,否則另外開辟extents存儲。開辟的extents以族為單位,NTFS基本分配單位是族,族大小為4KB。

二、文件磁盤位置計算

借助微軟公司提供的工具fsutil可計算出文件的數據分布範圍,根據文件的大小,可分為兩種情況。

小文件

小文件指的是文件内容可容納在文件記錄中,不用開辟extents存放,也是最不方便計算的情況。

第一步:

獲取$MFT文件的磁盤分布範圍,方式如下:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)7

指令為:fsutil file queryextents 文件路徑

輸出結果(結果可能為多行,代表文件存放位置不連續):

VCN:虛拟族編号,相對于文件内部的偏移量,單位為族;

:該extent大小,單位為族;

LCN:邏輯族編号,extent相對于分區的偏移量,單位為族。

這樣就可以知道$MFT文件在分區的0xc0000(10進制為786432)族(大小4096)處,換算為字節為786432 4096=3221225472,文件大小為0x1640(10進制為5696)族,換算為字節為5696 4096 = 23330816。

第二步:

獲取文件在$MFT文件的位置,文件參考編号的低4字節就是文件在$MFT文件的位置,求文件參考編号的方法如下:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)8

通過fsutil volume filelayout 文件路徑可獲取到文件參考編号,0x0007000000005206的低4字節為0x5206,也就是說E:\12.txt的文件記錄位于$MFT的第0x5206(10進制為20998)個記錄處。

一個文件記錄固定為1KB,那麼E:\12.txt的文件記錄則位于 20998 * 1024 = 21501952 = 0x1481800。

用FTK看看$MFT的0x1481800處是什麼内容:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)9

字符“FIFE”代表是一個文件記錄,第二個紫框表明文件名匹配,第三個紫框是文件内容“helios89”,看看12.txt的内容:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)10

可見計算得到的E:\12.txt在$MFT的位置是正确的,知道了$MFT在分區的分布範圍,也知道了E:\12.txt在$MFT的位置,通過簡單的計算便可知道E:\12.txt在分區的分布範圍了。

大文件

大文件指的是文件記錄容納不下文件的内容,需要開辟extents存放,這種文件是最容易計算其數據分布範圍的,參考小文件計算的第一步。

分區偏移量

上面的計算結果得到的是文件在分區的偏移量,需要加上分區偏移量才是磁盤的偏移量。分區偏移量可通過FTK軟件查看。

方法如下:

選擇【File】->【add Evidence Item..】,彈框如下:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)11

選擇【Physical Drive】【下一步】選擇磁盤,點擊完成。

在【View】中選擇【Properties】顯示出屬性框

在左側的【Evidence Tree】中選擇一個分區,在屬性框中便可查看到分區的偏移量(單位扇區)了,如下圖所示:

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)12

文件系統沒有ntfs(Windows文件系統-NTFS文件系統)13

結束語

Windows作為最流行的個人計算機操作系統,也證明了NTFS文件系統的強大和穩定。本文檔隻是對NTFS進行了簡單的介紹,還有更多的技術原理值得我們繼續研究,讓我們繼續前進吧。

以上就是關于今天的全部内容,下期将給大家帶來《什麼是CPU 上下文切換》,敬請期待~

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
用什麼制作h5頁面
用什麼制作h5頁面
現在很多門店或企業商家為了提高自己門店/品牌的影響力,以及宣傳推廣門店/企業活動,通常會選擇制作一個精美且吸引人的H5頁面,因為H5頁面傳播力度大,還具有不錯的推廣效果。那麼,精美又吸引人的H5頁面到底該如何制作呢?接下來,小編就給大家詳細...
2024-10-21
餘秀華楊槠策分手實錘了嗎
餘秀華楊槠策分手實錘了嗎
導語:提到46歲腦癱女詩人餘秀華,想必大家都有所了解,多年前她憑借《穿過大半個中國去睡你》這首愛情詩走入大衆視野,自此開啟了新的人生。進入大衆視野的餘秀華并沒有着急自己的創作,而是又找了新的男友談情說愛。相信隻要認識餘秀華,對她有所了解的網...
2024-10-21
乘法與加法原理小學
乘法與加法原理小學
2022年7月希望數學四年級個人戰)十二星座分為火象、土象、風象、水象四類象性,每一類象性都有3個星座。魔法學院有20名學員,他們的星座如下表:現要選出8名學員舉行魔法比賽要求每一類象性中選出2個星座一共有多少種不同的選法。解析:題目類型是...
2024-10-21
九陰真經真的強嗎
九陰真經真的強嗎
九陰真經可能是金庸筆下最知名的武學秘籍了,射雕三部曲中,關于九陰真經的傳說和故事從未間斷。其實九陰真經自黃裳創作出來,幾百年間發生了一連串的變化,九陰真經也派生出好幾個版本。第一版也就是原版,即黃裳的原作。第二版是郭靖黃蓉給歐陽鋒胡寫的版本...
2024-10-21
電腦設置最好使用的輸入法
電腦設置最好使用的輸入法
我們日常的工作和生活中,隻要使用電腦,那肯定離不開輸入法這個軟件,那麼,你們知道我們的輸入法有哪些鮮為人知的小技巧嗎?下面,小澤給大家分享一些關于輸入法的小技巧!生僻字輸入現在大多數電腦輸入法裡面都帶有生僻字自動識别功能,遇到不會讀的字,可...
2024-10-21
Copyright 2023-2024 - www.tftnews.com All Rights Reserved