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