Twórz dowiązania symboliczne NTFS z poziomu systemu Linux

15

Czy istnieje narzędzie Linux, które może tworzyć dowiązania symboliczne NTFS ? To znaczy łącze na partycji NTFS, która wskazuje na inny folder NTFS - taki, który będzie działał w systemie Windows 7.

Chcę przenieść folder, który jest normalnie używany podczas działania systemu Windows. Ta maszyna może już podwójnie uruchamiać się do Ubuntu, więc chciałbym to wykorzystać.

EDYCJA : Aby zapobiec potencjalnej przemianie w „która płyta CD z Windows Live jest najlepsza”, ograniczę to pytanie do „Czy jest to możliwe w Linuksie, tak czy nie?”

rymo
źródło
1
Czy utworzyć symboliczne łącze na dysku podrzędnym na innym komputerze z systemem Windows?
To zdecydowanie alternatywa, ale bardziej prawdopodobne jest, że pójdę z bootowalną płytą CD niż wyciągnę dysk w tym przypadku.
rymo
Na dzień dzisiejszy ntfs-3g w systemie Linux tworzy łącza, które działają dobrze w systemie Linux, ale Windows (7) nie identyfikuje ich poprawnie. Jednak linki utworzone za pomocą mklink pod Windows działają poprawnie w Linuksie.
liwin

Odpowiedzi:

4

Jak utworzyć dowiązanie symboliczne (inaczej: punkt połączenia lub punkt ponownej analizy) na dysku NTFS z systemu Linux. Zaczerpnięte z: http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/

Jeśli potrzebne: 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
źródło
Czy możesz poprawić tę odpowiedź? Nie wspomniałeś, że to wymaga sudo apt-get attrnajpierw. Co to jest plik źródłowy i docelowy? Jeśli chcę, aby utworzyć łącze z /home/xxx/Musicdo /media/Storage/Musicktórych jeden jest źródłem i co jest celem?
loostro
Również pierwsza część (getfattr) zwraca „Brak takiego atrybutu” bez względu na to, /home/xxx/Musicczy go uruchomię, czy/media/Storage/Music
loostro
3

Wiem, że ten wątek jest dość przestarzały, ale ostatnio miałem ten sam problem (musiałem przenieść niektóre foldery systemu Windows na inny dysk) i oto proste rozwiązanie.

W systemie Windows skopiuj (nie przenieś) folder do nowej lokalizacji i utwórz do niego dowiązanie symboliczne o nieco innej nazwie (aby nie doszło do kolizji), a następnie w systemie Linux po prostu usuń oryginalny folder i zmień nazwę dowiązania symbolicznego na nazwę oryginalnego folderu. Uruchom ponownie i działa. Użyte systemy to Windows 8.1 i Ubuntu 14.04.

Lubo

Lubo
źródło
0

Wystarczy zamontować partycję pod Linuksem i utworzyć łącze z, ln -spowinno działać. To nie daje ci dostępu do pełnej złożoności łączy NTFS, ale powinno wystarczyć do twojego celu.

Istnieją dwie różne implementacje systemu plików NTFS dla systemu Linux: NTFS-3g (nazwa systemu plików ntfs-3g, pakiet Ubuntu ntfs-3g) i Linux-NTFS (nazwa systemu plików fuse.ntfs, pakiet Ubuntu ntfsprogs). Jeśli jeden z nich nie robi tego, co chcesz, spróbuj drugiego.

Gilles „SO- przestań być zły”
źródło
1
Instaluję już partycję za pomocą ntfs-3g i nie podąża ona za istniejącymi linkami / połączeniami ani nie tworzy linków kompatybilnych z Windows zln
rymo
-1

Wygląda na to, że dokumentacja NTFS-3G jest nieaktualna, używam Ubuntu w wersji 2011.4.12AR.4-2ubuntu3 i udało mi się stworzyć dowiązania symboliczne wewnątrz wirtualnej partycji. Oto procedura, której użyłem do przetestowania tego:

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
Compholio
źródło
1
Pytanie brzmi: czy twój dowiązanie symboliczne działałoby poprawnie, gdyby ten plik ntfs.image został zamontowany w ramach rzeczywistej instalacji systemu Windows? Chodziło o to, że chciałem użyć Linuksa do zmiany struktury fizycznej struktury partycji Windows.
rymo
Nie wiem na pewno, ale zgaduję, że NTFS-3G nie dodałby tej funkcji systemu Windows nie rozpoznał łącza. Ważne jest, aby pamiętać, że musisz załadować pakiet „ntfs-3g”, jeśli uruchomiłeś dysk na żywo, aby spróbować, żadna dystrybucja, o której wiem, że nie zawiera NTFS-3G na dysku.
Compholio
1
ln -s„działał” dla mnie, ponieważ nie zawiódł, ale powstały link nie był użyteczny, gdy był zamontowany pod Windows. Jeśli możesz to przetestować, daj nam znać, co się stanie.
rymo
Tak, próbowałem w pracy i te linki nie są rozpoznawane. Jednak nie rozpoznaje również punktów połączenia wykonanych w systemie Windows, więc możliwe jest, że muszę tylko zaktualizować system operacyjny (obecnie korzystam z wersji 11.10).
Compholio