id = 2102 title = "\"qemu-img resize -f qcow2\" produces broken disk images" state = "closed" created_at = "2024-01-16T12:15:05.030Z" closed_at = "2024-01-17T17:04:19.091Z" labels = ["block:qcow2"] url = "https://gitlab.com/qemu-project/qemu/-/issues/2102" host-os = "Ubuntu 22.04" host-arch = "x86_64" qemu-version = "8.2.0" guest-os = "- OS/kernel version:" guest-arch = "## Description of problem" description = """The documentation of `qemu-img` at makes it sound like `qemu-img resize` supports various image formats (raw, qcow2, etc.) in the same way. But it doesn't. While `qemu-img resize -f raw` works as expected, `qemu-img resize -f qcow2` produces broken disk images.""" reproduce = """``` $ wget http://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/evbarm-aarch64/binary/gzimg/arm64.img.gz $ gunzip arm64.img ``` First resize, then convert: ``` $ cp arm64.img arm64-rc.img $ qemu-img resize -f raw arm64-rc.img 10G $ qemu-img convert -f raw -O qcow2 arm64-rc.img arm64-rc.qcow2 $ rm -f arm64-rc.img ``` First convert, then resize: ``` $ qemu-img convert -f raw -O qcow2 arm64.img arm64-cr.qcow2 $ qemu-img resize -f qcow2 arm64-cr.qcow2 10G ``` Attach to a VM in VirtualBox (as an additional SATA disk) and start that VM. arm64-rc.qcow2 => `# fdisk /dev/sdb` => it has two partitions. arm64-cr.qcow2 => `# fdisk /dev/sdb` => it has no partitions! And the VM cannot be cleanly shut down. I had to manually kill the VirtualBoxVM process.""" additional = """"""