Проблема:Я пытаюсь создать точный образ компактной флэш-памяти, а затем сжать образ компактной флэш-памяти для более удобного хранения. Компактная флэш-память не заполнена (использовано ~1,5 ГБ, размер 32 ГБ). Проблема в том, что когда я сжимаю извлеченное изображение, оно сжимается не очень хорошо, и я не уверен, почему.
Я пробовал несколько методов сжатия, и все они давали не более 50% сжатия. Я бы предположил, что нули, заполняющие ~30 ГБ CF, сожмутся очень хорошо, и итоговый файл будет размером ~1,5 ГБ (или лучше).
Что я делаю не так? Что я упускаю из виду?
Подход
- Обнулить CF: dd if=/dev/zero of=/dev/sdb bs=1M
- Разбиение на разделы, форматирование, установка файлов, данных и т. д. (использовано около 1,5 ГБ)
- Создать образ CF: dd if=/dev/sdb of=cf.img
- Сжатие CF (с помощью gzip, bzip2, lzma и т. д.)
Примечания
- Я обнуляю CF с помощью USB-носителя, подключенного к компьютеру с Windows 7. USB-устройство подключено к виртуальной машине под управлением Linux.
решение1
Отвечаю на свой собственный вопрос, но не уверен, почему так происходит.
Я попробовалдбан. Загрузил ISO как виртуальную машину и использовал опцию «wipe» (запись нуля). Один проход. После этого выполнил те же шаги, что были описаны ранее. И сжатие сработало НАМНОГО лучше. Мой сжатый образ был меньше 100 МБ.
Единственное, что я могу предположить сейчас, это то, что при использовании dd /dev/zero выводил что-то странное или данные неправильно записывались на Compact Flash.