View Full Version : How To Repair A Vintage Hard Drive With Seek Issues / Bad Sectors :o) (Video)

April 23rd, 2016, 02:53 PM
I've recently uploaded a tutorial video on my Youtube channel about how to make a vintage hard drive

with seek issues / bad sectors useable again. Please enjoy and let me know if you found it useful.




Dwight Elvey
April 23rd, 2016, 03:44 PM
Most older hard drives have a bad track list. I'd recommend
using it.
It would also be nice to know why is went bad?
There is also 2 directory entries as I recall. A little low level
code can often restore the data without destroying the entire
These controllers are not that complicated.
In any case, not knowing the root cause, it is likely
to fail again.

April 23rd, 2016, 04:50 PM
A few things, first it is not really a good idea to encourage people to reformat their hard drive in general. :p

Before starting it is REALLY important to gather as much information as possible about your hard drive, system, and controller before even thinking about it.

You got lucky that your card was jumpered for your drive type and it wasn't an AT with CMOS settings, or an IDE drive with geometry translation, otherwise you may have gotten stuck.

Also, you may not have "corrected" the bad sector, but just mapped it as bad during the DOS format. Running SCANDISK or Norton Disk test may have done just as well without reformatting and reloading everything.

And you did not need to run that hdformat program, that is just your vendors low level format program. That did the same thing as DEBUG. Normally one goes directly from debug g=c800:5 -> fdisk -> DOS format.

Anyway for an IBM PC clone what I suggest:

Before starting, get the following information
- Hard Drive Model
- Determine if it is MFM/RLL/SCSI/IDE or other.
- Hard Drive bad track list (for MFM and RLL drives)
- Determine sector geometry or if translation is needed
- Hard Drive AT CMOS type (if applicable, and may vary between systems)
- Hard Drive Controller model
- Locate the hard drive controller's manual
- Determine if jumpers have been used to set the drives configuration on the controller and ensure they match.

Proceeded with low-level format:
Perform the low-level format as per the instruction manual (usually debug g=c800:5 or a special tool)
Try using the SpeedStor tool - useful for diagnosing problems.
For IDE drives, I suggest MAXLLF (really just zeros and remaps bad sectors)

Proceed with FDISK
- Must take DOS version compatibility, planned usage, and min/max partition sizes in to consideration.

Proceed with DOS Format(s)

For MFM/RLL tools, follow up with Spinrite.

For others, follow up with any other disk surface tester (Norton Utils, Scandisk, etc.)

April 23rd, 2016, 04:59 PM
...but the underlying cause of the seek error has not been remedied! The error will most likely pop up again, if the drive hasn't mapped it out.

For what it's worth, a "seek error" is diagnosed when the ID address header for a given sector cannot be located after about 3 revolutions. There are several separate situations that may result in a "seek error", including a CRC error in an address header, depending on the BIOS code. Many BIOSes aren't too fussy and lump various syndromes into a very few broad categories.

April 24th, 2016, 08:51 AM
In my experience with these old stepper-motor drives, doing a low-level format has about a 50/50 chance of returning the drive to fully working condition. Some drives are beyond recovery, while others magically go from having lots of seek errors to working fine with no bad sectors.

I've heard some people recommend low-level formatting the drive once a year as a preventative measure, but that may not be necessary, depending on how stable the drive is. Running ScanDisk, Norton Disk Doctor, or SpinRite is a good test to check if the problems are reappearing or not.

April 24th, 2016, 09:42 AM
Without access to some very expensive equipment and very specific knowledge of a drive that only the manufacturer has (or used to have) you are never going to know the underlying cause of the seek error.

All drives wear out because they are mechanical in nature. On the older stepper motor drives the occasional low-level format will rewrite all of the low level information on the drive such as the block headers. In cases of small amounts of drift due to wear that is fine and the errors will be cleared up. But if the mechanisms are just worn out seek accuracy will just be poor, and will continue to remain poor.

On slightly newer drives (pretty much anything with a voice coil) the servo information is written at manufacturing time and it can not be written again. There may be some exceptions for the very oldest voice coil drives but in general this feature does not exist in the firmware. So once the servo information or block headers are damaged, there is no amount of black magic that you have in your home that will fix things. If a bad sector looks like it was 'fixed', it was probably reassigned to a spare sector that the drive firmware maintains in reserve. Which is great until you run out of those reserved spare sectors.

A high level format through DOS can be used to mark sectors that the OS should try to avoid.