Como posso criar um ponto de junção NTFS no Windows XP?
Como posso criar um ponto de junção NTFS no Windows XP?
Respostas:
Por padrão, o Windows XP não possui ferramentas para criar um ponto de junção. Essa ferramenta ( linkd
) faz parte das Ferramentas do Windows Resource Kit .
Outra ferramenta é a junção de Mark Russinovich.
Experimente o utilitário de junção da Sysinternals, está disponível no W2k +
Sua definição de ponto de junção é um diretório que está vinculado a outro?
Se assim for, é simples
mklink /J <new directory to be linked> <target directory>
Depois disso, não há distinção entre os diretórios. Eles têm o mesmo MFT_REF (em http://en.wikipedia.org/wiki/NTFS_symbolic_link ).
fsutil
Também pode ser útil consultar pontos de nova análise e criar links físicos.
Se você deseja saber como fazer isso programaticamente, pode usar as chamadas IOCTL do driver de armazenamento NTFS no identificador de volume. Mas seria mais fácil ligar mklink
.
Esteja ciente de que você precisa ter privilégios de gravação e modificação para o diretório de destino. Você precisará executar o cmd.exe elevado para que ele funcione.
mklink
não existe no winxp, acredito.
fsutil reparsepoint delete the_directory-junction_you_made_to_test_this
. Você terá um nó de diretório distinto e provavelmente vazio.
Você também pode usar o Link Shell Extension como uma interface orientada a GUI. Ele pode criar junções, links físicos e até links simbólicos no Windows XP se você instalar o driver de filtro NTFS 5 da Masatoshi Kimura, conforme descrito. http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Aqui está o link "ao vivo" para junction.exe.
Junção de diretório :
mklink /J <oldpath(link)> <newpath(target)>
Fazendo o newpath
absoluto, você poderá mover o link sem quebrar o ponteiro para o newpath
. Se você fizer o newpath
parente, você poderá evitar a quebra da ligação, enquanto você se move AMBOS o link e alvo TOGETHER e manter seus caminhos relativos.
Você cria um ponto de junção com
REPARSE_MOUNTPOINT_DATA_BUFFER* pReparseInfo = // ...
pReparseInfo->ReparseTag = IO_REPARSE_TAG_MOUNT_POINT;
// ...
DeviceIoControl(..., FSCTL_SET_REPARSE_POINTFSCTL_SET_REPARSE_POINT, pReparseInfo, ...
Chamada de API. pReparseInfo
pontos para a REPARSE_MOUNTPOINT_DATA_BUFFER
estrutura que você precisa fornecer.
O artigo da MSDN possui um snippet de código fornecido pela comunidade na parte inferior da página que mostra como usar a API.
Você pode fazer junção NTFS com software especial. Eu recomendo a Link Shell Extension (LSE) . É freeware e fácil de usar. Ele também possui boa documentação com capturas de tela de todas as etapas.