Создавайте символические ссылки NTFS из Linux

15

Существует ли утилита Linux, которая может создавать символические ссылки NTFS ? То есть ссылка на раздел NTFS, указывающая на другую папку NTFS, которая будет работать в Windows 7, в частности.

Я хочу переместить папку, которая обычно используется во время работы Windows. Эта машина уже может выполнять двойную загрузку в Ubuntu, поэтому я бы хотел воспользоваться этим.

РЕДАКТИРОВАТЬ : Чтобы избежать потенциального превращения в «какой компакт-диск Windows Live лучше», я ограничу этот вопрос «Возможно ли это с Linux, да или нет?»

rymo
источник
1
Создать символическую ссылку на диске, подключенном к другой машине Windows?
Это определенно альтернатива, но в этом случае я скорее пойду с загрузочным компакт-диском, чем вытащу привод.
rymo
На сегодняшний день фактический ntfs-3g в linux создает ссылки, которые прекрасно работают под linux, но windows (7) не идентифицирует их правильно. Тем не менее, ссылки, созданные с помощью mklink под windows, работают нормально под linux.
Ливин

Ответы:

11

Используя NTFS-3G Advanced , представляется возможным рассматривать существующие ссылки / ссылки NTFS так, как если бы они были символическими ссылками Linux , но моя реальная цель - создать новые, которые работают в Windows, не нужна:

Таким образом, становится возможным разыменование точек соединения и символических ссылок, созданных в Windows, а также жесткие ссылки, переименование и удаление, но создание новых - нет .

rymo
источник
4

Как создать символическую ссылку (иначе: точку соединения или точку повторной обработки) на диске NTFS из Linux. Взято с: http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/

Если нужно: 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
Эрик Аронесты
источник
Не могли бы вы улучшить этот ответ? Вы не упомянули, это требует в sudo apt-get attrпервую очередь. Что такое исходный файл и целевой файл? Если я хочу , чтобы создать ссылку из /home/xxx/Musicк /media/Storage/Musicкоторой один является источником и который является целью?
Loostro
Кроме того, первая часть (getfattr) возвращает «Нет такого атрибута», независимо от того, запускаю я его /home/xxx/Musicили/media/Storage/Music
loostro
3

Я знаю, что этот поток довольно устарел, но в последнее время у меня возникла та же проблема (мне нужно было переместить некоторые системные папки Windows на другой диск), и здесь есть простое решение.

В Windows скопируйте (а не переместите) папку в новое место и создайте символическую ссылку на нее с немного другим именем (чтобы не произошло столкновения), а затем в Linux просто удалите исходную папку и переименуйте символическую ссылку в исходное имя папки. Перезагрузите и все работает. Использовались системы Windows 8.1 и Ubuntu 14.04.

Любо

Любо
источник
0

Просто смонтируйте раздел под Linux и создайте ссылку с помощью ln -s. Это не дает вам доступа ко всей сложности ссылок NTFS, но должно быть достаточным для вашей цели.

Существует две разные реализации NTFS для Linux: NTFS-3g (имя файловой системы ntfs-3g, пакет Ubuntu ntfs-3g) и Linux-NTFS (имя файловой системы fuse.ntfs, пакет Ubuntu ntfsprogs). Если один из них не делает то, что вы хотите, попробуйте другой.

Жиль "ТАК - прекрати быть злым"
источник
1
Я уже монтирую раздел с помощью ntfs-3g, и он не следует существующим ссылкам / соединениям и не создает Windows-совместимые ссылки сln
rymo
-1

Похоже, что документация для NTFS-3G устарела, я использую Ubuntu версии 2011.4.12AR.4-2ubuntu3 и мне удалось создать символические ссылки внутри виртуального раздела. Вот процедура, которую я использовал, чтобы проверить это:

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
источник
1
Вопрос в том, будет ли ваша символическая ссылка работать правильно, если этот файл ntfs.image был смонтирован под реальной установкой Windows? Все дело в том, что я хотел использовать Linux для перестройки структуры каталогов физического раздела Windows.
rymo
Я не знаю точно, но я бы предположил, что NTFS-3G не добавил бы эту функцию Windows, не распознал ссылку. Важно отметить, что вам нужно будет загрузить пакет «ntfs-3g», если вы загрузитесь на рабочий диск, чтобы попробовать это, ни один из известных мне дистрибутивов не включает NTFS-3G на диске.
Compholio
1
ln -s«сработал» для меня в том, что он не вышел из строя, но получившаяся ссылка была недоступна при подключении под Windows. Если вы действительно можете проверить это, дайте нам знать, что происходит.
rymo
Да, я пытался на работе, и эти ссылки не признаются. Он также не распознает точки соединения, созданные в Windows, поэтому, возможно, мне просто нужно обновить мою ОС (в настоящее время используется 11.10).
Compholio