Crear enlaces simbólicos NTFS desde Linux

15

¿Hay alguna utilidad de Linux que pueda crear enlaces simbólicos NTFS ? Es decir, un enlace en una partición NTFS que apunta a otra carpeta NTFS, una que funcionará específicamente en Windows 7.

Deseo reubicar una carpeta que normalmente está en uso mientras se ejecuta Windows. Esta máquina ya puede iniciar dual en Ubuntu, por lo que me gustaría aprovechar eso.

EDITAR : Para evitar que esto se convierta potencialmente en "qué CD de Windows Live es el mejor", limitaré esta pregunta a "¿Es posible con Linux, sí o no?"

rymo
fuente
1
¿Crear el enlace simbólico en la unidad esclava en otra máquina Windows?
Definitivamente es una alternativa, pero es más probable que use un CD de arranque que extraer la unidad en este caso.
rymo
A partir de hoy, un ntfs-3g real en Linux crea enlaces que funcionan bien en Linux, pero Windows (7) no los identifica correctamente. Sin embargo, los enlaces creados con mklink en Windows funcionan correctamente en Linux.
liwin

Respuestas:

4

Cómo hacer un enlace simbólico (también conocido como punto de unión o punto de análisis) en una unidad NTFS desde Linux. Tomado de: http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/

Si es necesario: sudo apt-get attr

# Display the reparse data of the file source-file
getfattr -h -e hex -n system.ntfs_reparse_data source-file

# Copy the reparse data of the file source-file
# to the file target-file
REPARSE=`getfattr -h -e hex -n system.ntfs_reparse_data source-file | \
         grep '=' | sed -e 's/^.*=//'`
setfattr -h -v $REPARSE -n system.ntfs_reparse_data target-file
Erik Aronesty
fuente
¿Podrías mejorar esta respuesta? No has mencionado que requiere sudo apt-get attrprimero. ¿Qué es el archivo fuente y el archivo destino? Si quiero crear un enlace de /home/xxx/Musica /media/Storage/Musiccuál es la fuente y el cual es el objetivo?
loostro
Además, la primera parte (getfattr) devuelve "No existe ese atributo", no importa si lo ejecuto /home/xxx/Musico/media/Storage/Music
loostro
3

Sé que este hilo está bastante desactualizado, pero últimamente he tenido el mismo problema (necesitaba mover algunas carpetas del sistema de Windows a otra unidad) y aquí hay una solución simple.

En Windows, copie (no mueva) la carpeta en una nueva ubicación y cree un enlace simbólico con un nombre ligeramente diferente (para que no ocurra una colisión) y luego en Linux simplemente elimine la carpeta original y cambie el nombre del enlace simbólico al nombre de la carpeta original. Reiniciar y está funcionando. Los sistemas utilizados fueron Windows 8.1 y Ubuntu 14.04.

Lubo

Lubo
fuente
0

Simplemente montando la partición en Linux y creando el enlace con ln -s debería funcionar. Esto no le da acceso a toda la complejidad de los enlaces NTFS, pero debería ser suficiente para su propósito.

Hay dos implementaciones diferentes de NTFS para Linux: NTFS-3g (nombre del sistema de archivos ntfs-3g, paquete de Ubuntu ntfs-3g) y Linux-NTFS (nombre del sistema de archivos fuse.ntfs, paquete de Ubuntu ntfsprogs). Si uno de ellos no hace lo que quieres, prueba con el otro.

Gilles 'SO- deja de ser malvado'
fuente
1
Ya estoy montando la partición con ntfs-3g, y no sigue enlaces / uniones existentes, ni crea enlaces compatibles con Windows conln
rymo
-1

Parece que la documentación para NTFS-3G está desactualizada, estoy usando la versión de Ubuntu 2011.4.12AR.4-2ubuntu3 y pude crear con éxito enlaces simbólicos dentro de una partición virtual. Aquí está el procedimiento que usé para probar esto:

dd if=/dev/zero of=ntfs.image bs=1024 count=20480
mkfs.ntfs -F ntfs.image
mkdir ntfs
sudo mount ntfs.image ntfs
cd ntfs
mkdir target
ln -s ./target symlink
ls -alF
cd -
rmdir ntfs
sudo umount ntfs
rm ntfs.image
Comfolio
fuente
1
La pregunta es, ¿funcionaría correctamente su enlace simbólico si esa imagen ntfs.se montara en una instalación real de Windows? El punto era que quería usar Linux para reorganizar la estructura de directorios de una partición física de Windows.
rymo
No estoy seguro, pero supongo que NTFS-3G no habría agregado esta característica de Windows no reconoció el enlace. Es importante tener en cuenta que necesitaría cargar el paquete "ntfs-3g" si arranca en un disco en vivo para probar esto, ninguna distribución que yo sepa incluye NTFS-3G en el disco.
Compholio
1
ln -s"funcionó" para mí, ya que no falló, pero el enlace resultante no fue utilizable cuando se montó bajo Windows. Si realmente puede probar esto, infórmenos qué sucede.
rymo
Sí, lo intenté en el trabajo y estos enlaces no son reconocidos. Sin embargo, tampoco reconoce los puntos de unión creados en Windows, por lo que es posible que solo necesite actualizar mi sistema operativo (actualmente usando 11.10).
Compholio