TL; DR:外付けハードドライブをext4ファイルシステムでフォーマットし、fsckを使用して修復し、その上に何千もの_lost+found
_ディレクトリがあります不要なファイル。 _lost+found
_は削除できないことはわかっていますが、これらの不要なファイルを削除して、再起動時にfsckがこれらの同じファイルを再作成しないようにするにはどうすればよいですか?
次の関連リンクをすでに読みました。
しかし、私の問題の解決策を見つけることができませんでした。
新しいドライブを購入してそこに数GBのデータをロードしましたが、最初からやり直したいので、_$ rm -rf ./*
_を使用してドライブ上のすべてのファイルを削除しました。次に、このドライブがFATドライブとしてフォーマットされていることに気付き、ext4パーティションのみが必要なため、partedを使用してドライブをフォーマットしました(_/dev/sda
_):
_$ Sudo parted /dev/sda
(parted) p
<some output indicating 2 partitions on the drive>
(parted) rm 1
(parted) rm 2
(parted) p
<I verify that there are no more partitions>
(parted) mklabel gpt
<parted tells me that there's an existing filesystem that will be overwritten and I confirm>
(parted) mkpart primary ext4 0% 100%
<confirmation stuff as well>
(parted) p
<verify that all is as it should be... or so I thought>
(parted) q
_
終了してデバイスをマウントしようとした後、新しいパーティションをマウントできませんでした。ファイルシステムをチェックしたところ、パーティションが破損していることがわかり、_$ Sudo fsck -y /dev/sda1
_を試しました(sda1は、ドライブ上の新しい唯一のパーティションで、ext4としてフォーマットされています)。これを実行してパーティションをext2としてフォーマットしたので、戻ってpartedを使用して再フォーマットの手順を繰り返し、_$ Sudo fsck -yt ext4 /dev/sda1
_を試しましたが、十分に機能するようでした。
これでファイルシステムをマウントでき、ext4のままでした。ただし、_lost+found
_ディレクトリがあり、その中に数千のファイルがドライブに置かれています。これはroot:rootが所有しており、_$ Sudo rm -rf lost+found
_を使用しても削除できません。削除しようとするすべてのファイルに対して_rm: cannot remove '#<name of file>': Operation not permitted
_を吐き出し続けます。 chmodもchownも、このlost + foundディレクトリ内にあるファイルの削除には役立ちません。
次に_$ Sudo su
_を試してみたので、_# cd lost+found
_を使用して_# lsattr
_でファイルの属性を確認できましたが、ルートとしても_lsattr: Operation not supported While reading flags on ./#<name of the file>
_を取得しています。
システム上のファイルは必要ありません。私はローカルマシンとホストの間でrsyncをいじっていましたが、それらはすべて削除したファイルです。私はそれらのどれも必要ないことを知っています(ローカルマシンに存在するすべてのファイルに加えて他のバックアップがあります)ので、このくっきりした_lost+found
_ディレクトリを削除したいだけですが、かなり頑固です。
それで、それがすべて言ったので:
私は何をすべきか?私の次のステップは何ですか?これを理解するのに役立つ可能性のある、プログラム出力から提供する必要がある情報は他にありますか?
ドライブをもう一度フォーマットする方が簡単でしょうか?私はすでに2回試しましたが、毎回_$ fsck -t ext4 /dev/sda1
_がないとマウントされません(ここにも_-y
_フラグを含めます)。何百万もの確認が必要なため、 )そして私はここでもう一度終わります。 _lost+found
_オプションを渡したので、これらの_-y
_ファイルはfsckプログラムによって生成されていることがわかります。「ドライブ上に既存のデータがあり、回復できるので、fsck
はこれらのファイルを_lost+found
_に移動する必要がありますか? "そして、自動的に肯定が渡されるため、ディレクトリが作成され、これらの何千ものファイルが入力されます。このパーティションをプライマリパーティションとして指定したからですか?代わりに拡張する必要がありますか(データファイルのみを保持)?
何か助けていただければ幸いです!ファイルはハードドライブのスペースをあまり消費しませんが(〜1%)、rootでもこれらのファイルを削除できない理由と、私が何をしているかがひどく間違っていることを理解したいので、これを理解するのに役立ちます毎回ここで終わるドライブをフォーマットします。
編集:
_$ Sudo su
_を介してrootとしてログインした後、_lost+found
_内のファイルを表示し、_lost+found
_ディレクトリ自体をテストして、ディレクトリをロックしていたプロセスと、ディレクトリも使用しているかどうかを確認します。
_$ Sudo su
# lsof lost+found
<no output>
# fuser lost+found
<no output>
# lsof lost+found/#51817
<no output>
# fuser lost+found/#51817
<no output>
_
他のプロセスがこれらのファイルをロックしているようには見えません。 _# lsattr
_で調べると、i
フラグの付いたファイルがいくつかありますが、このフラグのないファイルは他にもたくさんあります。
さらに、@ PabloBianchiがコメントで指摘したように、ext *形式のファイルシステムには常に_lost+found
_ディレクトリがあるため、タイトルを変更することで質問を明確にしました:上記のディレクトリを削除する代わりに、どうすればクリアできるでしょうか。回復する必要がないことがわかっているファイルは、ドライブのスペースを無駄にしないのですか?
タイプext4のパーティションを作成しても、ext4ファイルシステムはパーティションに配置されません。あなたが手に入れたものは、おそらく以前のファイルシステムから残ったもの/ジャンクでした。パーティションを作成したら、次のコマンドでファイルシステムを配置します。
Sudo mkfs.ext4 /dev/sda1
これは、空のlost + foundディレクトリのみが存在する空のファイルシステムである必要があります。