Technical

Import Disk VMDK-qcow2 Unsupported image type ‘onolithicFlat: Fix It in Proxmox

Import Disk VMDK-qcow2 Unsupported image type ‘onolithicFlat: Fix It in Proxmox

Import Disk VMDK-qcow2 Unsupported image type ‘onolithicFlat’ — that error shows up when you try to import a VMDK that’s actually a monolithicFlat image. Proxmox’s qm importdisk chokes on it. The fix is a one-liner with qemu-img to convert it to qcow2 first.

Detailed view of a hard drive circuit board showcasing electronic components and circuit design.

Why Proxmox hates monolithicFlat

monolithicFlat is a VMDK variant where the disk is one big preallocated file. Proxmox and QEMU can read it fine, but the import tool expects certain image types and monolithicFlat isn’t on the list. You’ll see the error right after running something like:

qm importdisk 100 mydisk.vmdk local-lvm

And the output is useless. It just says “unsupported image type ‘onolithicFlat'” — note the missing ‘m’, that’s how it’s printed. Annoying.

The fix: convert to qcow2

Just convert the VMDK to qcow2 first. qemu-img handles monolithicFlat without complaint.

qemu-img convert -f vmdk -O qcow2 mydisk.vmdk mydisk.qcow2

Then import the qcow2:

qm importdisk 100 mydisk.qcow2 local-lvm

That’s it. The disk imports and you can attach it to the VM. If you get a warning about the image size, ignore it — qemu-img expands thin disks by default, so the qcow2 might be larger than the original VMDK. You can use -o preallocation=metadata to keep it smaller, but for a one-off import it doesn’t matter.

Old Western Digital hard drive open, showing platters and circuit board.

If you’re stuck with a split VMDK

Sometimes the VMDK is split into multiple files like mydisk-flat.vmdk and mydisk.vmdk. The descriptor file (the small one) points to the flat file. qemu-img can still convert it if you point to the descriptor:

qemu-img convert -f vmdk -O qcow2 mydisk.vmdk mydisk.qcow2

It’ll find the flat file automatically. Just make sure both files are in the same directory.

My take

This is a stupid error message. It should just say “convert this to qcow2 first” or better yet, Proxmox should handle it automatically. But no, you have to dig through forums to find the one reply that mentions qemu-img. Anyway, now you know.

If you’re dealing with other Proxmox import headaches, check out rhel initrd getting corrupted during import — different problem, same annoyance.

Leave a comment

Comments are reviewed before they appear. Your email is never published.