ThisCalculator

Everyday

Ext3 File Recovery: How to Recover Deleted Files

Updated · Standard formula, shown below

Estimated overwrite risk 10 %
Time since deletion
24 hours
You entered
Filesystem size
100 GB
You entered

Ext3 File Recovery: How to Recover Deleted Files

Ext3 file recovery is possible in many cases, but it depends on how quickly you act and whether the deleted data has been overwritten. This guide explains how ext3 stores files, what happens when you delete one, and the practical steps you can take to recover your data using standard Linux tools.

How Ext3 Handles File Deletion

Ext3 is a journaling filesystem, meaning it keeps a log (the journal) of changes before they are written to disk. When you delete a file, the inode (the structure holding file metadata like size, permissions, and data block pointers) is marked as free, and the directory entry is removed. The actual file data blocks are not erased; they remain on disk until another file overwrites them. The journal can help in some cases, but it typically only records metadata changes, not the file content itself.

Why Quick Action Matters

Once a file is deleted, the blocks it used are added to the free list. The next time you write any new data to the filesystem, those blocks are prime candidates for reuse. The risk of overwriting grows with every hour and with the amount of write activity. For example, on a busy system, a large deleted file could be partially or fully overwritten within minutes. On an idle system, the data might remain intact for days or even weeks.

Recovery Tools for Ext3

Several open-source tools can attempt ext3 recovery. The most common are:

  • extundelete – Designed specifically for ext3/ext4, it uses the journal to find deleted inodes and attempts to restore the associated data blocks.
  • debugfs – A low-level filesystem debugger that can list deleted files and sometimes recover them manually.
  • photorec – Works by scanning raw disk blocks for known file signatures (like JPEG or PDF headers), ignoring the filesystem structure entirely. It works on any filesystem, including ext3.
  • ext3grep – An older tool that searches for file names and inodes; it is less maintained but still functional.

Step-by-Step Recovery Using extundelete

Before you start, unmount the filesystem or mount it read-only to prevent further writes. Then:

  1. Install extundelete (e.g., sudo apt install extundelete on Debian/Ubuntu).
  2. Identify the device: df -h to see mounted filesystems.
  3. Unmount the partition: sudo umount /dev/sdX1 (replace with your device).
  4. Run recovery to a different disk: sudo extundelete /dev/sdX1 --restore-all. This creates a directory RECOVERED_FILES in the current working directory.
  5. If you know the file name, use --restore-file path/to/file instead.

If the journal has been overwritten or the filesystem has been heavily used, extundelete may fail. In that case, photorec is the next option because it does not rely on the filesystem metadata.

Common Problems and Misconceptions

One common misconception is that the journal contains a copy of the file. In ext3, the journal typically stores only metadata (like inode changes), not file content, unless the filesystem is in data=journal mode (rare). Another issue is that extundelete cannot recover files if the inode has been reallocated to a new file. Also, files that were deleted a long time ago are far less likely to be recoverable because the free blocks have likely been reused.

Comparing Ext3 Recovery with Ext4 and Other Filesystems

Ext4, the successor to ext3, has a feature called extent mapping that makes recovery slightly different. Extundelete also supports ext4, but the recovery success rate may vary. Filesystems like NTFS or FAT have their own tools (e.g., TestDisk). The general principle is the same: stop using the drive immediately, and use a tool that scans for leftover data.

Prevention and Best Practices

The best way to avoid the pain of recovery is to prevent data loss in the first place:

  • Regular backups to an external drive or cloud service.
  • Use a filesystem with snapshots (like btrfs or ZFS) if you need frequent rollback.
  • When you delete a file, consider moving it to a trash folder instead of permanent deletion.
  • If you accidentally delete something, immediately unmount the partition or power off the system to freeze the state.

Frequently Asked Questions

Can I recover a file after I’ve already written new data to the disk?

It’s possible but less likely. The new data may have overwritten some or all of the deleted file’s blocks. The sooner you stop writing and attempt recovery, the better your chances.

Does the journal help with recovery?

In ext3, the journal mainly helps with metadata consistency, not file content. It can help extundelete find deleted inodes, but it does not store the file data itself unless the filesystem is mounted with data=journal.

What if extundelete says ‘No deleted inodes found’?

This means the inode has been reused or the journal has been overwritten. Try photorec, which scans raw data blocks and can often find files even when the filesystem structure is gone.

Can I recover a file from an ext3 partition that has been formatted?

Formatting creates a new filesystem and overwrites the superblock, but the old data blocks may still exist. Tools like photorec can sometimes recover files from a formatted partition, but success is not guaranteed and decreases with time.

Is it safe to install recovery tools on the same drive?

No. Installing software writes new data to the disk, which can overwrite the very files you want to recover. Use a live USB or a different drive for the recovery tool.

How long does a typical recovery take?

It depends on the drive size and the tool. A full photorec scan of a 1TB drive can take several hours. Extundelete is usually faster because it only looks at metadata, but it may miss files that photorec would find.

Related

Formula used
in t | Time since deletion | hours | 24 | 0
in s | Filesystem size | GB | 100 | 1
out risk | Estimated overwrite risk | % | min(100, (t / 24) * (100 / s) * 10) | 0

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.