Я начал изучать файловые системы, особенно FAT* и NTFS.
В файловых системах FAT кластеры могут быть кластерами данных или каталогов, а начальный номер кластера корневого каталога всегда известен, так как до FAT32 он фиксировался во время форматирования и, как и в FAT32, находится в расширенном блоке BIOS в загрузочном файле. сектор.
NTFS, с другой стороны, организует все в главной таблице файлов с записью MFT для каждого файла и каталога в системе. Первая 27-я позиция таблицы основных файлов помечена как зарезервированная, а первый индекс состоит из записи $MFT, которая описывает саму MFT.
Я понимаю, как NTFS отслеживает данные через атрибут резидентных/нерезидентных данных, в то время как FAT использует записи каталога, чтобы найти первый кластер в цепочке кластеров и обратиться к Таблице размещения файлов для дальнейшей обработки.
Сейчас мой разум затрудняется «обработать» эти вещи.
Где найти корневой каталог в NTFS?
Как каталог представлен в записи MFT? Как резидентным, так и нерезидентным способом, и как мне найти запись MFT подкаталога через текущую запись MFT?
Что делать, если запуски кластера, указанные во второй половине записи MFT, превышают ограничение в 1024 байта? (я так понимаю это означает плохо фрагментированный файл)