примечание: все = все, что я нашел
вся информация о «клонировании с помощью 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. Если ваша цель - создать образ всего диска минимального размера, то возможное решение состоит в следующем.
Создайте третий раздел с пустым пространством, в вашем примере: / dev / sda3. Нет необходимости (но и без вреда) форматировать его в файловой системе, так как раздел будет перезаписан нулями на следующем шаге, что снова устранит любое форматирование файловой системы.
Теперь залейте нулями весь раздел: dd if=/dev/zero of=/dev/sda3
. Это займет довольно много времени, а у dd нет индикатора выполнения, так что наберитесь терпения. В какой-то момент dd сообщит, что диск заполнен, и через некоторое время после этого выйдет с окончательным отчетом о скопированных битах.
Если вы не хотите, чтобы этот раздел существовал, вы можете удалить его снова сейчас. Нули останутся на поверхности диска!
Теперь создайте образ одного диска, как вы планировали в первую очередь: dd if=/dev/sda of=disk.img
. Кстати: есть нет необходимость в каких-либо дополнительных параметрах dd, например conv=notrunc
и т. д., как сообщается на многих других форумах. notrunc имеет абсолютно нечего делать с тем, что мы хотим здесь сделать (клонировать диск в файл), и используется для чего-то совершенно другого (короче: вставка данных в уже существующий файл без обрезания [= усечения] остатков существующего файла, если вновь добавленные данные короче существующего файла). Не слушайте тех, кто пишет, что notrunc - это особенно нужен при клонировании дисков в файл это 100% ерунда
Disk.img снова будет иметь размер 160 ГБ, что неудивительно. Но отличие от предыдущего в том, что если вы сжимаете disk.img, на этот раз он почти станет того же размера, что и сумма сжатых образов / dev / sda1 и / dev / sda2, поскольку нули на оставшаяся неразделенная поверхность диска сожмется практически до нуля!
Итак, теперь у вас есть однофайловый полный образ всего диска, но он почти равен размеру реально используемой области данных / dev / sda1 и / dev / sda2.
В случае, если вы еще не создали / dev / sda1 и / dev / sda2, вы также можете сначала просто записать нули с помощью dd на весь диск / dev / sda или использовать инструмент очистки диска, который записывает нули на весь диск. disk и т. д., а затем просто создайте / dev / sda1 и / dev / sda2. Результат должен быть таким же
HTH! С уважением, анонимный уроженец Интернета на планете Земля.