Сегодня я обнаружил, что главная таблица файлов сама по себе является файлом. Тем не менее, я думаю, что файл не имеет пути, вы не можете открыть, удалить или изменить его. Так что, если это файл, может быть, разделы тоже файлы? Что определяет файл NTFS?
3 ответа
Путь к MFT - это \$Mft
а зеркало - \$MftMirr
. Windows запрещает вам перечислять, открывать или изменять их во время работы, но они видны, если вы посмотрите на том под некоторыми инструментами (такими как EnCase).
В документации NTFS они называются « метафайлами ». Их имена для Windows менее важны, чем позиция, которую они занимают в таблице файлов (т. $Mft
- это файл № 1 на диске), что имеет смысл, поскольку Windows не может найти файлы по имени без содержимого метафайлов, поэтому В NTFS API, возможно, есть глубокий способ доступа к файлам только по номеру файла (что-то вроде открытия файла в Linux по номеру "inode" вместо имени).
Тем не менее, я думаю, что файл не имеет пути, вы не можете открыть, удалить или изменить его.
Вы можете вызвать ReadFile() и дать ему имя файла $ MFT. О
Что определяет файл NTFS?
Технически, поток битов. Таким образом, все на диске, включая загрузочный сектор, является файлом. Раздел на самом деле не файл, хотя. Вы действительно не открываете раздел как таковой, но файл в разделе.
Я процитирую Microsoft здесь:
Все данные файловой системы, включая системный код начальной загрузки и каталоги, хранятся файловой системой NTFS в файлах.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364056(v=vs.85).aspx
Ниже приведено очень упрощенное представление, поскольку NTFS была расширена за счет ведения журнала и т.д.
Разделы - это записи в таблице, которые определяют области диска, которые будут использоваться для томов. Это структуры данных, которые находятся за пределами файловой системы и используются BIOS и ОС для структурирования того, как вещи хранятся на диске.
Тома NTFS содержат основную таблицу файлов в ядре файловой системы NTFS. Это файл, который операционная система открывает и использует для структурирования хранилища и хранения метаданных о файлах, содержащихся в томе. Каждый файл на диске имеет запись в таблице основных файлов и, если он достаточно мал, полностью находится в MFT.
Большие файлы - это экстенты, на которые указывает запись в файле.
Каталоги - это файлы, которые содержат индексную информацию о записях файловых записей и, если они достаточно малы, также полностью находятся в MFT.
Ввиду того, что небольшие файлы могут целиком храниться в MFT и что в томе может быть много файлов и каталогов, MFT также может быть фрагментирован для увеличения своего пространства хранения (в отличие от FAT, который был ограничен определенной предустановленной областью).