You can just use a flattened mapping of any 'blockdev-add' command for the command-line '-drive'. Use dots for nesting. [Thanks, Kevin Wolf, on #qemu, OFTC]: For example, given this QMP input of 'blockdev-add': ----------------------------------------------------------------------- { "execute":"blockdev-add", "arguments":{ "options":{ "driver":"qcow2", "id":"drive-ide2-0-0", "file":{ "driver":"file", "filename":"/export/disk2.qcow2" } } } } ----------------------------------------------------------------------- The'-drive' command-line equivalent of the above: -drive driver=qcow2,id=drive-ide2-0-0,file.driver=file,file.filename=/export/disk2.qcow2 Similarly, if it's a 'virtio' device: -drive driver=qcow2,id=drive-virtio-disk1,file.driver=file,file.filename=disk1.qcow2