Skip to content
Go back

the lost+found Directory in Linux

· Updated:
By KingPin 6 min read
the lost+found Directory in Linux

In the world of Linux, every file system has its quirks and features, one of which is the lost+found directory. This directory is not just another folder but plays a key role in maintaining the integrity of the file system. Here’s the purpose of the lost+found directory, its uses, and some practical tips and tricks.

What is the lost+found Directory?

The lost+found directory is a special folder that you will find at the root of file systems in Linux. It is automatically created by the formatting tool (mke2fs) when a new file system is created, and it is later used by the file system check tool (fsck) during system recovery processes.

Purpose of the lost+found Directory

The primary purpose of the lost+found directory is to hold orphaned files and directories. These are files and directories that exist on the disk but are no longer linked to a valid directory entry due to issues like system crashes or power failures. When the file system is checked for consistency, fsck will attempt to repair file system integrity and will place any orphaned files it finds into the lost+found directory.

How Does It Work?

When fsck is run, either manually or automatically at boot time after an improper shutdown, it scans the file system for any inconsistencies. If it finds files or directories that are not linked properly, it will move them to the lost+found directory. Each file or directory moved there is renamed with its inode number, which is a unique identifier for each file and directory on the file system.

Tips and Tricks for Using lost+found

The lost+found directory is a fundamental aspect of file system management in Linux, providing a safety net for orphaned files. Understanding its role and how to manage it can help in maintaining system integrity and recovering from file system errors more effectively. By following the tips provided, Linux administrators can ensure that they are prepared to handle situations where lost+found comes into play.

Actually Recovering Those Inode-Named Files

Here’s where most guides stop and where most sysadmins panic at 2 AM. You’ve got a lost+found full of files named #12345 and #67890 and absolutely no idea what they are. File type is your first clue:

Terminal window
# Figure out what you're dealing with before you delete anything
sudo file /mnt/recovery/lost+found/*
# Output looks like:
# #12345: ASCII text
# #67890: JPEG image data, JFIF standard
# #11223: ELF 64-bit LSB executable

Text files are easy, just less them. Binaries and images are trickier. For text configs, grep for hostnames, usernames, or known strings from the app that was running when things went sideways.

If the file was a database or log, strings is your friend:

Terminal window
sudo strings /mnt/recovery/lost+found/#12345 | head -50

The Gotchas Nobody Mentions

You can’t fsck a mounted filesystem. This one bites people constantly. You need to either boot from a live USB, use a rescue image, or, if it’s a non-root partition, unmount it first. Running fsck on a live mounted volume is how you turn a small problem into a very large one.

lost+found is an ext2/ext3/ext4 convention, mostly. Btrfs and ZFS have no lost+found. They handle corruption differently: btrfs has btrfs check, and ZFS just laughs at the concept of data loss (until you forget to set up a pool correctly). XFS is the odd one out: xfs_repair creates a lost+found at the filesystem root if it needs one and reconnects orphaned inodes there, named by inode number, just like ext4.

The directory size is pre-allocated on purpose. When you format an ext4 volume, mke2fs pre-allocates blocks for lost+found so fsck always has space to drop files there, even when the disk is full. That’s why it shows as non-zero size even when empty. Don’t try to shrink it.

Containers are a trap here. If you’re running Docker on ext4 and the daemon crashes hard, you might find container layer fragments in the host’s lost+found. They’re usually not recoverable in any useful way, just dead weight. Check with docker system df first to confirm you’re not about to delete something Docker still thinks it owns.

Common Questions

What is the lost+found directory in Linux?

The lost+found directory is a special folder at the root of an ext file system that holds orphaned files and directories. The mke2fs tool creates it at format time. After a crash or power failure, fsck moves unlinked files there and renames each one with its inode number.

Can I delete the lost+found directory?

No, leave the lost+found directory itself in place. The mke2fs tool pre-allocates its blocks so fsck always has room to drop files there, even when the disk is full. You can delete the files inside after careful inspection, but do not try to shrink the directory.

Do Btrfs, ZFS, and XFS have a lost+found directory?

Btrfs and ZFS have no lost+found directory, and Btrfs uses btrfs check for corruption instead. XFS does create one: xfs_repair makes a lost+found at the filesystem root when needed and reconnects orphaned inodes there, named by inode number, just like ext4.

How do I identify files in lost+found named by inode number?

Run file on the entries in lost+found to see their types, since fsck names them by inode number, such as #12345. Open text files with less, grep configs for hostnames or known strings, and run strings on database or log files to find clues.


Share this post on:

Send a Webmention

Written about this post on your own site? Send a webmention and it'll show up above once verified.


Previous Post
Differences Between nohup, disown, and & in Linux
Next Post
Understanding printf vs echo in Bash

Discussion

Powered by Garrul . Sign in with GitHub or Google, or post anonymously.

Related Posts