8

Мне нужно скопировать структуру каталогов с одного локального диска NTFS на другой (Windows 7+) и сохранить жесткие ссылки, которые существуют в этой структуре каталогов.

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

Какие варианты здесь?

3 ответа3

7

Инструмент для копирования жестких ссылок через отдельные разделы диска

LN - Hardlink командной строки

Команда: ln --copy x:\dir\dir2 y:\dir\newdir

В приведенном выше примере каталоги и файлы ниже x:\dir\dir2 копируются в y:\dir\newdir, а все жесткие ссылки / соединения / символические ссылки в x:\dir\dir2 копируются / привязываются к их новым местоположениям под y:\ реж \ NEWDIR.

Ресурс: http://schinagl.priv.at/nt/ln/ln.html

Загрузить: http://schinagl.priv.at/nt/ln/ln.html#contact

Примечание. Похоже, вы просто загружаете это программное обеспечение для архитектуры вашего процессора из ZIP-файла, а также vcredist (Visual C++ Redistributable) и устанавливаете его.Затем просто извлеките файлы и папки из ZIP-файла в новую папку (.eg C:\Temp). В командной строке просто перейдите в эту папку [directory] и затем запустите необходимые команды для расположения дисков, как показано в примере выше. Запуск ln --help показывает подробности справки, но приведенный выше пример команды должен копировать hard links соответствии с документацией.


Расширение Link Shell

Ресурс: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

Загрузить: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact

Разделы или функции, представляющие интерес с этим программным обеспечением

  • Smart Mirror
  • Clone
  • Smart Copy

ln - Hardlink командной строки - Снимок экрана загрузки

Расширение Link Shell - Скачать снимок экрана


ИНТЕРЕСНЫЕ ЗАМЕЧАНИЯ

Похоже, что hard links заблокированы на одном и том же разделе диска для их файловых указателей и т.д. И не могут использоваться между несколькими разделами. Кроме того, hard links на разделы NTFS являются частью записей Master File Table основных файлов (или, по крайней мере, атрибутов для счетчиков), поэтому их копирование на существующий диск с собственным MFT может показаться проблемой, если вы не клонируете -байт на уровне раздела по крайней мере.

3

Утилита командной строки rsync делает то, что вы просите.

Предполагая, что ваши старые данные находятся в местоположении A, а ваши новые данные находятся в B, сделайте следующее:

rsync -ahPruvz --hard-links A B

Цитирование из руководства rsync:

Это говорит rsync искать жестко связанные файлы в источнике и связывать вместе соответствующие файлы в месте назначения.

Как получить rsync и использовать его? Есть 2 простых альтернативы для Windows:

Первый вариант: используйте cygwin . Это программное обеспечение для Windows. Установите его и на шаге выбора пакетов добавьте пакет rsync . Оставьте все остальное по умолчанию. После того, как вы установите его, используйте его оболочку для ввода команды. Если вы хотите, вы можете использовать полный путь, /usr/bin/rsync вместо просто rsync . Если вы хотите получить доступ к дискам Windows, используйте пути типа "/cygwin/drive" и всегда пытайтесь выполнить автозаполнение с помощью TAB.

Второй вариант: если это настольный компьютер, используйте живой дистрибутив GNU/Linux. Подготовьте живой образ USB, загрузитесь с него, смонтируйте нужные диски и запустите rsync. Если у живого образа нет rsync , установите его. (apt-get install rsync в Debian и его производных.) Я просто использую Linux последние 5 лет, извините, это первая альтернатива, которая мне приходит в голову. Для любого, кто разбирается в Windows, Cygwin должен быть проще.

2

Попробуйте заглянуть в Rsync для Windows. Поскольку rsync имеет возможность сохранять жесткие ссылки (флаг -H, --hard-links), он должен выполнять эту работу (источник: https://download.samba.org/pub/rsync/rsync.html).

Вы можете попробовать что-то вроде cwRsync: https://www.itefix.net/cwrsync#, у этого есть GUI.

cwRsync - это пакет Rsync для Windows с клиентским графическим интерфейсом. Вы можете использовать cwRsync для быстрого удаленного резервного копирования и синхронизации файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .