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?”


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

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


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.


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.