Пояснения по сравнению файловых систем FAT и NTFS

Я начал изучать файловые системы, особенно FAT* и NTFS.

В файловых системах FAT кластеры могут быть кластерами данных или каталогов, а начальный номер кластера корневого каталога всегда известен, так как до FAT32 он фиксировался во время форматирования и, как и в FAT32, находится в расширенном блоке BIOS в загрузочном файле. сектор.

NTFS, с другой стороны, организует все в главной таблице файлов с записью MFT для каждого файла и каталога в системе. Первая 27-я позиция таблицы основных файлов помечена как зарезервированная, а первый индекс состоит из записи $MFT, которая описывает саму MFT.

Я понимаю, как NTFS отслеживает данные через атрибут резидентных/нерезидентных данных, в то время как FAT использует записи каталога, чтобы найти первый кластер в цепочке кластеров и обратиться к Таблице размещения файлов для дальнейшей обработки.

Сейчас мой разум затрудняется «обработать» эти вещи.

Где найти корневой каталог в NTFS?

Как каталог представлен в записи MFT? Как резидентным, так и нерезидентным способом, и как мне найти запись MFT подкаталога через текущую запись MFT?

Что делать, если запуски кластера, указанные во второй половине записи MFT, превышают ограничение в 1024 байта? (я так понимаю это означает плохо фрагментированный файл)


person LppEdd    schedule 10.09.2017    source источник


Ответы (1)


Я должен ответить сам, так как это может быть полезно другим.

Корневой каталог в NTFS находится по индексу 5 зарезервированных записей MFT.

Запись MTF каталога в NTFS представлена ​​почти как запись MTF файла, но вместо части Data Attribute сохраняются атрибуты Index Root и Index Allocation. Корень индекса содержит индексы записей MFT в MFT, которые представляют файлы и каталоги, хранящиеся внутри фактического каталога.

Распределение индекса используется в случае, если потоки данных превышают ограничение в 1024 байта, чтобы отменить ссылку на продолжение данных на другую запись MFT.

person LppEdd    schedule 10.09.2017