[comp.sys.ibm.pc] How do you recover a bad FAT?

dave@applix.UUCP (Dave Bialer) (09/10/87)

I have a corrupted file allocation table on a hard disk.  Can anyone
recommend a utility that can help me recover the FAT.  It seems that
my files are still on the disk, however, many are truncated.  Any
information would be greatly appreciated.

Thanks

bw@hpcvlo.HP.COM (Bill Wilhelmi) (09/11/87)

Get the Norton Utilities Advanced Edition.  It has a FAT editor,
directory editor, and lots of other goodies for reconstructing a
bamboozled hard disc.  

Bill Wilhelmi
Hewlett-Packard
Cornvallis, Oregon

gandalf@bucc2.UUCP (09/14/87)

>I have a corrupted file allocation table on a hard disk.  Can anyone
>recommend a utility that can help me recover the FAT.  It seems that
>my files are still on the disk, however, many are truncated.  Any
>information would be greatly appreciated.
>

I recently underwent the same termoil.  Although I don't know of any
utility that would help out, I will share the process of how I fixed my hard
drive...
 
First, the FAT on standard hard disk formats is stored twice, one as a backup
to the first.  If both copies are trashed, you may be in trouble.
However, if the second one is good, you can recover substantially all
information on the hard drive assuming you have not made any changes to it
in the interim.
 
Logical sector 0 on the hard drive contains the master partition record.
If you have a single DOS partition one the drive, it is also the boot
record for the drive.  If you have more than one partition, consult the
AT tech manuals to find the first boot record you need.
 
Use some utility to display the contents of the boot record.  I used
pc-tools for this purpose.  The value at offset 16 of the first byte of
the boot sector contains the number of copies of the FAT on disk.  If it
is not 2 or more, you might as well backup what you can and reformat.
Offset 22 contains the number of sector the FAT uses for one copy.  The FAT
appears immediately following the boot sector, both copies occupying
contiguous sectors numbered logically.  For my 30-meg hard drive the FAT
occupies 62 sectors per copy in logical sectors 1-62 for the first copy
and 63-124 in the second.
 
You can display the contents of the two FAT tables  to check for their
integrity.  For the most part the FAT contains word values counting upwards
by one.  To replace the first copy of my trashed FAT (which had about
10 bad sectors in it) I used debug to load the second FAT into memory and
to write it back to disk.  This second copy had only one bad sector.
 
If you are able to recover a substantially better FAT, you should then backup
what is possible and reformat the drive to ensure the FAT is restored
to full integrity.
 
More info can be found in the DOS tech refs. and Norton's Programmer's Guide
to the IBM PC.


Bob Greenwald

============================================================================
  UUCP:   {uiucdcs,cepu,ihnp4}!bradley!{gandalf,bucc2!gandalf,cyber!flyer}
============================================================================