Command: undelete
UNDELETE attempts the recovery of deleted files.
Syntax:
undelete [directory] [options]
directory The location where the file to be undeleted is.
If no directory is given, the current working
directory is assumed.
There are also more advanced undelete options:
undelete /action what destination [size]
Options:
/ALL Undelete ALL files in the given directory without
prompting for each file.
/LIST Lists files that can be undelete without prompting to
undelete; no action is taken.
/E Exports any undeleted files to an external disk and
directory. With this option the source disk isn't
modified.
Possible [action]s:
/syssave Saves the 1st or 2nd copy of the FAT, boot sector or root
directory. Select fat1, fat2, boot, or root in [what].
/follow Looks for a (possibly deleted) file starting at the
cluster [what] and saves data to a file given as
[destination]. The output of DIRSAVE helps you to find
the right cluster number.
/dirsave Like FOLLOW, but saves a directory to a file. Directory
[what] must be given by an absolute path starting with
\ OR by a cluster number. Also shows a technical directory
listing on the screen.
destination must be on a drive other than the current drive. Data is
always read/recovered from the drive from which undelete
is invoked.
size Specifying size is not needed, but you can override the
autodetection by specifying size (in clusters for FOLLOW,
in sectors for DIRSAVE).
Comments:
UNDELETE only works on FAT12 / FAT16 disks!
Using UNDELTE:
1. Finding undeleteable files and directories:
Run undelete in DIRSAVE mode. You will see deleted directory
entries specially marked, and you will see their cluster numbers
on the screen. You can redirect screen output to a file, for
example:
undelete /DIRSAVE \ x:\rescued.dir >y:\logfile
Where logfile will contain the screen output.
If you have the FreeDOS utilites installed on your system, you
could use something like one of the following instead:
undelete /DIRSAVE \ x:\rescued.dir | TEE y:\logfile
undelete /DIRSAVE \ x:\rescued.dir | TEE y:\logfile | MORE
These will display the information on screen as well as store it
in the logfile.
2. Recovering an undeleteable file
Find the starting cluster of the file using DIRSAVE, as explained
above. Then use FOLLOW on that cluster, for example:
undelete FOLLOW 1234 x:\rescued.bin
would save the contents of the deleted file starting on cluster 1234
to the file rescued.bin on drive x.
Advanced Uses
- Recovering from within deleted directories
Run DIRSAVE on an existing directory to find the starting cluster
of the deleted directory. Then run DIRSAVE on that cluster to find
deleted files and directories within the deleted directory... and
so on with successive cluster numbers as required.
- Recovering partially overwritten files
Use FOLLOW on the existing new files and override the size value
(in clusters, undelete tells you how big a cluster on the current
drive is when you start undelete). So, if you have accidentally
overwritten a long file "OLD" with a short new file "NEW":
* find the cluster number of "NEW"
* give the size of "OLD" when using FOLLOW
* The recovered output will begin with the contents of "NEW" but
should contain the not-overwritten end of "OLD" as well,
hopefully.
- Using undelete to "mirror" important drive data
If your filesystem gets completely broken, you can try to write back
the important data saved by SYSSAVE. The saved information has to be
stored on a separate disk. You may also wish to use the MIRROR
command, which is simpler to use but stores the saved information at
the end of the disk.
* Run undelete in SYSSAVE mode for all 4 sources: fat1, fat2, boot,
root
* Keep the files in a safe place
- Restoring the "mirror" data
This may be necessary in some cases of disk disaster.
WARNING: This is for experts, repair-men and very desperate people
only! Doing this incorrectly or unnecessarily could make things
worse!
* Glue the 4 sources together in the order "boot fat1 fat2 root" to
reconstruct the first part of your partition, starting with the
first sector.
* you could use DEBUG (w command) to restore this info
* You can also merge saved and existing data with a hex editor.
Examples:
- see comments -
See also:
debug
del
deltree
erase
format
mirror
more
rd
rmdir
tee
unformat
Copyright © 2003 Eric Auer, updated 2008 by W. Spiegl.
This file is derived from the FreeDOS Spec Command HOWTO.
See the file H2Cpying for copying conditions.