Linux btrfsリストから存在しないファイルシステムを削除する方法は?

Linux btrfsリストから存在しないファイルシステムを削除する方法は?

btrfsを試してみてください。私は学習に大きな助けとなるいくつかの間違いを犯しました!

さまざまなデバイス(sdX、ループ、lvmなど)に複数のbtrfsファイルシステムが作成されています。このテスト中に、私は(突然)btrfsファイルシステムの一部またはすべてのデバイスを削除しました(最初にfsをアンマウントしました)。

ただし、コマンドはbtrfs show依然としてファイルシステムのUUIDとデバイスのリストを表示します。デバイスを削除する前にそうする必要があったことを知っていますbtfrs device del...

しかし、btrfsは処理するファイルシステムのリストをどこに保存しますか?どこかにconfファイルがありますか? btrfs-toolsの特殊コマンド?

包括的な答えを得るためにWikiとチュートリアルを読んでいません...死んだファイルシステムを修復してマウントすることができますmount -o recovery /dev/yourBTFSvolume /mount/point。ここの場合。

ここでは、データを回復するのではなく、btrfs管理をクリーンアップしたいと思います。

答え1

何が起こっているのかを調べてみました。このbtrfs filesystem showコマンドを使用してすべてのデバイスのすべてのファイルシステムを検索すると、デバイスまたは/proc/partitionsパーティションの先頭でオフセット0x10040にBTRFS "Magic Number"があることを確認するために、各デバイスと各パーティションを調べます。ルートデータ構造。

その後、私の場合はエラーが表示されたディスクでhexeditを使用しましたが、確かに_BHRfS_M以前の実験からのBTRFSマジックナンバー(ASCII文字列など)がありました。

文字列の数文字を「**」(16進編集も使用)で上書きするだけでマジックナンバーを見つけ、誤ったアイテムが魔法のように消えました!

関連情報