主檔案表(MFT):是什麼以及 NTFS 如何使用它

了解主檔案表(MFT)儲存了哪些資料

的 主檔案表 (MFT) 是一個 NTFS 系統檔案,其中包含描述卷上檔案和資料夾的記錄。這些記錄儲存了元資料(例如檔案名稱和時間戳記),以及檢索檔案內容所需的資訊。Windows 會利用此表格來定位和管理 NTFS 格式化儲存裝置上的檔案。.

的 NTFS 主檔案表 屬於 NTFS 檔案系統. 它將「檔案總管」中可見的名稱與其背後的記錄及儲存位置相互關聯。這是檔案系統中不可或缺的元資料,並非使用者通常會自行開啟或維護的檔案。.

目錄

主檔案表:重點概覽

項目

說明

縮寫

MFT

系統檔案名稱

$MFT

技術類別

NTFS 元資料檔案

範圍

一個 NTFS 磁碟區

主要目的

說明檔案、目錄及其內容的儲存方式

報導範圍

每個檔案或目錄至少有一筆記錄,包括該表格本身

資料儲存

檔案內容可以駐留於記錄內,或非駐留於卷上的其他位置

例行維護

無需手動刪除或編輯

主檔案表 (MFT)

用淺顯易懂的語言解釋主檔案表

不妨將 NTFS 磁區視為一座圖書館。文件、照片和影片就是書;而 主檔案表 這是用來識別它們並協助定位它們的目錄。.

這個比喻有一個重要的限制。若檔案足夠小,其內容便可儲存於該檔案的記錄之中。因此,該表格不僅僅是指向其他位置:有時它本身就包含資料。.

例如以下這種檔案名稱: 報告.docx 雖然這對使用者很有用,但 NTFS 也需要知道哪個目錄包含該檔案,以及如何檢索其內容。該表格提供了描述這些關聯的記錄。.

主檔案表的運作原理

要理解這個機制,最簡單的方法就是追蹤一個檔案從建立、開啟、更新到刪除的整個過程。.

建立檔案

當應用程式建立檔案時,NTFS 會分配一個基礎檔案記錄,並儲存其屬性。這些屬性描述了檔案的各個方面,包括其名稱和資料。.

如果所有屬性無法全部容納於基礎記錄中,NTFS 可以使用額外的記錄。屬性清單會標示檔案屬性的位置。因此,一個檔案並不總是精確對應於該中的單一記錄 主檔案表.

開啟檔案:一個簡單的範例

假設某個應用程式開啟了 C:\Projects\report.docx. 簡而言之,NTFS 遵循以下關係:

  1. 解析目錄路徑。. 目錄索引用於識別沿著所請求路徑的項目。.
  2. 找出該檔案的參考資料。. 關於 報告.docx 指的是其基礎檔案記錄。.
  3. 讀取檔案的屬性。. NTFS 會解析該記錄及其任何相關的延伸記錄。.
  4. 擷取所要求的資料。. $DATA 屬性要麼包含該內容,要麼描述該內容在記錄外的儲存位置。.

這說明了……的作用 主檔案表 在檔案存取方面。這並非指每次開啟操作都會在物理層面上重新讀取整個資料表;Windows 可以快取檔案系統資訊。.

資料表單

內容儲存於何處

NTFS 是如何檢索這些檔案的

居民

檔案記錄的內部結構

讀取屬性值

非居民

位於該卷其他位置的叢集

使用該屬性的映射資訊

叢集是磁碟卷上的分配單位。這些對應關係描述的是邏輯儲存位置,而非 SSD 內部快閃記憶體單元的實體配置。微軟的文件透過以下方式說明兩者的區別: 居民與非居民的屬性結構.

更新檔案

儲存變更可能會改變檔案內容、檔案大小、時間戳記或配額資訊。NTFS 會更新相關的資料和元資料,以反映這些變更。具體的變更內容取決於操作類型:重新命名檔案與追加資料會影響不同的屬性。.

的 主檔案表 因此,這是一種在正常檔案操作過程中使用的動態結構,而非僅建立一次後便不再變更的目錄。.

刪除檔案

一旦檔案從檔案系統中實際刪除,其佔用的空間便可供重新使用。將檔案移至「資源回收筒」與完成此刪除操作並不相同。.

記錄標頭包含一個序號,該序號會在釋放記錄時變更。此序號與記錄編號結合使用,有助於區分當前的檔案參照與已過時的參照。可重複使用的記錄不應被解讀為已刪除檔案的永久存檔。.

主檔案表(MFT)記錄包含哪些內容?

每個記錄都以一個標頭開頭,並包含若干屬性。標頭用於描述該記錄;屬性則用於描述檔案的各項特徵。.

主檔案表記錄包含

元件或資訊

目的

記錄標頭

說明記錄狀態及解讀該狀態所需的資訊

$standard_information

包含基本元資料,包括時間戳記和檔案標記

$file_name

儲存檔案名稱及其父目錄的參照

$DATA

代表檔案內容,無論是駐留型或非駐留型

檔案大小與分配資訊

描述資料流的邏輯長度及已分配的儲存空間

$ATTRIBUTE_LIST,如有需要

定位分散於多個記錄中的屬性

安全性識別碼

將檔案與其安全性資訊建立關聯

這些是精選的元件,並非完整清單。如需更深入的說明,請參閱《指南》 主檔案表(MFT)記錄.

檔案大小與分配大小不同

檔案大小是指資料流的邏輯長度。已分配大小則指為該檔案所分配的儲存空間。對於一般的非駐留、未壓縮檔案,儲存空間是以整塊叢集為單位進行分配的,因此已分配的儲存空間可能會超過檔案的邏輯長度。.

舉例來說,在一個簇大小為 4,096 位元組的磁碟卷上,一個普通的 5,000 位元組非駐留資料流需要兩個簇,也就是 8,192 位元組的分配儲存空間。這僅為說明性的計算,並非適用於駐留資料、壓縮資料或稀疏資料的通用規則。.

檔案名稱與完整路徑有所不同

$FILE_NAME 屬性包含一個名稱和一個父目錄參照。它並非僅僅儲存 C:\Projects\report.docx 作為一個完整的路徑場。.

解析器能夠透過目錄間的關聯性來重建路徑。這解釋了為何報告中可能會顯示完整路徑,即使該路徑並未作為單一屬性儲存於 主檔案表.

權限使用相關的安全元資料

在 NTFS 3.x 中,$STANDARD_INFORMATION 包含一個安全性識別碼,而 $Secure 元資料檔案則儲存安全性描述碼。每個記錄無需包含每項權限設定的獨立完整副本。.

為何主檔案表如此重要

瞭解 主檔案表 有助於區分檔案的身份與其內容。元數據報告中出現的檔案名稱,僅憑此並不能證明該文件整體仍可讀取。.

它也有助於解讀技術性輸出結果。例如,MFT 的起始簇會標示出表格在磁碟卷上的起始位置。但它並不會標示每個使用者檔案的位置,也無法證明該表格狀態良好。.

實際的經驗教訓是:應根據各欄位實際描述的內容來解讀它們。名稱、父項目參照、資料映射和時間戳記各自回答不同的問題;其中任何一項都無法取代獨立的備份。.

主檔案表(MFT)與 NTFS 及 FAT 的比較

NTFS 是一種檔案系統;主檔案表(Master File Table)是其核心結構之一。. 這些術語描述了儲存系統的不同層級。.

術語

意義

NTFS

用於在磁區上組織檔案和目錄的檔案系統

MFT

描述這些物件的記錄表

$MFT

包含該表格的 NTFS 元資料檔案

MFT 記錄

該資料表中的某筆記錄

脂肪

FAT 家族檔案系統用來追蹤簇鏈的檔案分配表

在 FAT32, 目錄項目儲存檔案資訊,而 FAT 則連結分配給檔案的簇。NTFS 則使用檔案記錄與屬性,其中包含非駐留資料的映射。因此,MFT 並非單純是 FAT 的另一種稱呼。.

NTFS 還具備其他記錄結構。卷的 $Bitmap 用於追蹤簇的分配狀況,而 $MFT 則擁有專屬的位圖來追蹤記錄的使用狀況。這些結構分別回答了不同的問題:哪些儲存簇已被分配,以及哪些記錄已被佔用。.

主檔案表位於何處?

的 主檔案表 位於其所描述的 NTFS 磁碟區上。其特殊檔案名為 $MFT,位於磁碟區根目錄下——例如,, C:\$MFT 對於掛載為 C: 的磁碟區。.

這是一個邏輯位置,而非所有磁碟皆共用的固定實體位址。NTFS 卷宗資訊會透過以下方式揭露起始邏輯簇編號: MftStartLcn.

MFT 區塊是預留用以因應資料表擴充所需的空間。它與 $MFT 內的已分配記錄有所不同。有關邏輯路徑與叢集位置的更多詳細資訊,請參閱 主檔案表位置指南.

如何在 Windows 中檢視主檔案表 (MFT) 資訊

在 Windows 10 或 Windows 11 上,開啟具有管理員權限的命令提示字元或終端機,並執行以下指令:

  1. fsutil fsinfo ntfsinfo C.

更換 C: 並指定相應的 NTFS 磁碟機代號。此指令用於查詢磁區資訊;它不會修復或重建分區表。.

視 Windows 版本而定,輸出內容可能包含以下欄位:

現場

這告訴你什麼

每份檔案記錄區段的位元組數

此卷所使用的記錄大小

Mft Start Lcn

該資料表的起始邏輯叢集編號

Mft 區域起點/終點

保留成長區的邊界

舉例來說,1,024 位元組的記錄大小是指單一記錄區段的大小。這並不表示每個檔案長度都是 1,024 位元組,也不表示整個資料表佔用的空間就是這個大小。.

微軟在其 fsutil fsinfo 命令參考. 檢視這些摘要欄位,與解析個別記錄並檢查檔案內容是不同的。.

常見的誤解與安全須知

MFT 並非完整的備份

$MFTMirr 僅複製資料表中有限的初始部分,而非每個檔案記錄。無論是它還是 主檔案表 會為所有使用者檔案建立一份獨立的備份。.

其存在並不代表是惡意軟體

$MFT 是一個預期的 NTFS 元資料檔案。然而,名稱中包含「MFT」但與此無關的下載檔案,不應自動被視為此系統物件。在對不熟悉的檔案名稱下結論之前,請先釐清其上下文。.

請勿刪除或停用它

手動刪除、覆寫或編輯 $MFT 可能會導致 NTFS 無法正確解析檔案。此項目並非清理目標,也不是可關閉的選項功能。.

若磁碟機無法存取,請在選擇修復流程之前先備份重要資料。CHKDSK 的修復選項會修改檔案系統;這些選項與上文所述的資訊查詢功能不同。.

如果主檔案表(MFT)損毀了會發生什麼情況?

腐敗的 主檔案表 可能會導致 NTFS 無法正確定位或解析檔案。即使磁碟機上仍保留部分底層內容,檔案或資料夾也可能無法存取。然而,僅憑 RAW 磁區或啟動失敗,並不能證明 MFT 已受損。.

若重要檔案受到影響,請在嘗試修復之前,優先確保資料安全。請避免格式化磁碟區或立即執行 chkdsk X:/f, ,此操作會修改檔案系統。若情況允許,請先備份資料或建立磁碟映像。如需進一步指引,請參閱 RAW 磁碟故障排除指南.

何時該使用相關指南

如果目標是理解 主檔案表, 無需進行任何維護作業。.

對於確實已刪除的檔案,請繼續執行 已刪除檔案復原指南. 若遇到 RAW 磁區或相關的 CHKDSK 訊息,請使用 RAW 磁碟故障排除指南.

詳細的修復、表大小、磁碟使用量、碎片化及鏡像分析仍屬獨立議題。應根據實際症狀來評估這些項目,而非將其納入一般定義之中。.

總結

的 主檔案表 它提供了 NTFS 描述檔案及檢索其內容所需的記錄。其屬性將名稱、目錄關係與資料儲存相互連結。理解這些關聯性,不僅能讓技術報告更易於解讀,也能說明為何元資料、檔案內容與備份各自具有不同的用途。.

主檔案表常見問題集

$MFT 是否只是個副檔名為 .mft 的普通檔案?

No. $MFT 是 NTFS 元資料檔案的特殊檔名,並非文件副檔名。一個名為 example.mft 該項目可能屬於一個無關的應用程式。在假設其屬於 NTFS 主檔案表的一部分之前,請先檢查其上下文與角色。.

每個 NTFS 磁區都有自己的表嗎?

是的。每個 NTFS 卷都有自己的主檔案表。因此,位於同一物理磁碟上的兩個 NTFS 卷會擁有各自獨立的主檔案表。磁碟機代號是 Windows 用於掛載的標識;相關的邊界是檔案系統卷,而非外接盒或物理裝置。.

資料夾也有 MFT 記錄嗎?

是的。目錄除了包含一般檔案外,也包含記錄。其屬性支援用於組織目錄項目的索引。因此,該表格所呈現的是檔案系統的層級結構,其中包含資料夾和元資料檔案,而不僅僅是使用者在應用程式中開啟的文件、圖片或影片。.

多個檔案名稱可以指向同一個檔案嗎?

是的。NTFS 硬連結允許同一磁區上的多個路徑引用同一個底層檔案。它們不會建立該檔案內容的獨立副本。透過其中一個硬連結所做的變更,會影響透過其他連結存取的檔案,這在解讀元資料報告中的名稱時至關重要。.

什麼是識別表格中檔案條目的依據?

NTFS 檔案參照是透過記錄編號和序列號來識別基礎記錄的。當記錄被釋放並重新使用後,序列部分有助於區分當前的參照與已廢棄的參照。這與檔案名稱或重建的目錄路徑不同。.

MFT 與 Windows 搜尋索引是一樣的嗎?

不。主檔案表 (MFT) 是 NTFS 系統中不可或缺的元資料,用於描述和存取檔案。Windows 搜尋索引則是支援搜尋功能的獨立結構。重建搜尋索引並不會重建 MFT,而搜尋問題也不一定代表檔案系統記錄已損毀。.

列出的檔案名稱能否證明該檔案可被恢復?

不。檔案名稱屬於元資料,而成功復原還取決於底層內容是否仍可取得且可讀取。僅憑元資料清單,無法確定完整的文件或影片是否仍存留。復原後的檔案必須在應用程式中進行檢查,才能視為完整無缺。.

時間戳記能證明某人何時開啟檔案嗎?

並非僅憑此即可斷定。NTFS 包含不同的時間戳記欄位,其解讀方式取決於具體欄位及系統行為。最後存取資訊未必能反映每一次個別的開啟操作。在缺乏佐證的情況下,不應將單一時間戳記視為使用者活動的完整紀錄。.

Vasilii 是一位在該領域擁有約 10 年實務經驗的資料復原專家。在他的職業生涯中,他已成功解決數千個複雜的個案,包括刪除的檔案、格式化的硬碟機、遺失的磁碟分割和 RAW 檔案系統。他的專業知識涵蓋使用十六進位編輯器等專業工具的手動復原方法,以及使用復原軟體的進階自動解決方案。Vasilii 的使命是讓 IT 專業人士和一般使用者都能獲得可靠的資料復原知識,協助他們保護寶貴的數位資產。.