Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.078 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Уменьшение размера образов qemu
Linux в связке с qemu является отличной платформой для виртуализации, в том числе Windows-систем. Ключевой особенностью виртуализации в случае «инородных» систем является использование под эту систему файла-образа или отдельного блочного устройства. И то и другое обычно занимает достаточно много места. Попробуем минимизировать используемое место в этом случае.
Среди поддерживаемых qemu форматов образов есть как обычные бинарные образы (img), так и сжатые и несжатые qcow/qcow2. Последний формат в сжатом варианте показывает очень хорошие результаты по использованию места: его образы занимают мало места и при этом размер «внутреннего» жесткого диска в виртуальной системе может быть очень большим. Использоавать этот формат можно изначально, при создании виртуальной машины с помощью qemu-img, или конвертацией образа другого формата в qcow2
qemu-img convert -O qcow2 -c win10.img win10.qcow2
Сжатие в формате qcow2 используется в режиме «только для чтения», т.е. если что-то из образа переписывается, то перезапись происходит уже в несжатом формате. Получается, что сжатой будет статичная часть системы и данных в образе, которые в зависимости от задачи вируталки могут занимать основную часть данных. Для таких машин это формат будет наиболее подходящим.
Руководство qemu-img также предупреждает, что при использовании сжатия несколько уменьшается производительность. Однако, субъективно разницы между несжатым и сжатым форматом мне заметить не удалось.
При конвертации в qcow2 и сжатии следует заранее позаботиться о «чистоте» образа: занулить всё неиспользуемое на нём пространство. В Руководстве Proxmox подробно описываются способы, которыми это можно сделать. Наиболее короткий — очистить диск с помощью майкросовтовской утилиты sdelete, например:
sdelete -z C:
В последней версии утилиты 2.0 есть баг — она зависает на 100%. В этом случае имеет смысл использовать более старую версию 1.6. Есть также вариант использовать графическую Eraser, но это обычно более длинный путь.
В ходе использования образ понемного увеличивается в размере. После длительного использования образ можно сократить в размере тем же самым способом: занулив свободное места и переконвертацией его в qemu-img:
qemu-img convert -O qcow2 -c win9.qcow2_backup win9.qcow2
Естественно, как и перед очисткой образа, так и его пережатием крайне желательно сделать бэкап.
В результате перечисленных выше нехитрых операций можно уменьшить размер образов на порядок, т.е. в 10 раз и более.
unixforum.org
Здравия!
Имеется у меня образ в виде файла, для прошивки андроида, ext4. Я его преобразовал из sparse в нормальный, смонтировал, отредактировал, отмонтировал. Назад в sparse — а он на 500Мб меньше, понятно, я много чего там выкинул. Так вот, вопрос такой: чем или как можно уменьшить размер нормального образа, например, с 2 до 1.5Гб? gparted файл не видит, только реальные диски, resize2fs, по прочтению man, тоже вроде device требует. Есть способ?
Спасибо сказали:
/dev/random Администратор Сообщения: 5256 ОС: Gentoo
Re: Изменить размер образа раздела диска
Сообщение /dev/random » 17.02.2020 10:52
17.02.2020 10:36
resize2fs, по прочтению man, тоже вроде device требует
Нормально он работает с образами. Причём даже размер файла меняет, а не только размер файловой системы в нём.
Спасибо сказали:
olecya Сообщения: 896 ОС: debian, fedora (i3-wm)
Re: Изменить размер образа раздела диска
Сообщение olecya » 17.02.2020 10:56
Есть утилита с опцией
qemu-img resize
Можно привязать к устройству. Я так понимаю на образе несколько разделов
losetup /dev/loop0 /images/sles11sp1_base.raw kpartx -a /dev/loop0 mount /dev/mapper/loop0p1 /mnt/p1 umount /mnt/p1 losetup -d /dev/loop0
Щас я помотрю в своих заметках я когдато много занималась и запускала
образа linux в чейндж руте на андроиде
Добавлено (10:59):
Вот вариант монтирования
modprobe nbd max_part=63 qemu-nbd -c /dev/nbd0 название_образа.img partprobe /dev/nbd0 sudo fdisk -l /dev/nbd0 mount /dev/nbd0p1 /mnt/qemu
По завершению работы с диском отключаем
sudo umount /mnt/qemu sudo qemu-nbd -d /dev/nbd0
Добавлено (11:02):
Где то был вариант losetup с выводом используемого луп устройства
Добавлено (11:06):
losetup --find --show image
Простой способ сжать образ raspberry pi под microSD меньшего размера
Всем привет, недавно мне понадобилось перенести образ raspberryPi с 32гб microSD на microSD размером 16гб. Для этого на просторах интернета было найдено множество различных решений типа PiShrink с dd, но в итоге был найден, на мой взгляд более простой способ не требующих работы с консолью и каких-то особых навыков.
Для этого достаточно двух простых программ с графическим интерфейсом:
- GParted (для уменьшения раздела на microSD)
- win32diskimager ( для записи образа с только размеченной области microSD)
Внимание! Прежде чем приступать к уменьшению основного раздела, крайне рекомендую сделать полный образ microSD для избежания потери данных.
Уменьшаем раздел microSD при помощи GParted

- подключаем к ПК картридер с нашей microSD;
- открываем gparted;
- в выпадающем списке, в правом верхнем углу выбираем наш диск;
- кликаем правой кнопкой мыши по разделу который необходимо сжать и выбираем пункт меню “resize/move”;
- в открывшемся окне перемещаем правый ползунок влево тем самым сдвигая занятое пространство в начало раздела.
Важно сдвинуть занятое пространство в начало раздела, тогда неразмеченная (unallocated) область диска окажется в конце списка разделов и не попадёт в образ. В ином случае размер образа не уменьшится.

Нажимаем зелёную галочку, подтверждаем свои намерения и дожидаемся окончания работы GParted по ужиманию раздела диска.
Записываем образ размеченной области microSD при помощи win32diskimager
Устанавливаем приложение, например отсюда.
Следующим шагом создаём образ с размеченной области microSD:

- Открываем win32diskimager;
- выбираем адрес и прописываем имя imageFile (например c:/pi_image.img);
- выбираем диск;
- Ставим галку в чекбокс “Read Only Allocated Partitions”;
- Нажимаем Read.
Дожидаемся конца записи образа, если вы проделали всё правильно, в результате должны получить образ размером с размеченную область диска. В моём случае образ получился размером 4.34гб вместо 29.8гб.
В дальнейшем такой образ можно накатить на любой диск равного или большего размера и при необходимости увеличить размер системного раздела через GParted.