danpb has mentioned that Linux gets this information from SCSI INQUIRY response. So it's up to the USB Mass Storage Device to decide whether or not it wants to have a removable medium.

The SCSI INQUIRY RMB (removable medium bit) tends to be set on modern USB Mass Storage Devices. Of course they don't actually have a removable medium.

One side-effect of setting this bit is that Windows Auto-Run will work if RMB=0 but not work if RMB=0. Also, on RMB=1 devices only the first partition is displayed by Windows - you can't have more than one partition on the device.

> However, I cannot see a way to set "removable=on" for usb-storage
> devices started via libvirt (in 12.04, with libvirt-bin
> 0.9.8-2ubuntu17.1 and virt-manager 0.9.1-1ubuntu5.1).
>
> So, is a feature request required for virt-manager to expose this option
> for virtual disks (default to 'on' for bus='usb') and add support to
> libvirt's XML to set "removable=on" ?

Yes, I just checked libvirt.git/master and cannot see a way to set the
removable option. I'm afraid libvirt also needs changes.