Рейтинг:1

Не удается сделать изображение хорошего размера с помощью команды DD

флаг ng

Нужно сделать образ диска моего DD. Это жесткий диск 4to с 2 разделами (всего используется: 1,7 TO). Как получить правильное изображение 1,7 ТО с помощью команды dd?

Состояние диска с помощью fdisk

Использовал :

dd if=/dev/sdq count=2399842303 of=/tmp/imagedisk.img bs=4096 status=progress

Но это не работает.. Задача будет продолжаться более 2,3,4 ТО.

Пожалуйста, может кто-нибудь дать мне правильную команду?

Рейтинг:1
флаг in

Прежде всего, обратите внимание, что если вы делаете диск образ (или даже раздел изображение), вы не можете просто клонировать, сколько используется на файловая система уровень (т. Использовал как показано в дф).

Кроме того, даже если под «использованным» вы имеете в виду размер раздела (разделов), если вы не создаете полный образ диска, вам, вероятно, следует вместо этого создать образ (ы) раздела (ов) (и, возможно, обратно). вынести таблицу разделов/MBR в отдельный файл, особенно в случае с GPT -- есть сгдиск).

Если вы действительно не можете позволить себе создать образ (ы) диска/раздела из-за нехватки свободного места, вы можете рассмотреть:

  • сделать «клон файловой системы» с помощью такого инструмента, как partclone или вышестоящий/официальный подход для определенных типов файловых систем, таких как btrfs отправить.
  • дд с конв=разреженный, что позволило бы избежать блоков (размеромбс=, я думаю), которые полностью равны нулю, так как занимают столько места (см. это Больше подробностей.)
  • сократите файловую систему (ы) настолько, насколько это возможно, чтобы затем можно было изменить размер раздела (разделов) перед клонированием. Однако некоторые типы файловых систем не поддерживают сжатие.

на самом деле я не сталкивался с конв=разреженный кстати. Кроме того, насколько хорошо это работает, может зависеть от нескольких вещей, таких как тип файловой системы, в которую записываются / хранятся образы, и / или является ли исходный диск SSD, который хотя бы частично RZAT («читать ноль после обрезки "), и т.д.

Наконец, просто поговорить о дд, есть iflag=count_bytes, что позволит вам использовать количество = чтобы определить, сколько байты (вместо блоки в размере (i)бс=) для клонирования.

бс=4к часто достаточно хорош / лучше всего использовать не потому, что мощь быть размером физического блока жесткого диска, но поскольку это типичный размер страницы. Хотя размер 128 КБ или 512 КБ может работать даже лучше при чтении с определенных устройств хранения флэш-памяти.

Tom Yan avatar
флаг in
Или вообще избегайте клонирования, (изучите) `rsync`.
anthony COPPET avatar
флаг ng
СПАСИБО большое спасибо... ... так долго работали над этим. Теперь ясно. Подсчитайте, как вы упомянули, дайте мне 180 МБ img ... Но я сделал это: dd if=/dev/sdq of=FinalBatocera.img bs=4k count=439453125 status=progress. И это, кажется, работает (я жду). Теперь самое главное: восстановление. Выходной диск меньше (2 ТБ вместо исходного 4Т). Я много читал о параметрах skeep и seek, как и о команде count... Спасибо.
Michael Hampton avatar
флаг cz
@anthonyCOPPET Вам не следует беспокоиться о пропуске и поиске, вместо этого используйте `conv=sparse`. Все нулевое пространство будет пропущено.
anthony COPPET avatar
флаг ng
Хорошо, я проверил изображение. Размер хороший: 1660156248 байт. НО Когда я использую /dev/loop, я получаю «mount: /mnt/loop: неправильный тип fs, неверный параметр, неверный суперблок в /dev/loop0, отсутствующая кодовая страница или вспомогательная программа или другая ошибка». Однако он работает при использовании Imagemounter на Mac. Fdisk возвращает: FinalBatocera.img1 1 4294967295 4294967295 2T ee GPT. Пытался сделать (до прочтения вашего комментария про разреженный вариант) dd if=/Image.img из /dev/sdr (новый диск 2Тб). Остановился до 2гб....
anthony COPPET avatar
флаг ng
Даже с разреженным вариантом.. или без ошибок.Запись закончилась на 2,4 ГБ...
Рейтинг:0
флаг np

dd if=/dev/sdq of=/tmp/imagedisk.img bs=1MB count=1700000

БС = 1 МБ устанавливает размер блока 1 мегабайт (1000000 байт), а количество=1700000 умножает его, что приводит к масштабу в терабайтах.

Если вы действительно хотите придерживаться блоков по 4 КБ, вам нужно выполнить математику: 1.700.000.000.000/4096 = 415039062,5 ~ 415039063 в результате чего:

dd if=/dev/sdq of=/tmp/imagedisk.img bs=4k count=415039062 (4к = 4096).

anthony COPPET avatar
флаг ng
Большое вам спасибо... Работаю над этим 4 дня... тест за тестом. Теперь ясно. Подсчитайте, как вы упомянули, дайте мне 180 МБ img ... Но я сделал это:
флаг us
Обратите внимание, что эта команда занимает 17 ТБ с начала диска. Если нужные вам данные не находятся в пределах первых 17 ТБ, у вас будет бесполезный образ.
флаг np
@anthonyCOPPET Я пропустил заказ во втором примере. Исправил мой ответ.Должно быть 1,7*10^12.
anthony COPPET avatar
флаг ng
а для восстановления?? что такое идеальная команда. новый целевой диск меньше (2TO)
флаг np
@anthonyCOPPET Вам не следует использовать dd для резервного копирования. Для этого есть гораздо лучшее программное обеспечение, которое может обрабатывать вещи на уровне файловой системы/файла. Например, rsync и/или partclone.
флаг np
Вы также можете попробовать CloneZilla. Он включает в себя и автоматизирует такие инструменты, как частичное клонирование и автоматическое резервное копирование MBR/GPT. Обычно работает очень хорошо, если вам нужно сохранить диск в образ и восстановить его позже с драйвером большего или меньшего размера (он также может изменять размер известных файловых систем). Единственное, с чем он пока не справляется — тонкие тома LVM. Если у вас их нет, вам должно быть хорошо с этим.
anthony COPPET avatar
флаг ng
Я понимаю... Клонезилла проста, это правда.. А вот случай "сжатие выходного изображения" оказывается сложнее
Рейтинг:0
флаг cn

bs=512 должно помочь. Логические сектора, отображаемые в начальных и конечных столбцах, представляют собой сектора размером 512 байт.

Ответить или комментировать

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