Назад | Перейти на главную страницу

клонирование с помощью dd - считается ли неразмеченное пространство таким же, как пустое пространство в файловой системе для результирующего размера образа?

примечание: все = все, что я нашел

вся информация о «клонировании с помощью dd» говорит о том, как dd копирует все «пустое пространство», но буквально все записи, кажется, реагируют на ситуацию, когда файловые системы заполняют весь диск.

как насчет ситуации, когда у меня есть два раздела, которые вместе занимают только 10% диска 160 ГБ. каков будет размер образа для старого доброго "dd if = / dev / sda of = disk.img" run: 16G или 160G?

если я не слепой, Использование DD для клонирования дисков не имеет этой информации.

sda это диск целиком - 160 ГБ

sda1 это первый раздел на этом диске - 8 ГБ (скажем)

sda2 это второй раздел на этом диске - 8 ГБ (скажем)

Если вы хотите клонировать только 16 ГБ данных файловой системы, используйте dd на sda1 и sda2.

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

См., Например, http://www.backuphowto.info/linux-backup-hard-disk-clone-dd

Сначала хочу ответить на ваш вопрос:

как насчет ситуации, когда у меня есть два раздела, которые вместе занимают только 10% диска 160 ГБ. каков будет размер образа для старого доброго "dd if = / dev / sda of = disk.img" run: 16G или 160G?

Если вы запустите dd на / dev / sda, т.е. для всего диска sda размером 160 ГБ, тогда disk.img будет 160 ГБ, поскольку dd просто скопирует все биты на sda один за другим. Не имеет значения, разделено ли пространство после / dev / sda1 и / dev / sda2 на разделы или нет! К сожалению, если жесткий диск когда-либо был заполнен данными, даже если вы попытаетесь сжать disk.img, он не станет меньше из-за того, что «пустое пространство» на поверхности диска на самом деле не пустое, а содержит оставшиеся биты ранее использованных файловых систем и данных. Однако я не знаю, как обстоят дела с новыми жесткими дисками, которые никогда раньше не использовались!

В дополнение к этому, я хочу ответить на ваш комментарий, который вы дали ответу RedGrittyBrick. Если ваша цель - создать образ всего диска минимального размера, то возможное решение состоит в следующем.

  1. Создайте третий раздел с пустым пространством, в вашем примере: / dev / sda3. Нет необходимости (но и без вреда) форматировать его в файловой системе, так как раздел будет перезаписан нулями на следующем шаге, что снова устранит любое форматирование файловой системы.

  2. Теперь залейте нулями весь раздел: dd if=/dev/zero of=/dev/sda3. Это займет довольно много времени, а у dd нет индикатора выполнения, так что наберитесь терпения. В какой-то момент dd сообщит, что диск заполнен, и через некоторое время после этого выйдет с окончательным отчетом о скопированных битах.

  3. Если вы не хотите, чтобы этот раздел существовал, вы можете удалить его снова сейчас. Нули останутся на поверхности диска!

  4. Теперь создайте образ одного диска, как вы планировали в первую очередь: dd if=/dev/sda of=disk.img. Кстати: есть нет необходимость в каких-либо дополнительных параметрах dd, например conv=notruncи т. д., как сообщается на многих других форумах. notrunc имеет абсолютно нечего делать с тем, что мы хотим здесь сделать (клонировать диск в файл), и используется для чего-то совершенно другого (короче: вставка данных в уже существующий файл без обрезания [= усечения] остатков существующего файла, если вновь добавленные данные короче существующего файла). Не слушайте тех, кто пишет, что notrunc - это особенно нужен при клонировании дисков в файл это 100% ерунда

  5. Disk.img снова будет иметь размер 160 ГБ, что неудивительно. Но отличие от предыдущего в том, что если вы сжимаете disk.img, на этот раз он почти станет того же размера, что и сумма сжатых образов / dev / sda1 и / dev / sda2, поскольку нули на оставшаяся неразделенная поверхность диска сожмется практически до нуля!

  6. Итак, теперь у вас есть однофайловый полный образ всего диска, но он почти равен размеру реально используемой области данных / dev / sda1 и / dev / sda2.

  7. В случае, если вы еще не создали / dev / sda1 и / dev / sda2, вы также можете сначала просто записать нули с помощью dd на весь диск / dev / sda или использовать инструмент очистки диска, который записывает нули на весь диск. disk и т. д., а затем просто создайте / dev / sda1 и / dev / sda2. Результат должен быть таким же

HTH! С уважением, анонимный уроженец Интернета на планете Земля.