fst
fst (File System Tool) is a tool for checking filesystems, like
CHKDSK, and for displaying information about filesystems. Currently,
fst supports HPFS and FAT (FAT support is quite untested).
Unlike CHKDSK, fst does not fix the errors it finds (except for
`check -fix=z').
I wrote fst after a HPFS partition was corrupted by an HPFS bug three
times in a single day. I wanted to know exactly what's going wrong.
Why another CHKDSK? Well, CHKDSK has several problems:
-
CHKDSK does not show the names of all files known to be corrupt (or
corrupted by CHKDSK). For instance, if n files share data sectors,
the names of only n-1 files are printed; CHKDSK won't tell you about
one file which is probably damaged out of each group of files
sharing sectors
-
CHKDSK sometimes corrupts the file system even more than it was
before running CHKDSK. fst can save a snapshot of all relevant
sectors to a file. After running CHKDSK, you can compare the disk
to the snapshot file to find out what sectors have been changed by
CHKDSK. You can even restore the sectors from the snapshot file to
the disk to undo CHKDSK's fixes.
-
CHKDSK sometimes gives false alarms, complaining about errors
which don't exist and which it won't fix. For instance, CHKDSK
apparently has problems with extended attributes of type 2 (FNODE
pointing to an ALSEC).
-
CHKDSK cannot fix certain types of HPFS corruption (for instance,
sectors shared by Spare DIRBLKs and extended attributes). To be
able to fix the errors manually with a sector editor, one needs to
know exactly what's wrong. For each defect, fst prints the relevant
sector numbers.
Nowadays, the main purpose of fst is to fix filesystem problems
on CompactFlash cards written by PSION handhelds (running EPOC) so
that those CompactFlash cards can be written to by other systems
without trashing the filesystem.
Click here to go to
the project page.
Downloading and Installing
See fst.doc for installation instructions.
See the README file of emxuser.zip for more information.