I'm playing with my hobby operating system. It has a simple BIOS based bootloader that uses int 0x13; ah=0x42 to load data from usb drive.
My bootloader perfectly reads sectors if I run qemu like this:
$ qemu-system-i386 -usb -usbdevice disk:sos.img
But if I try to boot from physical device:
$ sudo dd if=sos.img of=/dev/sdb
$ sudo qemu-system-i386 -usb -usbdevice disk:/dev/sdb
bootloader fails to read the sectors.
What's the difference between image file and usb device from qemu's perspective?