After playing with kvm and qemu during my knee surgery recovery, I got hooked. I have a working windoze XP install running under kvm on my Core 2 Duo, Ubuntu Gutsy Gibbon box, and it flies. It almost, almost feels like native speed (I also got help here and here). It's great. Except, not being a regular windoze user, I'd lost track of how much space a windoze installation (and all the service packs and security updates) needs. When I created my original hard drive image file I made it 6 GB, which, it turns out, is too small. I didn't want to just create a new disk image and re-install, it took a lot of work to get this image up to it's full 6 GB glory.
I hunted and found some instructions for resizing qcow (qemu copy-on-write) disk images, but they just didn't work for me. Once I converted from qcow (qcow2 actually) to raw, windoze wouldn't boot on the raw image. Gparted didn't show any partitioned drive space either. Then I remembered I'd always wanted to try clonezilla. Perfect. After downloading the bootable clonezilla iso, and the bootable gparted iso, I went to work like so:
First, create a new, bigger drive image (Don't worry, it will start really small and grow as you use the space):
qemu-img create -f qcow2 windoze.qcow2 100G
Next, boot up windoze with this new second hard drive (this also shows some of the extra options I use to get sound and stuff, as well as wrapping it all in aoss so I can hear the annoying windoze boot-up sounds):
aoss kvm -soundhw all -cdrom /dev/cdrom -localtime -m 512 -hda original-windoze.img -hdb windoze.qcow2
I don't know if that was needed, but a "Found New Hardware" bubble came up and I felt good that the second hard drive seemed to have been found.
Next, boot from the clonezilla CD image:
aoss kvm -soundhw all -cdrom ~/downloads/clonezilla-live-1.0.3-21.iso -localtime -m 512 -hda original-windoze.img -hdb windoze.qcow2 -boot d
Then you go through the clonezilla wizard to clone the one hard drive to the other. This was very straightforward. I went away for a few hours and when I came back it was done. I'm not sure how long it took.
I think I booted windows again at this point with just the new windoze.qcow2 image to make sure it worked, and it did. Amazing.
Then I booted gparted to grow the partition to be the full size of the disk:
aoss kvm -soundhw all -cdrom ~/downloads/gparted-livecd-0.3.4-10.iso -localtime -m 512 -boot d windoze.qcow2
Gparted was very simple to use and it grew the ntfs partition to the full 100 GB in about 2 seconds. One more reboot back into windows and I had my new, larger virtual hard drive all working. Pretty sweet.