Jump to content

Undeletion

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 195.22.151.244 (talk) at 14:09, 30 July 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Undeletion is a feature for restoring computer files which have been removed from a file system by file deletion. Deleted data can be recovered on many file systems, but not all file systems provide an undeletion feature. Recovering data without an undeletion facility is usually called data recovery, rather than undeletion. Although undeletion can help prevent users from accidentally losing data, it can also pose a computer security risk, since users may not be aware that deleted files remain accessible. At the end of the day - undelete isn't a real word.

Support

Not all file systems or operating systems support undeletion. Undeletion is supported by DOS, but is not supported by most modern UNIX file systems, though AdvFS is a notable exception. The ext2 file system has an addon program called e2undel[1] which allows file undeletion. The similar ext3 file system does not officially support undeletion, but ext3grep was written to automate the undeletion of ext3 volumes.[1] Undelete was proposed in ext4, but was yet to be implemented.[2] However, trash bin feature was posted as a patch back in 2006-12-04.[3] The Trash bin feature uses undelete attributes in ext2/3/4 and reiser file systems.[4]

Graphical user environments often take a different approach to undeletion by introducing a "holding area" for files to be deleted. Undesired files are moved to this holding area, and all of the files in the holding area are periodically deleted. This approach is used by the Trash can in Macintosh operating systems and by the recycle bin in Microsoft Windows. This is a natural continuation of the approach taken by earlier systems, such as the limbo group used by CP/M.[5] This approach is not subject to the risk that other files being written to the filesystem will disrupt a deleted file very quickly; permanent deletion will happen on a predictable schedule or with manual intervention only.

Another approach is offered by programs such as Norton GoBack (formerly Roxio GoBack): a portion of the hard disk space is set aside for file modification operations to be recorded in such a way that they may later be undone. This process is usually much safer in aiding recovery of deleted files than the undeletion operation as described below.

Limitations

Undeletion is not fail-safe. In general, the sooner undeletion is attempted, the more likely it will be successful. Fragmentation of the deleted file may also reduce the probability of recovery, depending on the type of file system (see below). A fragmented file is scattered across different parts of the disk, instead of being in a contiguous area.

Mechanics

The workings of undeletion depend on the file system on which the deleted file was stored. Some file systems, such as HFS, can not provide an undeletion feature because no information about the deleted file is retained (except by additional software, which is not usually present). Some file systems, however, do not erase all traces of a deleted file, including the FAT file system:

FAT file system

When a file is deleted on a FAT file system, its directory entry remains stored on the disk, slightly renamed in a way that marks the entry in FAT table as available for use by newly created files thereafter. Most of its name, and its time stamp, file length and — most importantly — location on the disk, remain unchanged in the directory entry. The list of disk clusters occupied by the file will be erased from the File Allocation Table, however, marking those sectors available for use by other files created or modified thereafter.

When undeletion operation is attempted, the following conditions must be met for a successful recovery of the file:

  • The entry of the deleted file must still exist in the directory, meaning that it must not yet be overwritten by a new file (or folder) that has been created in the same directory. Whether this is the case can fairly easily be detected by checking whether the remaining name of the file to be undeleted is still present in the directory.
  • The sectors formerly used by the deleted file must not be overwritten yet by other files. This can fairly well be verified by checking that the sectors are not marked as used in the File Allocation Table. However, if, in the meantime, a new file had been written to, using those sectors, and then deleted again, freeing those sectors again, this cannot be detected automatically by the undeletion program. In this case an undeletion operation, even if appearing successful, might fail because the recovered file contains different data.
  • The file must not have been fragmented, meaning that the sectors its data occupied on the disk must have all been in one uninterrupted sequence. Whether this was the case may or may not be detectable by the undeletion program, depending on the arrangement of other files on the disk.

Chances of recovering deleted files is higher in FAT16 as compared to FAT32 drives; fragmentation of files is usually less in FAT16 due to large cluster size support (1024 Bytes, 2KB, 4KB, 8KB, 16KB, 32KB and 64KB which is supported only in Windows NT) as compared to FAT32 (4KB, 8KB, 16KB only).

If the undeletion program can not detect clear signs of the above requirements not being met, it will restore the directory entry as being in use and mark all consecutive sectors (clusters), beginning with the one as recorded in the old directory entry, as used in the File Allocation Table. It is then up to the user to open the recovered file and to verify that it contains the complete data of the formerly deleted file.

If the data of the recovered file is not correct, parts of the file may still be stored in other sectors of the disk. Recovery of those is not possible by automatic processes but only by manual examination of each (unused) block of the disk. This usually must be done by specialists that have very good knowledge of both the disk structure and the data being sought.

Norton UNERASE was an important component in Norton Utilities version 1.0 in 1981. Microsoft included a similar UNDELETE program in the final version of MS-DOS, but applied the Recycle Bin approach instead in later operating systems using FAT.

Prevention

There are several ways to prevent file undeletion. In UNIX environments with the GNU Core Utilities, the shred command will delete a file and then repeatedly overwrite the sectors to make recovery difficult for even very expensive hardware probing techniques. In Windows, defragmenting (on FAT file systems, at least) after deletion may overwrite the original position of the file, making recovery more difficult, but is not recommended for secure data deletion. "SDelete", "Eraser" add to the difficulty by overwriting files many times before deletion.

See also

References