This example takes olddisk.qcow2 and resizes it into newdisk.qcow2,
extending one of the guest's partitions to fill the extra space.
virt-filesystems --long -h --all -a olddisk.qcow2
# Name       Type        VFS   Label            MBR  Size  Parent
# /dev/sda1  filesystem  ntfs  System Reserved  -    50M   -
# /dev/sda2  filesystem  ntfs  -                -    39G   -
# /dev/sda3  filesystem  ntfs  -                -    513M  -
# /dev/sda1  partition   -     -                07   50M   /dev/sda
# /dev/sda2  partition   -     -                07   39G   /dev/sda
# /dev/sda3  partition   -     -                27   513M  /dev/sda
# /dev/sda   device      -     -                -    60G   -Tip: On ArchLinux the virt-filesystems tool is under the libguestfs package.
So just try a sudo pacman -Sy libguestfs
qemu-img create -f qcow2 -o preallocation=metadata newdisk.qcow2 50GNote: "/dev/sda2" is a partition inside the olddisk.qcow2 file which we want to resize.
virt-resize --expand /dev/sda2 olddisk newdisk.qcow2Done! Enjoy your new space!
If you want to create a raw disk instead of a qcow2 try following steps.
Note: This will create a new image newdisk.qcow2 with the given size.
truncate -r olddisk.qcow2 newdisk.qcow2
truncate -s +10G newdisk.qcow2Note: "/dev/sda2" is a partition inside the olddisk.qcow2 file which we want to resize.
virt-resize --expand /dev/sda2 olddisk.qcow2 newdisk.qcow2qemu-img info newdisk.qcow2
# image: newdisk.qcow2
# file format: raw
# virtual size: 50 GiB (53693907968 bytes)
# disk size: 36 GiBvirt-filesystems --long -h --all -a newdisk.qcow2
# Name       Type        VFS   Label            MBR  Size  Parent
# /dev/sda1  filesystem  ntfs  System Reserved  -    50M   -
# /dev/sda2  filesystem  ntfs  -                -    49G   -
# /dev/sda3  filesystem  ntfs  -                -    513M  -
# /dev/sda1  partition   -     -                07   50M   /dev/sda
# /dev/sda2  partition   -     -                07   49G   /dev/sda
# /dev/sda3  partition   -     -                27   513M  /dev/sda
# /dev/sda   device      -     -                -    50G   -For more details and examples please take a look at the official documentation: https://libguestfs.org/virt-resize.1.html