Answers:
如果您不能运行fsck
,则可以使用以下命令重新创建lost+found
目录mklost+found
:
mklost + found将磁盘块预先分配到lost + found目录,以便在运行e2fsck(8)来恢复文件系统时,它不需要在文件系统中分配块来存储大量未链接的文件。这样可以确保e2fsck在恢复过程中不必在文件系统中分配数据块。
预先存在的lost + found目录的大小足够大,可以包含大量未链接的文件,这对e2fsck减轻了创建目录并将其增长到适当大小的负担。
它仍然会尝试这样做,但是面对损坏的文件系统,这样做可能会更具风险。
用于其他平台上的其他文件系统的非常老的fsck无法创建/ lost + found,也无法对其进行扩展。这是/ lost + found理由的历史。但是当前的理由仅仅是为了简化e2fsck的工作。
如果您没有lost+found
,e2fsck
(我尚未检查其他fsck
实现的代码)将为您创建它。但是,您也可以根据需要自己重新创建它。该目录没有什么特别之处(至少不是检查代码)。
lost+found
是一个特殊目录。它具有预先分配的磁盘块,因此恢复工具无需在恢复过程中分配块。mklost+found
之所以存在这样的工具,是因为mkdir
无法正确创建它。见linux.die.net/man/8/mklost+found
您可以仅使用mkdir创建该目录。它应该由root拥有,并具有root或wheel组。除此之外,没有什么特别的。如果系统启动时出现电源故障或不正确的关机,则应自动启动fsck。fsck将遍历系统,并尝试恢复找到的任何损坏的文件。它遇到的任何可能损坏的文件都将移到那里。
另一种情况是文件被移动,如果fsck查找到其父inode丢失的文件。如果在存储文件夹inode的特定位置的磁盘上某个块损坏,通常就是这种情况。它将其父节点重新分配为lost + found文件夹。
编辑:我不确定后一种情况是否会重新创建目录。为了安全起见,我将不理会它。我想不出任何理由删除它。没有它,什么都不会发生。
mkdir
吗?
另外,在Debian 6和Ubuntu 12 LTS上,cron
附带的软件包/etc/cron.daily/standard
会注意到lost+found
本地文件系统上缺少目录,并通过电子邮件每天发送有关此文件的提醒,建议使用mklost+found
。
但是,由于已过时,因此分别在Debian 7和Ubuntu 14 LTS时已删除。
fsck
没有e2fsck
在那里重新创建这对我来说,不管该目录是安装与否。cd <root-dir-of-the-mount> && mklost+found
做到了。