To Iso — Qcow2

virt-copy-out -a disk.qcow2 / dest/ mkisofs -o intermediate.iso dest/ But virt-make-fs outputs ext4, not ISO. So manual ISO creation remains necessary. Below is a robust bash script using guestmount (requires root) for full partition extraction to ISO.

if [ -z "$QCOW2" ]; then echo "Usage: $0 <disk.qcow2> [output.iso]" exit 1 fi sudo modprobe nbd Attach QCOW2 sudo qemu-nbd -c /dev/nbd0 "$QCOW2" sudo partprobe /dev/nbd0 Prepare directories sudo mkdir -p "$MOUNT_POINT" mkdir -p "$EXTRACT_DIR" Mount all partitions for part in /dev/nbd0p*; do if [ -b "$part" ]; then echo "Mounting $part" sudo mount "$part" "$MOUNT_POINT" 2>/dev/null || continue sudo cp -a "$MOUNT_POINT"/* "$EXTRACT_DIR/" 2>/dev/null || true sudo umount "$MOUNT_POINT" fi done Detach NBD sudo qemu-nbd -d /dev/nbd0 Create ISO sudo mkisofs -o "$ISO_OUT" -R -J -V "QCOW2_TO_ISO" "$EXTRACT_DIR" Cleanup sudo rm -rf "$EXTRACT_DIR" qcow2 to iso

xorriso -as mkisofs -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o bootable.iso iso/ This only works if the QCOW2 contains a Linux kernel and initrd. Windows QCOW2 cannot be directly turned into a bootable ISO because Windows requires a writable system drive. 4.4 Using virt-make-fs for Simplicity libguestfs provides virt-make-fs to create filesystem images from directories. To go QCOW2 → ISO, combine virt-copy-out with mkisofs or use virt-make-fs to create a raw filesystem, then convert that to ISO. virt-copy-out -a disk

mkisofs -o output.iso -R -J /tmp/extracted/ Works with compressed/encrypted QCOW2, handles multiple partitions by merging directories. 4.3 Bootable ISO Conversion If the QCOW2 contains a bootable OS (e.g., Linux with GRUB), you can produce a bootable ISO using the El Torito specification. if [ -z "$QCOW2" ]; then echo "Usage: $0 &lt;disk