The following procedures are for older computers. As technology advances, the old stuff can still linger, especially in industry or science labs.
The old machines still work, can still function fine, do not cost anything (because you already have an old clunker), and they tend to last longer than the new stuff. For example, I have a functioning 10MB (yes, that's Megabytes) hard drive, and I also have tossed out a couple of hundred newer drives. The old battleships keep chugging along.
When I ran a consulting business, most of my work was dealing with older machines because (1) I'm an old fart and (2) I used to work on this crap when it was new. People called me to fix their specialized Windows 3.11 machines that ran a lathe because that's all the software would run on.
If you have an IDE hard drive that is totally trashed, you can attempt a low-level formatting. Since the older IDE drives are tough to find, especially ones around 40MB, this will allow you to continue to use your ancient junker.
First, a disclaimer:
DO NOT LOW-LEVEL FORMAT AN IDE DRIVE UNLESS IT IS ONE YOU DO NOT CARE ABOUT. BY ATTEMPTING TO RESURRECT IT, YOU CAN CREATE AN UNDEAD DRIVE THAT EATS YOUR DATA. NO, THIS IS NOT A JOKE.
When an IDE drive is made in the factory, it is low-level formatted. The formatting finds the "dead" spots in the drive during a burn-in process, and this defect map keeps your system from putting data into a black hole. The defect map is not created through the interface, but directly through the IDE system and the factory testing hardware.
IDE drives are very intelligent. If your computer does not have the exact proper setting for that particular hard drive, the IDE electronics automatically translate the physical characteristics of the actual drive to the virtual settings of the computer. When you low-level format an IDE hard drive, you can accidently kill the factory defect tables. For this same reason, never change the interleave settings on an older BIOS for an IDE hard drive.
Through the BIOS on some systems, you can perform a low-level format. This may make a hard drive with a large amount of defects usable again, at a much reduced capacity. I've had 1 gig drives lose 400 megs, but the remaining 600 worked for years after the process. Your drive may lose 90%, or it may lose 5%.
If your system does not support low-level formatting, boot from a bootable DOS diskette that has FORMAT, FDISK and DEBUG installed. To format the hard drive, at the DOS prompt type DEBUG. The prompt will change... this is OK. Type in G=C800:5 to start the formatting. What this command does is start a ROM program located at address C800:5. In this case, it is the low-level format command. The drive will chunk away until it is formatted. If you are in the DEBUG shell, type Q to quit back to the regular DOS prompt.
Now, just FDISK and FORMAT /S as usual. Run a few tests with big and little files to verify the drive has no major holes. Keep it as a temporary storage unit or, if you have to, use it as a normal drive. I do have one resurrected drive on a 486-based Linux box, and it's been working for over 4 years with no return of the voodoo zombie data-eating defects.