I'm using qemu-system-x86_64 to start a virtual machine, but I absolutely can't figure out how to mount a virtual floppy disk (vfd file) into it.

If I want to mount an iso, that is easy:

-drive "file=/path/to/iso/file.iso,index=1,media=cdrom"

If I want to mount a drive, that is easy as well:

-drive id=disk0,if=virtio,cache.direct=on,if=virtio,aio=native,format=raw,file=/path/to/drive/image

I even managed to find out how I could mount a physical drive:

-drive file=/path/to/drive,if=virtio

But I couldn't find a single example on how to mount a vfd.

1 Answer 1


The short way:

$ qemu-system-x86_64 -fda /path/to/floppy.img

I've heard of QEMU command-line options similar to this one described as "convenience flags".

The long way:

$ qemu-system-x86_64 -drive file=/path/to/floppy.img,index=0,if=floppy,format=raw

This option is apparently deprecated.

The "modern" way:

$ qemu-system-x86_64 -blockdev driver=file,node-name=f0,filename=/path/to/floppy.img -device floppy,drive=f0

Note that devices attached this way tend not to cooperate well with older QEMU functionality such as the -snapshot flag and the monitor command change.


(qemu) change floppy0 /path/to/floppy.img

This is a monitor command for managing removable media after the emulator has already started. info block will print the name of the floppy device if its name isn't "floppy0".

Other (?) ways:

Peruse the online manual and in-tree docs for more ideas. QMP could probably attach floppy images dynamically, but I'm not familiar with it.

  • Wow thanks, On-the-fly unfortunately is not an option for me. And since I'd rather avoid deprecated options and I'd like to use the snapshot flag, I'll have to go with The short way, right?
    – Forivin
    Jul 18, 2019 at 7:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .