当你创建某些 Linux 文件系统(如 ext3)时,会创建一个“lost+found”目录。根据这如果文件由于某种系统崩溃而损坏,文件将被放置在那里。
如果删除此目录,系统崩溃,会发生什么情况?如果删除该文件夹,我是否可以用以下命令创建一个新目录mkdir 丢失+找到或者是否存在只能在创建文件系统时设置的属性。
答案1
如果丢失,fsck 将重新创建 lost+found 目录。
在启动时,如果检测到文件系统未完全卸载,大多数发行版都会运行 fsck。如果丢失了 lost+found 目录,fsck 会创建该目录,然后它会创建该目录并将其找到的所有内容放入该目录中。
答案2
如果你不能或不想运行fsck
,你可以lost+found
使用以下命令重新创建目录mklost+found
:
mklost+found 会预先将磁盘块分配给 lost+found 目录,这样当运行 e2fsck(8) 来恢复文件系统时,它不需要在文件系统中分配块来存储大量未链接的文件。这确保了 e2fsck 在恢复期间不必在文件系统中分配数据块。
答案3
预先存在的 lost+found 目录具有足够大的大小来包含大量未链接的文件,这减轻了 e2fsck 创建目录并将其扩展到适当大小的负担。
它仍会尝试这样做,但面对损坏的文件系统,这样做的风险会更大。
其他平台上其他文件系统的非常旧的 fsck 无法创建 /lost+found,也无法扩大它。这是 /lost+found 的原理的历史。但当前原理只是让 e2fsck 的工作更轻松。
答案4
e2fsck 将重新创建 lost+found,并且还将销毁任何可能以相同名称存在的文件,以确保它可以将其创建为目录。
请注意,许多较旧的 Unix 文件系统要求 lost+found 专门附加到 inode 编号 2,因此如果目录丢失,大多数情况下需要重新创建文件系统。e2fsck 只是搜索任何可用的 inode,显然并不特别需要 inode 2,这使得恢复比以前简单得多。