我不知道这个mklost+found
命令,直到我阅读这个问题。
该mklost+found
命令将在 pwd 中创建一个新的lost+found目录。
为什么需要运行这个命令?在我检查过的每个发行版的 / 中都已经存在lost+found 目录。
如果您有多个失物招领目录会发生什么?恢复的数据片段会转到 / 中的lost+found目录,还是会转到最近创建的lost+found目录?
我不确定如何故意创建一个数据片段来测试这一点。
答案1
为什么需要运行这个命令?
如果该lost+found
目录不存在。由于它只是一个普通目录,因此root
用户可以使用 删除它rm -r
。某些版本的fsck
,当需要使用lost+found
目录时,如果目录不存在,则会创建该目录,而某些版本则不会。如果没有lost+found
目录,fsck
则无法恢复孤立文件,即没有任何引用它们的目录条目的文件。
Linux 版本mklost+found
具有以下功能(来自mklost+found 手册页):
mklost+found
将磁盘块预先分配给lost+found目录,这样当运行e2fsck(8)来恢复文件系统时,就不需要在文件系统中分配块来存储大量未链接的文件。这确保了 e2fsck 在恢复期间不必在文件系统中分配数据块。
这意味着,如果您必须使用 来从损坏的文件系统中恢复文件fsck
,那么在恢复过程中丢失的文件会更少,因为fsck
不需要从文件系统中分配块;这些块可能包含有效的文件数据。
如果您有多个失物招领目录会发生什么?
对于给定的文件系统,fsck
将仅使用一个lost+found
目录:位于文件系统根目录的目录。任何其他lost+found
目录都不会被特殊对待。
答案2
Q1.为什么需要运行这个命令?在我检查过的每个发行版的 / 中都已经存在lost+found 目录。
需要创建一些东西lost+found
,这个命令似乎可以做到这一点。您安装的每种介质都需要维护自己的lost+found
.
手册页摘录
mklost+found 用于在 Linux 第二扩展文件系统的当前工作目录中创建一个lost+found 目录。每个文件系统的根目录中通常有一个lost+found目录。
制作目录有什么大不了的lost+found
?
mklost+found 预先将磁盘块分配给lost+found 目录,这样当运行e2fsck(8) 来恢复文件系统时,就不需要在文件系统中分配块来存储大量未链接的文件。这确保了 e2fsck 在恢复期间不必在文件系统中分配数据块。
Q2。如果您有多个失物招领目录会发生什么?恢复的数据片段会转到 / 中的lost+found目录,还是会转到最近创建的lost+found目录?
我希望最后一个将是e2fsck
如果需要将数据块移动到lost+found
.
答案3
“lost+found 目录已经存在于/
我检查过的每个发行版中。”
但这不是重点。每个“真正的”文件系统(映射到某种块存储,而不是像 /proc 和 swap 这样的伪文件系统)都需要一个丢失+找到的孤儿院。例如,如果 /home 有一个单独的文件系统,那么应该有/home/lost+found
.这是因为fsck
不会将文件移动到/lost+found
根文件系统上;它会将找到的文件留在原来的位置,但会在孤儿院中创建一个目录条目,以便人们可以介入以安排适当的收养。知道/home/lost+found
其中存在某些内容/var/lost+found
可以使手动干预变得更加容易。
答案4
根据基本系统管理
磁盘错误或系统关闭不当可能会导致文件丢失:丢失的文件是指在磁盘数据结构中标记为正在使用但未在任何目录中列出的磁盘位置(例如,非空的 in ode 未在任何目录中列出)。系统启动时,它会运行一个名为 fsck 的程序,该程序除其他功能外,还会查找这些文件。每个磁盘分区上都有一个 lost+found 目录;/lost+found 是根磁盘上的目录。
最有可能的实用程序(例如 fsck Look)将文件片段放入相应分区根目录内的lost+found 目录中。其他丢失+找到的目录应被忽略。