GNU/Linux の LUKS 暗号化、btrfs フォーマットパーティションからテキストファイルを含む特定のフォルダを削除解除

GNU/Linux の LUKS 暗号化、btrfs フォーマットパーティションからテキストファイルを含む特定のフォルダを削除解除

GNU/LINUXパーティションがLUKS暗号化されフォーマットされたシステムでファイルでいっぱいのフォルダを「削除解除」する方法はbtrfs *

Debian Stable (currently Bullseye)マイコンピュータでは、すべてのデータがLUKS暗号化されたパーティションにあります(/boot.暗号化されたパーティションでLVMを使用して、実際のデータを含むbtrfsを**使用してフォーマットされたさまざまなボリュームを構成します)。

だから私のディスク設定は次のようになります。

lsblk -o path,type,fstype,mountpoint 
PATH                            TYPE  FSTYPE      MOUNTPOINT
/dev/sda                        disk              
/dev/sda1                       part  ext2        /boot
/dev/sda2                       part              
/dev/sda5                       part  crypto_LUKS 
/dev/sr0                        rom               
/dev/mapper/sda5_crypt          crypt LVM2_member 
/dev/mapper/vg-root             lvm   btrfs       /
/dev/mapper/vg-var              lvm   btrfs       /var
/dev/mapper/vg-swap             lvm   swap        [SWAP]
/dev/mapper/vg-tmp              lvm   btrfs       /tmp
/dev/mapper/vg-home             lvm   btrfs       /home

私のパーティションの1つから電子メール( - 形式を使用していたのでテキストファイル)でいっぱいのフォルダ()を***誤って削除しました。/home/USERNAME/mail/somefolderfullofimportantmessagesmaildir

失われたファイルを修復するためのいくつかのツールが見つかりましたが、すべてextX-filesystemsでのみ作業するなどの制限があります(例:extundelete)またはイメージまたはパーティション全体(例:foremost)または特定のファイル形式(例:testdiskそしてphotorec)。

私の場合、最も適切なツールはアプリですbtrfs restore-注文する **** かなり長い間使用方法に苦労した後regex(または使用btrfs-undelete- ツールここ)しかし、この方法では、フォルダパスから削除されていない一部のファイルのみを「再スキャン」でき、削除されたファイルは検索できません。

なぜこれが起こるのですか?LUKS暗号化のためですか?もしそうなら:何をすべきか/できますか?


*免責事項:バックアップがあり、そこからすべてを復元できましたが、このバックアップが存在しないことを証明します。はい、わかりますバックアップがなければ、自分の責任です

**はい、わかりました。使用できましたが、btrfs subvolumesシステムのインストールに使用した自動インストーラは、そのオプションを提供していませんでした。しかし、次のインストールではLVM

***isync/mbsync技術的には、私はリモートIMAPフォルダ(私の管理制御の範囲外)をローカルフォルダと同期させました。しかし、何らかの理由で(私が理解していない)ツールは私のローカルフォルダが空だと思ってリモートフォルダに「すべてのアイテムを削除する」コマンドを送信します。次回同期を実行すると、ツールはリモートIMAPフォルダが最新であると仮定したため、ローカルフォルダを削除しました。

****外部ブートドライブなしでこれを行うのは難しいです。に切り替えttyてアクセスするすべてのプロセスを終了してから(/homeを使用してlsof /home)削除し、/homesystemdまだアクセスして/home停止したくない一部のサービスをブロックした後)btrfs restore -Dv /dev/mapper/vg-home --path-regex '^/(|home(|/USERNAME(|/mail/(|/.*))))$' /tmpコマンドを実行できるように-D--dry-run削除した場合にのみ確認してください。誤ってシステムを爆破することはないでしょう。)

関連情報