Можно ли использовать dd для копирования данных с диска NTFS на диск в формате XFS?

Я преобразую свой NAS из установки WHS(Windows Home Server) в OpenMediaVault на базе Linux. Поэтому я готовлюсь конвертировать диски из NTFS в XFS.

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

Я знаю, копирование, если =/dev/sda скопирует раздел и файловые системы тоже. Но что, если я скопирую /dev/sda1 в раздел в другом формате?

2 ответа2

2

Но что если я скопирую /dev /sad1 в раздел, который ['] находится в другом формате?

(Предположительно опечатка, что означает /dev /sda1)

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

Можно ли использовать dd для копирования данных с диска NTFS на диск в формате XFS?

Да, вы можете сделать то, что вы просили.
Однако из вашего описания не ясно, что то, что вы спрашиваете (можете ли вы хранить данные из NTFS в XFS), будет делать именно то, что вы хотите.

Из комментария, сделанного на ответ Михаэля Ди:

dd if=a of=b эквивалентно cp a b

Обычно я считаю, что dd хорошо работает с устройствами. Если "a" и "b" (в предыдущих примерах) являются файлами, то то, что вы сказали, верно. Однако dd обычно используется, когда "a" или "b" является объектом "device" (или, если оба "a" и "b" являются устройствами). В этом контексте термин "устройство" относится к типу объекта в файловой системе. Чаще всего / традиционно взаимодействие с такими устройствами подразумевает взаимодействие с оборудованием, например, / dev / sda может относиться к жесткому диску. Поскольку программное обеспечение легко настраивается, могут быть и другие случаи, например / dev / sda1, который связывается только с частью данных на жестком диске.

Итак, это может хорошо работать:

dd if=/dev/sda1 of=~/ntfscopy.img

При этом весь раздел NTFS, включая "метаданные", подобные внутренним структурам файловой системы, сохраняется в файле ~/ntfscopy. Затем вы можете скопировать это на диск XFS:

cp ~/ntfscopy.img /mnt/xfsdrive/ntfscopy.img

Или вы можете пропустить этот отдельный шаг:

dd if=/dev/sda1 of=/mnt/xfsdrive/ntfscopy.img

Теперь это может быть полезно для резервного копирования данных. Когда вы найдете свободное место в разделе, вы можете записать его. (Конечно, этот пример включает запись в раздел, поэтому вы должны быть ОЧЕНЬ ОСТОРОЖНЫ, чтобы не перезаписывать данные.)

dd if=/mnt/xfsdrive/ntfscopy.img of=/dev/sdb2

Это показывает полезный пример копирования данных с диска NTFS на диск XFS, и это работает.

Теперь, что если вы просто хотите, чтобы файлы копировались с диска NTFS, а не всего NTFS-раздела (включая внутреннюю структуру файловой системы, что делает раздел форматированием NTFS)? В этом случае вы не хотели бы использовать дд. Используя другой инструмент, вы можете избежать ненужного чтения / копирования всех структур внутренней файловой системы NTFS. Например, вы можете смонтировать диск NTFS (только для чтения, если хотите), а затем использовать "cp" для копирования данных с диска NTFS (или, возможно, "tar", если вы хотите, чтобы вывод был одним удобным файлом).

2

Можно ли использовать dd для копирования данных с диска NTFS на диск в формате XFS?

Нет, dd читает / пишет блоки, а не файлы. При записи образа резервной копии с исходного диска NTFS на целевой диск (XFS / EXT4 / FAT32) целевой диск становится NTFS независимо от того, с какой FS он был отформатирован ранее.

Можно смонтировать образ dd и скопировать данные:

mount -o ro,loop -t ntfs myimage.img /mnt/

но тогда лучше просто tar ваши данные = заархивировать их без сжатия, но сохранить пользователя, группу и разрешение!

tar cvf /foo/bar/my_backup.tar /

Но что, если я скопирую /dev /sad1 в раздел в другом формате?

Да, вы можете монтировать два диска с разными файловыми системами и копировать файлы между ними. то есть: /dev/sda с NTFS и /dev/sdb с XFS.

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