lost + foundを削除するとどうなりますか


38

ext3などのLinuxファイルシステムを作成すると、「lost + found」ディレクトリが作成されます。ある種のシステムクラッシュによりファイルが破損した場合、このファイルはそこに配置されます。

このディレクトリが削除され、システムがクラッシュするとどうなりますか。フォルダが削除された場合、mkdir lost + foundを使用して新しいディレクトリを作成できますか、またはファイルシステムの作成時にのみ設定できる属性があります。

回答:


35

fsckは、lost + foundディレクトリが存在しない場合は再作成します。

起動時に、ファイルシステムが正常にアンマウントされていないことが検出された場合、ほとんどのディストリビューションはfsckを実行します。fsckは、lost + foundディレクトリが存在しない場合は作成するため、それを作成し、見つかったものはすべてそのディレクトリに配置します。


15

実行できない、または実行したくない場合はfsck、次のコマンドでlost+foundディレクトリを再作成できますmklost+found

mklost + foundは、ディスクブロックをlost + foundディレクトリに事前に割り当てます。これにより、ファイルシステムを回復するためにe2fsck(8)を実行するときに、リンクされていない多数のファイルを保存するためにファイルシステムにブロックを割り当てる必要がなくなります。これにより、リカバリ中にe2fsckがファイルシステムにデータブロックを割り当てる必要がなくなります。


RHEL 6.4でも、ディレクトリがマウントされているかどうかに関係なく、これを再作成する場所でfscke2fsckありません。cd <root-dir-of-the-mount> && mklost+foundそれをやった。
ルイスアントリンカノ14

7

多数のリンクされていないファイルを格納するのに十分なサイズの既存のlost + foundディレクトリは、ディレクトリを作成して適切なサイズに拡張するe2fsckの負担を軽減します。

引き続き試行されますが、ファイルシステムが破損している場合は、よりリスクが高くなります。

他のプラットフォーム上の他のファイルシステム用の非常に古いfsckは、/ lost + foundを作成することも、成長させることもできませんでした。これが/ lost + foundの理論的根拠の歴史です。しかし、現在の理論的根拠は、e2fsckの仕事を簡単にすることです。


4
彼らはlost + foundを作成できなかったわけではありません-既に台無しになっているファイルシステム上にファイル/ディレクトリを作成するのは悪い考えです。代わりに、クリーンアップしようとしているときに、ねじ込まれたファイルシステムで見つけたむちゃくちゃなiノードのディレクトリエントリを格納するのに十分な大きさのディレクトリを事前に構築します。
クリス

5

あなたが持っていない場合lost+founde2fsck(私は他のfsck実装へのコードを検査していません)あなたのためにそれを作成することを提案します。ただし、必要に応じて自分で作成することもできます。そのディレクトリについて特に特別なことは何もありません(少なくともコードの検査からは)。


2
fsckは、必要に応じてlost + foundを再作成する必要がありますか?
デビッドシュミット

2
おかげで、e2fsckのコードを確認しましたが、実際にコードを再作成することを提案しています。(ただし、これは成功することを保証されていません---これが、事前に作成されたlost + foundも有用である理由です)。
クリスジェスターヤング

6
@ ChrisJester-Young-あなたの答えは間違っています。lost+found特別なディレクトリです。回復ツールが回復中にブロックを割り当てる必要がないように、ディスクブロックが事前に割り当てられています。適切に作成しないため、mklost+found特に存在するようなツールmkdir。参照してくださいlinux.die.net/man/8/mklost+found
aggregate116​​6877

2

e2fsckはlost + foundを再作成し、同じ名前の邪魔になる可能性があるファイルをすべて破棄して、ディレクトリとして作成できるようにします。

多くの古いUnixファイルシステムでは、特にinode番号2にlost + foundをアタッチする必要があるため、ほとんどの場合、ディレクトリが失われた場合はファイルシステムを再作成する必要があります。e2fsckは、特にiノード2を特に必要としない明らかにiノード2を検索します。これにより、リカバリは昔よりもはるかに簡単になります。


1

mkdirを使用するだけでそのディレクトリを作成できます。ルートまたはホイールのいずれかのグループで、ルートが所有する必要があります。それ以外は特に特別なことは何もありません。システムの起動時に電源障害または不適切なシャットダウンが発生した場合、自動的にfsckを起動する必要があります。fsckはシステムを通過し、見つかった破損ファイルを回復しようとします。破損している可能性のあるファイルは、そこに移動されます。

そこにファイルを移動するもう1つのケースは、fsckが親iノードが欠落しているファイルを見つけた場合です。これは通常、フォルダーのiノードが保存されている特定の場所のディスクでブロックが破損した場合に発生します。親iノードをlost + foundフォルダーに再割り当てします。

編集:後者の場合にディレクトリが再作成されるかどうかはわかりません。安全のためにそのままにしておきます。削除する理由は考えられません。しかし、それなしでは何も悪いことは起こりません。


1
作成しても大丈夫mkdirですか?

はい、そうです。スペースの割り当ては、ディレクトリのiノードやパスにさえ関連付けられていません。予約されたスペースの割り当ては、ルート/カーネル特権とfsckが認識しているアクセスのための特別な呼び出しを必要とするメモリ上のフラグではなく、破損または破損した可能性のあるファイルをそのメモリにコピーし、新しいメモリを指すiノードを持つファイル。ファイル操作はこれらのファイルに対して正常に動作しますが、移動や保存などの変更は、予約メモリからデータを引き出します。
-TrueDuality

1

さらに、Debian 6およびUbuntu 12 LTSでは、ローカルファイルシステム上のディレクトリが欠落していることに気づくcronパッケージが出荷され、/etc/cron.daily/standardそれlost+foundについての毎日のリマインダーを電子メールで送信しますmklost+found

ただし、これは廃止されていたため、Debian 7およびUbuntu 14 LTSの時点でそれぞれ削除されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.