Comment Some experience... (Score 2) 375
I've recovered hundreds of floppies over the years. Here's what I've done to good effect.
(1) Find a machine with a floppy drive. If this machine hasn't had its floppy used in a while, either read/write a bunch of disks, or get it cleaned/aligned. I've opted for the former with good effect, but drives are getting old enough now that the former may be increasingly necessary. For older 5.25" drives, I'd definitely try to clean the heads, but be sure to do research so you don't grind the heads away by using the wrong methods. The reason I use the read/write method of a few disks that are new is that it gives you a chance to see if the drive is working on disks that don't matter. It might also allow you to have a minor cleaning effect from this to remove oxides from accumulated sitting time, but I'm unsure if that's what's going on. I have used different drives when the first tests failed, but never paid to have the broken drives fixed. There's just too many surplus floppy drives around. It might also help to have multiple drives.
(2) I have used both ddrecover and rescuedisk. The former is a gnu thing, the latter is included with FreeBSD. Both will incrementally read the disk and optionally write out data about what's been read. Both programs try to read as much data as possible in large blocks, then switch to smaller size reads for the damaged areas to try to get as much data off as quickly as possible with as few read-head passes. Having said that, often times there's a few stubborn sectors that just need to be tried a lot. For ddrecover, you may need to crank up the retry count to 1000 or more. rescuedisk does this automatically. I've had several disks that people have sworn are totally unreadable that I've been able to recover and placed in my hand to do something with. I've been able to recover most of them by retrying between 100 and 1000 times. When that fails, and it has in maybe 2 or 3 of the hundreds of disks I've done, I've taken the log files about what had been recovered to a different machine with a different drive and tried to read the (usually 1-4) missing sectors there. This hasn't failed me yet for disks that are hard to read merely because they are "old." My experience has been more concentrated on the 3.5" floppies than the older 5.25" floppies too. Different rules may apply there.
I guess I should caveat the above advice with "for disks that are just old". Disks that have been damaged over the years, or have had magnets run over them, etc all bets are off short of "extreme" options that might not even work.
Many of these techniques also work for reading damaged audio CDs, DVDs, etc.