如果我删除了lost + found,会发生什么情况

当你创build一些像ext3这样的Linux文件系统时,会创build一个“lost + found”目录。 根据这个文件将被放置在那里,如果文件被某种系统崩溃损坏。

如果删除该目录,系统将会崩溃。 如果该文件夹被删除,我可以创build一个新的目录,其中mkdir lost + found,或者只有在文件系统创build时才能设置属性。

fsck会重新创buildlost + found目录,如果它丢失的话。

在启动时,如果检测到文件系统没有完全卸载,大多数分发运行fsck。 当fsck创buildlost + found目录时,它会创build它,然后将它find的任何东西放到该目录中。

如果你不能或不想运行fsck ,你可以用mklost+found重新创buildlost+found目录:

mklost +发现预先将磁盘块分配给lost + found目录,以便在运行e2fsck(8)来恢复文件系统时,不需要在文件系统中分配块来存储大量未链接的文件。 这确保了e2fsck在恢复期间不必在文件系统中分配数据块。

预先存在的lost + found目录具有足够大的尺寸以包含大量未链接的文件,这样e2fsck创build目录并将其增长到适当的大小的负担较轻。

它仍然会试图这样做,但面对一个腐败的文件系统,它可能会更危险。

其他平台上的其他文件系统的fsck非常旧,无法创build/丢失+find,也不能增长。 这是/ lost + found理论的历史。 但目前的基本原理是简单地使e2fsck的工作。

如果你没有lost+founde2fsck (我没有检查过其他fsck实现的代码)会提供给你。 但是,如果你想要,你也可以自己重新创build。 那个目录没有什么特别的特殊之处(至less不是检查代码)。

e2fsck会重新创buildlost + found,并且还会销毁任何可能以相同名称阻止的文件,以确保它可以将其创build为目录。

请注意,许多较旧的Unix文件系统要求丢失+发现专门连接到inode 2,因此在大多数情况下,如果目录丢失,需要重新创build文件系统。 e2fsck只是search任何空闲的inode,显然不是特别需要inode 2,这使得恢复比过去更简单。

您可以使用mkdir创build该目录。 它应该由root拥有,一组根或轮子。 除此之外,没有什么特别的。 如果系统启动时发生电源故障或不正常关机,应自动启动fsck。 fsck将通过系统并尝试恢复它find的任何损坏的文件。 它遇到的任何可能被损坏的文件将被移到那里。

如果fsck发现其父节点丢失的文件,则另一种情况是要在其中移动文件。 如果在存储文件夹的inode的特定位置的磁盘上损坏块,通常情况就是这样。 它将重新分配他们的父节点inode是丢失+find的文件夹。

编辑:我不确定后者的情况下是否会重新创build目录。 我会保持安全的一面。 我想不出任何理由删除它。 没有它会发生什么坏事。

另外,在Debian 6和Ubuntu 12 LTS上, cron包装发布了/etc/cron.daily/standard ,它注意到在本地文件系统上lost+found目录,并通过电子邮件发送有关它的每日提醒,build议使用mklost+found

但是,在Debian 7和Ubuntu 14 LTS的时代已经被删除了,因为它已经过时了。