Во-первых, в этом процессе есть риск, и все может немного отличаться в зависимости от некоторых сделанных мной предположений, которые могут быть ошибочными. СОБИРАЙТЕ СВОИ ДАННЫЕ, прежде чем пытаться это сделать.
Примечание о ниже: Шаги 3 - 6 можно было бы избежать, если вы используете что-то вроде gparted для автоматизации этих шагов с помощью графического интерфейса.
После резервного копирования выполняются следующие шаги:
Убедитесь, что изображение отключено и не используется.
Разверните размер образа виртуального диска. Я обычно использую qemu-resize, чтобы сделать это. Вы можете, вероятно, просто dd -bs = X count = y >> iso.img, чтобы расширить изображение. Двойная стрелка очень важна, единственная стрелка уничтожит ваше существующее изображение.
В зависимости от ваших инструментов, вам может понадобиться или не потребоваться создание петлевого устройства для преобразования необработанного образа в виртуальный диск. Для этого вы можете использовать losttup / dev / loop0 / path / to / block - это создаст / dev / loop0, который вы затем сможете использовать вместо ссылки на базовый файл.
Используйте ваш менеджер разделов, чтобы изменить размер диска. Я обычно использую fdisk. Первым шагом здесь является выгрузка информации о разделах. второй шаг - удалить последний раздел и воссоздать его, используя идентичный начальный блок, и убедиться, что атрибут типа файловой системы указан правильно, а флаг загрузки установлен правильно (возможно, выключен). Затем вы можете записать это на диск.
Введите kpartx / dev / loop0 - это создаст / dev / mapper / loop0pX, чтобы вы могли напрямую получить доступ к разделам.
используйте resize2fs / dev / mapper / loop0pX, чтобы изменить его размер. Обратите внимание, что эта команда может называться как-то иначе. resize4fs является распространенной альтернативой.
При необходимости используйте dmsetup remove / dev / mapper / loop0pX
Используйте losttup -D / dev / loop0, чтобы удалить блочное устройство.