-device ide-hd will assign bus with with no free units Originally filed here: https://bugzilla.redhat.com/show_bug.cgi?id=1000118 ./x86_64-softmmu/qemu-system-x86_64 -device ahci -drive id=aa,file=/tmp/foo,if=none -drive id=bb,file=/tmp/foo,if=none -device ide-hd,drive=aa -device ide-hd,drive=bb qemu-system-x86_64: -device ide-hd,drive=bb: Can't create IDE unit 1, bus supports only 1 units qemu-system-x86_64: -device ide-hd,drive=bb: Device initialization failed. qemu-system-x86_64: -device ide-hd,drive=bb: Device 'ide-hd' could not be initialized If a bus isn't specified for -device ide-hd, it just uses the first bus it finds, not taking into account if that bus was already assigned for another device. So users are forced to do -device ide-hd,bus=ide.0 -device ide-hd,bus=ide.1, etc. This isn't specific to -device ahci, but it's worse there since there isn't any -drive if=IDE or -hda convenience option, which both seem to get the logic correct. I know -device is the 'build it yourself' approach so I understand if this is WONTFIX.