Windows7 hardlink en dos unidades diferentes

13

Estoy tratando de crear un enlace duro en mi unidad C que apunte a un archivo en mi unidad D. Abro una terminal con privilegios de administrador e intento lo siguiente:

C:\Users\sandro>mklink /H _vimrc D:\sandro-desktop\.vimrc

El error que obtengo es: El sistema no puede mover el archivo a una unidad de disco diferente.

Cuando pruebo un enlace suave, aparece el problema de que, por alguna razón, los cambios en el contenido del enlace no se reflejan en el archivo de destino.

¡Gracias!

Sandro
fuente
¿Qué tal _vimrcen el destino en lugar de .vimrc?
ulidtko
No es una respuesta, pero encontrará buena información aquí, schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html .
therube

Respuestas:

21

Un enlace duro es una característica del sistema de archivos que no puede cruzar los límites de un sistema de archivos. No puede vincular archivos en C: a D: porque son sistemas de archivos separados. Es posible que cada uno contenga el mismo tipo de sistema de archivos (por ejemplo, NTFS) pero son sistemas de archivos separados.

Mike Fitzpatrick
fuente
Creo que s / diferente / separado / sería más apropiado.
user1686
@grawity: Sí, de acuerdo. Así editado.
Mike Fitzpatrick
¿Tienes ideas sobre cómo puedo solucionar esto?
Sandro
Puede migrar su perfil de usuario de Windows 7 (o simplemente la carpeta Mis documentos) a la unidad D, luego los enlaces duros funcionarán. Si hace esto, asegúrese de usar los métodos adecuados en Windows 7 (generalmente a través de las pestañas de propiedades) - no mueva manualmente las carpetas de C: a D:
Mike Fitzpatrick
El único caso cuando el enlace rígido entre C: y D: funcionará es cuando están en el mismo sistema de archivos, por ejemplo subst D: C:\utils(por supuesto, creado usando el Registro para hacer que esto sea substpersistente).
miroxlav
3

Si se trata de Windows 7, puede usar enlaces simbólicos: steammover hace exactamente eso

Journeyman Geek
fuente
¿Cómo es eso diferente de lo que estoy haciendo ahora? Creo que puedo intentarlo :)
Sandro
los enlaces simbólicos funcionan entre directorios; muchas de las opciones más antiguas relacionadas con la unión no lo hacen. Además, dado que hay un front end ordenado, que le indica el comando, es más fácil determinar qué se hace. Principalmente estoy usando XP, así que no estoy seguro de si es "mejor", pero por lo que he leído, debería hacer el trabajo que necesitas hacer con el menor alboroto
Journeyman Geek
2
@Sandro: Detalles técnicos: dos enlaces duros apuntan al mismo inodo (en Unix; aunque muy similar en NTFS de Windows), que solo funciona dentro de un único sistema de archivos. Dos enlaces duros son completamente idénticos; No hay "original". Un enlace simbólico, por otro lado, apunta a una ruta , que de hecho puede ser cualquier texto.
user1686
Si así es como funcionan los enlaces simbólicos, ¿por qué cuando hago un cambio en un archivo, el otro no muestra los cambios?
Sandro
-3

Prueba esto:

mklink /H "C:\Users\sandro_vimrc" "D:\sandro-desktop\.vimrc"

Supongo que esto tiene algo que ver con el nombre de archivo del objetivo. Intente usar comillas alrededor del enlace de destino.

Creo que tu enlace también debe ser un camino completo.


fuente
Probé esos y todavía nada. Gracias por la idea sin embargo!
Sandro
Probablemente sea el nombre del punto del objetivo. ¿Funciona para otros archivos?