
Hoje, descobri quea tabela de arquivos mestre é em si um arquivo. No entanto, acho que esse arquivo não tem um caminho, você não pode abri-lo, excluí-lo ou modificá-lo. Então, se isso é um arquivo, talvez as partições também sejam arquivos? O que define um arquivo NTFS?
Responder1
O caminho para a MFT é \$Mft
– o espelho é \$MftMirr
. O Windows impede que você os liste, abra ou modifique enquanto está em execução, mas eles ficam visíveis se você observar o volume em algumas ferramentas (como o EnCase).
A documentação do NTFS refere-se a eles como "metarquivos." Os nomes deles são menos importantes para o Windows do que a posição que ocupam na tabela de arquivos (ou seja, $Mft
é o arquivo nº 1 no disco) - o que faz sentido porque o Windows não pode localizar arquivos por nome sem o conteúdo dos metarquivos, então provavelmente existe na API NTFS uma maneira de acessar arquivos apenas pelo número do arquivo (como abrir um arquivo no Linux pelo número "inode" em vez do nome).
Responder2
No entanto, acho que esse arquivo não tem um caminho, você não pode abri-lo, excluí-lo ou modificá-lo.
Você pode chamar ReadFile() e fornecer o nome do arquivo$MFT. Ó
O que define um arquivo NTFS?
Tecnicamente, um fluxo de bits. Então, tudo em um disco, incluindo o setor de inicialização, é umarquivo. Uma partição não é realmente um arquivo. Você realmente não abre uma partição em si, mas um arquivo na partição.
Vou citar a Microsoft aqui:
Todos os dados do sistema de arquivos, incluindo o código de inicialização do sistema e os diretórios, são armazenados pelo sistema de arquivos NTFS em arquivos.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364056(v=vs.85).aspx
Responder3
Abaixo está uma visão muito simplista, já que o NTFS foi estendido com Journaling, etc.
Partiçõessão entradas em uma tabela que definem áreas do disco a serem usadas para volumes. São estruturas de dados que vivemforao sistema de arquivos e são usados pelo BIOS e pelo sistema operacional para estruturar como as coisas são armazenadas no disco.
Volumes NTFScontém uma tabela de arquivos mestre no núcleo do sistema de arquivos NTFS. É um arquivo que o sistema operacional abre e usa para estruturar o armazenamento e armazenar metadados sobre os arquivos que o volume contém. Cada arquivo no disco possui uma entrada de registro na Tabela de Arquivos Mestre e, se for pequeno o suficiente, reside inteiramente na MFT.
Arquivos maiores são extensões para as quais a entrada do registro do arquivo aponta.
Diretórios são arquivos que contêm informações de índice sobre entradas de registro de arquivo e, se forem pequenos o suficiente, também ficam inteiramente dentro do MFT.
Devido ao fato de que arquivos pequenos podem residir inteiramente no MFT e pode haver muitos arquivos e diretórios no volume, o MFT também pode ser fragmentado para aumentar seu espaço de armazenamento (ao contrário do FAT, que era limitado a uma determinada área predefinida).