Os pontos de junção NTFS são um tipo de ponto de nova análise, atuando efetivamente como links simbólicos, mas restritos a segmentar diretórios locais por caminho absoluto.
Suponha que você tenha
C:\>mkdir a b
C:\>linkd b\c C:\a
O que acontece é que dentro da tabela de diretórios para C:\b
, uma entrada de diretório chamada c
é inserida, com um atributo $Reparse
contendo dados especificando que é um ponto de junção com o destino C:\a
.
Quando o Windows 2000 (quando pontos de nova análise e pontos de junção foram introduzidos) encontra um ponto de nova análise, ele é transferido para o manipulador apropriado. Nesse caso, ao acessar um caminho abaixo de C:\b\c
, o manipulador de pontos de junção substituiria o caminho C:\b\c
with C:\a
e as operações normais do sistema de arquivos continuariam a partir daí.
Outros filtros do sistema de arquivos podem ser instalados, interceptando e manipulando outros tipos de pontos de nova análise; O Windows Vista, Server 2008 e posterior vêm com um manipulador para pontos de nova análise "symlink" no NTFS, que pode apontar para um arquivo ou diretório, absoluto ou relativo, local ou remoto - praticamente como links simbólicos em outros sistemas.
Separadamente, o NTFS tem suporte para hardlinks, da mesma maneira que o UNIX - várias entradas de diretório podem apontar para o mesmo "inode", que é o dado real do arquivo. Isso não tem nada a ver com pontos de nova análise. Em quase todos os sistemas, os links físicos só podem ser feitos em arquivos; diretórios hardlinking é repleto de perigo. (Entre outras coisas, como deve ser a entrada ..
de um diretório com link físico?)