¿Cómo crear una unión NTFS?

Respuestas:

11

Por defecto, Windows XP no tiene herramientas para hacer un punto de unión. Esta herramienta ( linkd) es parte de las herramientas del Kit de recursos de Windows .

Otra herramienta es la unión de Mark Russinovich.

Maxim Welikobratov
fuente
Cuando intento crear un enlace simbólico a una carpeta remota, aparece el error "No se puede crear un enlace en: [nombre de carpeta aquí]". Se crea una carpeta vacía, pero no hay enlace.
Aaron Franke
7

Pruebe la utilidad de unión de Sysinternals, está disponible en W2k +


fuente
Nota: Esta herramienta solo le permite vincular volúmenes locales. No se puede vincular a una ubicación remota.
Aaron Franke
Es decir, no admite el enlace simbólico propiamente dicho, sino solo la "unión de directorios", una forma más antigua de punto de análisis NTFS desarrollado para Windows 2000.
can-ned_food
6

¿Es su definición de punto de unión un directorio que está vinculado a otro?

Si es así, es simple

mklink /J <new directory to be linked> <target directory>

Después de esto no hay distinción entre los directorios. Tienen el mismo MFT_REF (de http://en.wikipedia.org/wiki/NTFS_symbolic_link ).

fsutil También puede ser útil para consultar puntos de análisis y hacer enlaces duros.

Si desea saber cómo hacer esto programáticamente, puede usar las llamadas IOCTL del controlador de almacenamiento NTFS en el controlador de volumen. Pero sería más fácil simplemente llamar mklink.

Tenga en cuenta que debe tener privilegios de escritura y modificación para el directorio de destino. Deberá ejecutar cmd.exe elevado para que funcione.

Dominik Weber
fuente
19
mklinkno existe en winxp, creo.
skaffman
55
mklink introducido en Vista
Las uniones NTFS en realidad no proporcionan referencias múltiples a elementos MFT. Pensar que son exactamente como múltiples enlaces duros con nodos de archivo es un concepto erróneo, uno que también compartí hasta hace poco. Simplemente son etiquetas de análisis en nodos de directorio. Puede probar esto haciendo una unión de directorio y luego usando fsutil reparsepoint delete the_directory-junction_you_made_to_test_this. Tendrá un nodo de directorio distinto y probablemente vacío.
can-ned_food
1

COMANDO NATIVO de Windows XP, 7 y 8:

Junta de directorio :
mklink /J <oldpath(link)> <newpath(target)>

Haciendo lo newpathabsoluto, podrá mover el enlace sin romper el puntero al newpath. Si crea el newpathpariente, podrá evitar romper el enlace, siempre y cuando se mueva AMBOS el enlace y apunte JUNTOS y mantenga sus rutas relativas.

BenH
fuente
44
mklink no es nativo de xp: solo se introdujo en Vista.
Copa
0

Usted crea un punto de unión con

REPARSE_MOUNTPOINT_DATA_BUFFER* pReparseInfo = // ...
pReparseInfo->ReparseTag = IO_REPARSE_TAG_MOUNT_POINT;
// ...
DeviceIoControl(..., FSCTL_SET_REPARSE_POINTFSCTL_SET_REPARSE_POINT, pReparseInfo, ... 

Llamada API pReparseInfopuntos a la REPARSE_MOUNTPOINT_DATA_BUFFERestructura que necesita proporcionar.

El artículo de MSDN tiene un fragmento de código proporcionado por la comunidad en la parte inferior de la página que muestra cómo usar la API.

Roman R.
fuente
0

Puede hacer la unión NTFS con un software especial. Recomiendo Link Shell Extension (LSE) . Es gratuito y fácil de usar. También tiene buena documentación con capturas de pantalla de todos los pasos.

vasili111
fuente