Aqui está o que funcionou no final:
Enlage o arquivo img (imagem de disco virtual) para a VM:
1. sudo qemu-img create -f raw addon.raw 10G
Criar arquivo de disco bruto
2. sudo mv domain.img domain.old.img
backup atual img
3. sudo cat domain.old.img addon.raw >> domain.img
combina original e extra para criar um arquivo img de novo tamanho maior.
Agora, temos uma imagem maior, mas a VM ainda tem uma tabela de partições antiga. Agora a parte complicada
As próximas etapas são feitas na máquina host com o desligamento da VM
Faça o download do arquivo iso para gparted:
wget -c http://sourceforge.net/projects/gparted/files/gparted-live-stable/0.6.4-1/gparted-live-0.6.4-1.iso
Inicialize o iso com a imagem virtual como o disco rígido no sistema virtual
O comando: kvm -m 512 -hda domain.img -cdrom gparted-live-0.6.4-1.iso -boot d
Estamos basicamente lançando um sistema virtual kvm
que inicializará a partir do cdrom -boot d
e o gparted está no cdrom -cdrom gparted-live-0.6.4-1.iso
e neste sistema virtual tratará domain.img como o disco rígido -hda domain.img
e alocará 512mb de memória para este sistema virtual -m 512
.
Agora, o gparted aparece com uma boa GUI (provavelmente existe também uma opção de linha de comando) pronta para reparticionar seu disco virtual.
Agora você pode manipular a tabela de partições como se estivesse usando um liveCD em uma máquina real.
A maioria dessas informações foi obtida de este blog de Chris Walden.
Obrigado @guntbert por me apontar na direção certa (por exemplo, é possível inicializar uma VM a partir de um liveCD).