Таблица master file
[Этот документ применяется только к версии 3 томов NTFS.]
В таблице главных файлов (MFT) хранятся сведения, необходимые для извлечения файлов из раздела NTFS.
Файл может содержать одну или несколько записей MFT и может содержать один или несколько атрибутов. В NTFS ссылка на файл — это ссылка на сегмент MFT базовой записи файла. Дополнительные сведения см. в MFT_SEGMENT_REFERENCE.
MFT содержит сегменты записей файлов; Первые 16 из них зарезервированы для специальных файлов, таких как:
- 0: MFT ($Mft)
- 5: корневой каталог (\)
- 6. Файл выделения кластера томов ($Bitmap)
- 8. Файл плохого кластера ($BadClus)
Каждый сегмент записи файла начинается с заголовка сегмента записи файла. Дополнительные сведения см. в FILE_RECORD_SEGMENT_HEADER. За каждым сегментом записи файла следует один или несколько атрибутов. Каждый атрибут начинается с заголовка записи атрибута. Дополнительные сведения см. в ATTRIBUTE_RECORD_HEADER. Запись атрибута включает тип атрибута (например, $DATA или $BITMAP), необязательное имя и значение атрибута. Поток данных пользователя является атрибутом, как и все потоки. Список атрибутов завершается 0xFFFFFFFF ($END).
Ниже приведены некоторые примеры атрибутов.
- Файл $Mft содержит неименованный атрибут $DATA, который является последовательностью сегментов записей MFT.
- Файл $Mft содержит неименованный атрибут $BITMAP, указывающий, какие записи MFT используются.
- Файл $Bitmap содержит неименованный атрибут $DATA, указывающий, какие кластеры используются.
- Файл $BadClus содержит атрибут $DATA с именем $BAD, содержащий запись, соответствующую каждому плохому кластеру.
Если в сегменте записи файла больше нет места для хранения атрибутов, дополнительные сегменты записей файлов выделяются и вставляются в первый (или базовый) сегмент записи файла в атрибуте, называемом списком атрибутов. Список атрибутов указывает, где можно найти каждый атрибут, связанный с файлом. Это включает все атрибуты в базовой записи файла, за исключением самого списка атрибутов. Дополнительные сведения см. в разделе ATTRIBUTE_LIST_ENTRY.
Структуры, связанные с MFT, включают следующие:
- ATTRIBUTE_LIST_ENTRY
- ATTRIBUTE_RECORD_HEADER
- FILE_NAME
- FILE_RECORD_SEGMENT_HEADER
- MFT_SEGMENT_REFERENCE
- MULTI_SECTOR_HEADER
- STANDARD_INFORMATION
Связанные разделы