Я только что создал образ свежеустановленной двойной загрузки (Ubuntu и Windows) с помощью этой команды (которую я уже некоторое время использую для образов меньшего размера):
dd if=/dev/sda | gzip > /mnt/drive.img.gz
На этом диске используется менее 60G из 500G. Тем не менее, этот файл образа теперь имеет размер 409G.
Как это? Разве gzip не должен сжимать все эти нули? Как я уже сказал, это свежеустановленная система. Она не может быть настолько загроможденной.
Я не ожидал, что файл будет размером 60 Гб, но 400 Гб кажутся мне очень большими.
решение1
Как это так? Разве gzip не должен сжимать все эти нули?
Да,если бы они были нулями.
Неиспользуемое дисковое пространство не означает, что оно содержит нули; это означает, что оно не используется и может содержатьчто-либо.
Существуют программы, которые стирают неиспользуемое дисковое пространство нулями. Я предлагаю вам использовать их перед созданием образа диска. (Я не припомню ни одной; в Linux я бы просто использовал dd if=/dev/zero bs=1048576 of=somefile
для создания файлов, содержащих только нули, заполняя каждую файловую систему; затем удалял бы их перед созданием образа. Кроме того, я предпочитаю xz
. gzip
)
решение2
Для резервного копирования отдельных разделов можно использоватьчастьклонавместо.
Partclone считывает файловую систему, чтобы определить, где хранятся файлы, и создает резервную копию только этих частей раздела.