Floppy drive doesn’t work in Windows, but does outside of Windows

Well, I’ve solved it (more or less).

I had to mess around in the back of my system today, so I took the opportunity to remove the 128MB flash drive that I use to boot. Lo and behold, Windows is able to use the floppy drive (and with the changes I made last time—below—it is able to use it correctly too).

I’m not sure why it did not work with the flash-drive attached. I did some experiments and confirmed that it only happens when in the BIOS, the flash-drive is set to emulate a floppy drive and is higher in the boot order than the actually floppy drive in the removable devices section. By setting the flash-drive lower than the floppy in the boot order, Windows can access the floppy, but then I cannot use the flash-drive for booting automatically. Setting the flash-drive to emulate a CD-ROM allows the floppy to work, but then the flash-drive must be written as a CD, making it frustrating to change files on it like a floppy disk. Setting it to emulate a hard-drive allows the floppy to work and allows the flash-drive to work like a floppy or hard-drive (file wise), but then it prevents the actual hard-drives from being set as boot devices.

First, I tried disabling the floppy drive in Device Manager, then assigning A: to the flash-drive in the Disk Management snap-in, then re-enabling the floppy which was then assigned B:. Unfortunately this did not work (and caused even more problems than before.)

Sadly, my motherboard is old, so Asus has no desire or intention of updating the BIOS to allow individual boot devices to be set (e.g., flash-drive, cd, floppy, hard-drive1, hard-drive 2) instead of only device types (1 removable, 1 optical, 1 hard, 1 network). As a compromise, I have completely removed all but the hard-drive from my boot order. Now when I need to boot into DOS, I’ll have to press F8 to manually select the flash-drive instead of having it automatically inserted in the boot order (which displays a menu to boot DOS or fall through to the hard-drive). It’s a little more work :-|, but having the floppy-drive work (and automatically fail when empty) instead of wait to time out is worth it (especially right now when I’m doing a bunch of file-system programming which requires opening disks in a hex-editor, causing many frustrating delays when the program tries to list the installed disks).

In any case, if anyone else finds their way here trying to figure out why they cannot get Windows to even activate their floppy drive, check if you have any small flash-drives attached to your system on boot. If your board is new enough, try asking them to update the BIOS (though it is more than likely that any board that is new enough to have support will not have a floppy controller at all).

(Of course the question remains what Windows’ problem is when it works fine in DOS, Windows setup, etc… o.O)


It also turns out that the floppy drive (an new? OEM Sony unit I bought from a local computer wholesaler) could have been non-standard. It seems to be working just fine once I set it as the primary in the BIOS, so it probably doesn’t apply to this particular drive, but it’s another gotcha to watch out for.