Сделать образ ОС

Сделать образ ОС

Я использую устройство Nano Pi с ОС Debian. Образ ОС находится во внутренней памяти (8 ГБ). Общий размер используемой памяти составляет около 4 ГБ. Я хочу сделать резервную копию этой ОС в файле образа.

После того как сделал

dd if=/dev/mmcblk1 of=NanoPi.img bs=8M status=progress

Общий размер файла изображения достигает 8 ГБ. Как сделать изображение только используемой памяти, а не всей?

решение1

Вы не можете сделать это легко, используя, ddпотому что блочное устройство — это просто дамп байтов. Оно может содержать данные давно удаленных файлов в нераспределенном пространстве. ddне знает об этом, потому что это работа файловой системы. У вас есть несколько вариантов:

Продолжайте использовать dd

... и принять большее использование пространства. Вместо этого сделайте что-то вроде dd if=/dev/mmcblk1 of=NanoPi.img bs=64K conv=noerror,sync status=progress. Меньший размер блока дает вам немного больше безопасности в случае ошибок чтения. Если ddне удается прочитать хотя бы один сектор - остальная часть блока не будет обработана. Размер блока - это максимальное количество байтов, которые вы можете потерять из-за одного плохого сектора. conv=noerrorгарантирует продолжение клонирования в случае ошибки. conv=syncсдвигает указатель в целевом файле вперед в случае ошибок чтения, поэтому данные остаются выровненными и, следовательно, действительными.

Вы можете ddпередать вывод по конвейеру, gzipчтобы сжать данные и сэкономить место: dd if=/dev/mmcblk1 bs=64K conv=noerror,sync status=progress | gzip -c > NanoPi.img.gz Чтобы получить необработанное изображение, выполните gunzip -c ./NanoPi.img.gz > NanoPi.img.

Использовать rsync

... и работать с необработанными файлами. rsync -aAXv /path/to/mounted/mmcblk1 /path/to/destination/folderЭто может сработать или не сработать в зависимости от того, смонтирована ли ваша файловая система или нет.

Связанный контент