Это зависит от того, для чего предназначен раздел, и какова цель копии. Однако я скажу, что в целом dd
это неуместный инструмент для резервного копирования файловых систем . Это не то, для чего это было предназначено.
Это будет тратить много времени на копирование пустых разделов раздела.
Это может привести к несоответствиям, если файловая система в настоящий момент смонтирована, отчасти потому, что она является объектом уровня ОС и может быть не синхронизирована с базовым блочным устройством. sync
Первоначальный вызов не очень поможет в этом, так как процесс не мгновенный.
Используйте cp -a
или rsync
вместо. Затем вам, конечно, нужно создать целевой раздел, так что он не так прост, но гораздо безопаснее и гибче. Если вам нужно создать образ файловой системы , см. Ниже.
Если вы собираетесь скопировать корневую файловую систему, абсолютно не используйте dd
. Вы должны использовать что-то вроде rsync -ax
(или cp -ax
в отдельных каталогах верхнего уровня), потому что есть множество вещей, которые НЕ должны быть в копии . В Linux это включает в себя:
/dev
/lost+found
/mnt
/proc
/run
/sys
/tmp
Некоторые из них на самом деле являются интерфейсами ядра, а не настоящими каталогами на диске. Если вы копируете их, вы копируете кучу информации, которая не будет применяться в копии; если вы попытаетесь запустить систему с ней, это будет просто потраченное впустую пространство, так как реальный интерфейс будет смонтирован сверху. Другие содержат временную информацию, используемую запущенными процессами, и они представляют большую проблему, поскольку система не сможет разобрать мусор, если вы скопируете это.
Если вы хотите создать файл образа корневой файловой системы (или любой файловой системы), создайте пустой файл образа - это подходящее использование для dd
:
dd if=/dev/zero of=whatever.img bs=1024 count=1000000
Это изображение размером 1024 МБ (1000000 * 1024). Отрегулируйте, count
если хотите, другой размер. Создайте, например, ext
файловую систему в файле :
mke2fs whatever.img
Он предупредит вас, что это не реальное блочное устройство. Приступить. Теперь смонтируйте файл образа:
mount whatever.img /mnt/img
/mnt/img
должен существовать, но может что угодно. Теперь вы можете rsync
(или cp -a
) в /mnt/img
. Содержание останется внутриwhatever.img
когда вы отключите его.
Тем не мение...
Просто чтобы прояснить ситуацию, используйте только что описанный метод образа файловой системы, если вам абсолютно необходим файл изображения по любой причине. Если ваша цель - скопировать раздел на другой жесткий диск, вам не нужен образ : создайте новый раздел с пустой файловой системой на этом диске, смонтируйте его и скопируйте туда. Вместо этого вы можете просто поместить содержимое файловой системы в пустой каталог и заархивировать его:
tar -czf myarchive.tar.gz [the directory path]
Затем вы можете развернуть его в существующем (пустом или ином) разделе, поместив его на верхний уровень и используя:
tar -xzf myarchive.tar.gz
Остерегайтесь, что будут перезаписывать существующие файлы, если их пути совпадают с чем-то в архиве. В противном случае существующая иерархия каталогов не изменится.