Будет ли dd вызывать повреждение данных?

0

Мне удалось запустить такие команды, как dd if=/dev/block/mmcblk0создание полной резервной копии внутренней памяти моего телефона Android, и передать данные непосредственно на ПК, подключенный через USB.

Но я волнуюсь, что это может повредить данные. Процесс резервного копирования происходит, когда система телефона работает, и /dev/block/mmcblk0включает в себя систему и раздел данных. Если телефонная система выполняет модификацию диска, когда процесс резервного копирования не завершен (когда команда dd все еще выполняется), возможно ли, что выходные данные повреждены? Внутренняя память 10 ГБ, а резервное копирование занимает много времени.

И еще 1 вопрос. Удастся ли избежать такого повреждения данных, если я укажу размер блока (бс), равный размеру хранилища?

О бс из вики :

Использование больших блоков требует больше оперативной памяти и может усложнить восстановление после ошибок.

Я не совсем понимаю это предложение, но я делаю вывод, что если я запускаю команду dd с bs, указанным с размером всего хранилища (около 10 ГБ), мой компьютер должен иметь как минимум 10 ГБ ОЗУ.

Итак, если нет способа обеспечить синхронизированное копирование данных с использованием dd, я думаю, что мне придется делать резервное копирование в режиме восстановления и с /dev/block/mmcblk0размонтированным.

huhiha
источник
3
Вот что происходит, когда вы строите изображение последовательно и ваш источник может измениться: панорама не удалась . Представьте, что это происходит с вашими двоичными данными.
Камиль Мачоровски

Ответы:

4

Если телефонная система выполняет модификацию диска, когда процесс резервного копирования не завершен (когда команда dd все еще выполняется), возможно ли, что выходные данные повреждены? Внутренняя память 10 ГБ, а резервное копирование занимает много времени.

Да.

И еще 1 вопрос. Удастся ли избежать такого повреждения данных, если я укажу размер блока (бс), равный размеру хранилища?

Нет, это не сделает огромное чтение атомным.

Использование больших блоков требует больше оперативной памяти и может усложнить восстановление после ошибок.

Я не совсем понимаю это предложение, но я делаю вывод, что если я запускаю команду dd с bs, указанным с размером всего хранилища (около 10 ГБ), мой компьютер должен иметь как минимум 10 ГБ ОЗУ.

Верный.

Таким образом, если нет способа обеспечить синхронизированное копирование данных с использованием dd, я думаю, что мне придется делать резервное копирование в режиме восстановления с отключенным / dev / block / mmcblk0.

Это было бы моей рекомендацией.

Дэвид Шварц
источник