TransWikia.com

Can special tools recover data from floppy disks when Windows Explorer fails to do so?

Retrocomputing Asked by Nicholas Hill on August 25, 2021

I have many 1.44MB floppies 20 years old or older. My FDD, which I just bought online and received recently, cannot read them. The FDD can often display the contents of a floppy, but not successfully copy many files to some other drive (I.E my C drive).

If I take a bad floppy, format it, put files on it, and read it back, then the files can be read successfully.

Is there a way to recover the data on these disks or is it mainly a hopeless cause? Are there super-sensitive drives that do a better job? Can partial sectors be retrieved or must it always be success-fail on a 512 byte basis?

Also, how come it can almost always successfully read the FAT table, yet only ever seem to be able to recover <10% of the content of the drive?

4 Answers

20 years for 1.44 MB 3.5" HD is too long time for average FDC/FDD to read.

You need analog solution! So one that scan the surface and store the ADC measured values of the surface. Then detect sectors and data using adaptive thresholding ... I would not bother to try any digital only method related solutions for case like this. So look for FDD+FDC with ADCs instead of pure digital solution.

In my case I was in luck as i was recovering 15+ years 360KB 5.25" floppies and they where still functional so I was going for digital solution (no need for custom FDD). As the floppies where not compatible with PC FDC I needed custom FDC I ended up with this:

The FAT is usually on lower tracks. Track zero is the outermost one so it have bigger circumference (more magnetic material per bit while width of the track is the same hence more energy to remagnetize it) so the further inward track you go the sooner errors due remagnetization occurs hence the file data is corrupted sooner than FAT.

copying with Windows File Explorer is a bad idea. The standard file copiers usually stop on read error , try to reread invalid sector few times and then stop or even freeze entire OS once number of errors exceed some limit. What you need is instead of stopping ignore error and continue reading... One of the other answer is suggesting one... I ended up writing my own running from MS-DOS to read scratched CDs. However this will be still very slow (expect even hour or more to copy damaged floppy). Also ignoring error might work well on multimedia data but for programs it might not. Also CDs have self-correcting codes that floppies does not so errors on floppies will be much more worse...

Answered by Spektre on August 25, 2021

The PC floppy drive hardware is designed to convert sequences of pulses received from the drive head into a data stream in real time. As such, it must instantly decide whether each pulse is large enough to be detected, or should be rejected as noise, before it has a chance to observe anything beyond it.

It one has a floppy drive which has been modified to feed the drive-head signal as an analog output, and allows finer-than-usual control over drive head motion, it may be possible to extract data from disks that cannot be read via normal means. I've read of hobby projects to construct such things, but I don't know of any that would be practically usable outside the hands of data recovery services.

As a compromise, there are some devices which interface with conventional floppy drives but precisely capture the timing pulses received from them. I don't know how well the decoding software can deal with data errors (e.g. if any pair of pulses should be separated by either 2, 3, or 4 microseconds, a conventional drive might try to classify anything between 2.5 and 3.5 as 3, but if a track has two consecutive pulse intervals that are 2.4 and 2.6 microseconds long, while all other intervals are either less than 2.2 or greater than 2.8, recovery software might be able to conclude that particular edge is misplaced, and use the block checksum to determine what it should have been).

Software-based recovery tools may be able to extract data that would not be possible from Windows, but hardware-based tools with various levels of sophistication may do better. Unfortunately, while I would probably have the knowledge needed to build such tools, I don't have any information about how to find them.

Answered by supercat on August 25, 2021

You can try Unstoppable Copier that runs on Windows. I used it in the past for scratched CDs, and might work for you.

Answered by swKK on August 25, 2021

It sounds like some blocks on the disk (particularly the ones containing directory information) are okay, but some (containing some file data) are not. This is a data recovery situation.

If you boot from a Linux LiveCD (or a flash drive built from one), you should be able to use the ddrescue tool which is designed for exactly this situation. It will find all the blocks that can be read (including with a small number of retries) and use them to construct a disk image that is at least mostly complete. It will then go back and try harder to read the bad blocks, and insert them into the image.

Open a terminal and try the following:

sudo ddrescue -b 512 -c 9 --idirect /dev/fd0 floppy.img floppy.map

Once it has finished, you'll find the two latter files in the home directory, where you can move them to more permanent storage. To make a fresh floppy disk from the image, try:

sudo dd if=floppy.img of=/dev/fd0 bs=9216

Obviously, don't try to use the original (bad) disk for that.

Answered by Chromatix on August 25, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP