10

Я пытаюсь скопировать все файлы из NTFS на внешний диск и хочу сохранить все разрешения и атрибуты. Внешний диск уже имеет NTFS и содержит другие файлы.

Я подумал об использовании следующих инструментов:

  • ntfsclone не работает, поскольку он работает на уровне секторов и будет клонировать всю FS, уничтожая старые данные. Если используется для создания файла изображения, я не могу получить доступ к содержимому с компьютера Windows.
  • rsync не сохраняет все метаданные.

Альтернативой может быть использование robocopy внутри работающей Windows, но я бы предпочел копировать файлы без. (Исходный раздел используется как системный C:\ .)

Как я могу скопировать файлы?

3 ответа3

5

Невозможно точно скопировать файлы NTFS, проходящие через Linux. Даже Wine, уровень совместимости с Windows в Linux, работает путем преобразования разрешений назад и вперед между Linux и Windows и поэтому ограничен их (довольно небольшим) наименее распространенным знаменателем.

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

Я полагаю, что вы упомянули эту возможность в своем посте и предпочли бы избегать ее, но я не вижу другой возможности. Только Windows может точно копировать файлы NTFS; Linux может копировать только разделы NTFS.

Эта статья может помочь:Как бесплатно установить и запустить Microsoft Windows в Linux, используя бесплатные виртуальные машины, доступные для загрузки Microsoft.

1

Linux может нормально копировать содержимое файлов NTFS, но не все измененные / созданные / доступные даты и атрибуты (я полагаю, это то, что вы хотите сохранить).

Так почему бы вам просто не записать текущие даты и атрибуты (dir должен иметь возможность их отображать), затем скопировать файлы в linux, и после запуска Windows снова изменить даты и атрибуты обратно на оригиналы.

Используйте инструмент в Windows, который может изменять файлы, например, один из следующих:

Судя по всему , собственный проводник Windows даже не сохраняет должным образом все даты файлов . Но команды tar zip & cygwin должны сохранять даты файлов, поэтому сначала следует также использовать одну из них в Windows для создания архива, а затем просто скопировать архив любым старым способом.


Если атрибуты очень важны и их трудно скопировать даже в Windows, их, вероятно, следует сохранить в текстовом файле или в базе данных или включить в часть имени файла ...

1

Во-первых, вам нужно принять решение, если вы хотите копировать файлы, ...

или вы хотите сделать полную посекторную копию вашего NTFS-раздела, включая "старые данные", "другие файлы", а также "все метаданные", которые вы упомянули выше, очень широко.

Для последнего используйте dd:

dd if=/dev/sda2 of=/mnt/usbdisk/my-ntfs-partition-D.img bs=1M

Повеселись.

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