Contents of the VACUUM.DOC file
January 24, 1987
THE VACUUM CLEANER FOR FLOPPY DISKS
The Vacuum Cleaner for Floppy Disks is a program you hope
you will never need to use. It recovers data from otherwise
unreadable disks. The results are not organized the way you want
them, but using a good text editor you may be able to reconstruct
lost ASCII text files.
I wrote the Vacuum Cleaner after I spent a weekend
writing programs onto a floppy disk that I did not back up. The
next time I tried to read what I had written, DOS responded: Disk
Error Reading Drive B. The disk never recovered. I managed to
get back everything I had written on the disk, with slow and
painful use of the absolute disk read function in PC-Write. (Of
course, I could not recover things like ARC files and compiled
programs. Only ASCII text files could be reconstructed.) It
seemed to me there had to be a better way. Thus the Vacuum
Cleaner, which is designed to automate a part of the file
The Vacuum Cleaner sweeps up all the bits on one floppy
disk and writes them out to files on another disk. When it
sweeps up the bits, it simply reads the entire disk on drive B,
sector by sector, starting with logical sector 1 and running
through to logical sector 720. (These are assumed to be 512 byte
sectors.) Output is written to the default drive. Ninety
sectors from the disk on drive B go into each output file.
Output files are named 1.FIX for the first one, 2.FIX for the
second one, and so forth. The Vacuum Cleaner will write at least
one output file. You can't tell in advance how many more it will
write, because not every sector gets written to a file. If the
Vacuum Cleaner is simply unable to read a sector, of course that
sector is not written to the output. And if a sector consists of
nothing but 512 identical bytes, which most likely means that
nothing was written to that sector after formatting, the Vacuum
Cleaner does not bother to write out the sector.
To the end of each sector it outputs, the Vacuum Cleaner
adds carriage return, line feed, 'END SECTOR nnnn', carriage
return, line feed. (nnnn stands for a four digit hex number
identifying which logical sector just got written out.) This may
help you tell where parts of one file end and parts of another
begin. Also, it may help you put files together again if you can
recover at least part of the FAT.
Using the Vacuum Cleaner: Type Vacuum at the DOS prompt.
The program will remind you that the damaged disk from which you
want to recover data must be in drive B. The disk you want to
write onto goes in the default drive. When you are ready, strike
any alphnumeric key to start the program. If the program runs
out of space on the default drive (the calculations will be more
or less accurate only for floppy disk drives), the program will
pause to let you put in another disk. If you want to stop at one
of these pauses, hit Control-C. Aside from this, you just wait
for the program to finish.
You wait a long time. Reading and writing 512 bytes at
a shot, the Vacuum Cleaner is slow. It did not seem worth
complicating the program to make it go faster.
Once you have your files, you use a text editor to try
to reassemble your original files. I recommend PC-Write, because
it has no trouble handling a file no matter how strange the file.
The Vacuum Cleaner has had minimal testing -- I don't damage
my disks that often.
Please leave any comments
or other messages on
Robert Blacher's bulletin
Portions of the source code for the Vacuum Cleaner are from
Ray Duncan's book, Advanced MS-DOS, Microsoft Press and are
copyright 1984 by Ray Duncan.