rmを使用して削除されたファイルを回復する(LUKS暗号化ディスクでも可能)

rmを使用して削除されたファイルを回復する(LUKS暗号化ディスクでも可能)

質問

/home/username誤って私から複数のファイルを削除しましたrm。エンターキーを押すとすぐに間違いを悟ったが、被害が発生した。すぐにディスクイメージ全体を作成してsudo dd if=/dev/sda of=/media/username/external_drive/image.iso別のコンピュータにコピーし、データ復旧のための長い道のりを準備しました。それからどこから始めるべきかわからなかったことに気づきました。

私がしたこと

私はオンラインでいくつかのガイドを読んで、ついにextundelete /dev/partition_to_recover_from --restore-directory /path/to/restoreこれが最も有望な解決策であることを知っていたので、試してみました。

私が直面した最初の問題は、LUKSを使用して(OSのインストール中に)ドライブを暗号化して復号化する必要があることでした。もう少し調べた後、次のコマンドを使用してパーティションを準備しました(ここでは実際のボリュームグループ名を実際の値から変更しました<my_pc_name>-vgpc-vg

$ sudo kpartx -a -v image.iso # map the disk image partitions
add map loop0p1 (254:0): 0 997376 linear 7:0 2048
add map loop0p2 (254:1): 0 2 linear 7:0 1001470
add map loop0p5 (254:2): 0 975769600 linear 7:0 1001472

$ sudo cryptsetup luksOpen /dev/mapper/loop0p5 img # unlock the partition with my data
Enter passhprase for /dev/mapper/loop0p5:

$ lsblk
NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0                   7:0    0 465,8G  0 loop
├─loop0p1             254:0    0   487M  0 part
├─loop0p2             254:1    0     1K  0 part
└─loop0p5             254:2    0 465,3G  0 part
  └─img               254:3    0 465,3G  0 crypt
    ├─pc--vg-root   254:4    0 464,3G  0 lvm
    └─pc--vg-swap_1 254:5    0   980M  0 lvm

[...omitting other lsblk output...]

$ sudo vgchange -a y pc-vg
  2 logical volume(s) in volume group "pc-vg" now active

その後、復元してみてください

$ sudo extundelete /dev/mapper/pc--vg-root --restore-directory /home/username/path/to/restore
NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates 
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible.  You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n)

ところで、パーティションがマウントされていないため、dfこれを確認しました。また、sudo fsck -N疑い/dev/sdaXがあるので、システムを再起動し、上記の手順を繰り返しました。私は同じ出力を受け取り、元のディスクイメージのコピーを扱っていることを考慮して(データの損失に備えてバックアップを持っていました)、今回はと答えましたy。結果:

$ sudo extundelete /dev/mapper/pc--vg-root --restore-directory /home/username/path/to/restore
NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates 
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible.  You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n) 
y
Loading filesystem metadata ... extundelete: Extended attribute has an invalid value length when trying to examine filesystem

他の調査もしてみましたが、これが何を意味するのかわかりません。

質問

しないように頑張ります。XYの問題

私のデータを回復しようとしたときに正しいことをしていますか?それでは、extundelete苦情は何であり、どのように解決されますか?そうでなければ、どのようにDebianのLUKS暗号化ディスクからデータを回復できますか?

追加情報が必要な場合はお問い合わせください。

添付:«最近のバックアップから復元確かにはい»が正解です。私も知っています=)。

データ損失が発生する数日前に、家全体をバックアップしました。そんなa n00b)、しかし20時間以上働いたことを失い、また取り戻したかったです。


修正する

fsckパーティションでデータを実行してみましたが、結果は次のとおりです。

$ sudo fsck -r /dev/mapper/pc--vg-root
fsck from util-linux 2.36.1
e2fsck 1.46.2 (28-Feb-2021)
/dev/mapper/pc--vg-root: recovering journal
Clearing orphaned inode 7077927 (uid=1000, gid=1000, mode=0100600, size=0)
Clearing orphaned inode 7077925 (uid=1000, gid=1000, mode=0100600, size=65536)
Clearing orphaned inode 19794062 (uid=1000, gid=1000, mode=040775, size=4096)
Clearing orphaned inode 18366502 (uid=1000, gid=1000, mode=040755, size=4096)
Clearing orphaned inode 18366515 (uid=1000, gid=1000, mode=040755, size=4096)
Clearing orphaned inode 18366503 (uid=1000, gid=1000, mode=040755, size=4096)
Clearing orphaned inode 18366504 (uid=1000, gid=1000, mode=040755, size=4096)
Clearing orphaned inode 18366511 (uid=1000, gid=1000, mode=040755, size=4096)
Clearing orphaned inode 18366512 (uid=1000, gid=1000, mode=040755, size=4096)
Clearing orphaned inode 18351755 (uid=1000, gid=1000, mode=0100444, size=15383322)
Clearing orphaned inode 18351757 (uid=1000, gid=1000, mode=0100444, size=12832)
Clearing orphaned inode 18366521 (uid=1000, gid=1000, mode=040755, size=4096)
Clearing orphaned inode 7078039 (uid=1000, gid=1000, mode=0100600, size=0)
Clearing orphaned inode 7077945 (uid=1000, gid=1000, mode=0100600, size=65536)
Clearing orphaned inode 11927591 (uid=0, gid=0, mode=0100644, size=147932)
Clearing orphaned inode 18096551 (uid=0, gid=0, mode=0100644, size=2456)
Clearing orphaned inode 11535970 (uid=0, gid=0, mode=0100644, size=335240)
Setting free inodes count to 29879660 (was 29737485)
Setting free blocks count to 41417686 (was 20072881)
/dev/mapper/pc--vg-root: clean, 553620/30433280 files, 80298026/121715712 blocks
/dev/mapper/pc--vg-root: status 0, rss 6876, real 38.344677, user 0.482391, sys 0.290328

ファイルシステムがどのように機能するのかは分かりませんが、ここ数時間読んだことによれば、fsckが回復したいデータを削除したばかりです。今はextundelete星の不満なしによく戻っているが

$ sudo extundelete /dev/mapper/pc--vg-root --restore-directory /home/username/path/to/restore
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 3715 groups loaded.
Loading journal descriptors ... 0 descriptors loaded.
Searching for recoverable inodes in directory /home/username/path/to/restore...
0 recoverable inodes found.
Looking through the directory structure for deleted files ... 
0 recoverable inodes still lost.
No files were undeleted.

上書きされたデータを回復できないことはわかっていますが、誤って100 GB以上を削除し、ディスクイメージを作成する前にすべてを上書きするようには見えませんdd...

ベストアンサー1

また、sudoはfsck -N/dev/sdaXでのみ動作したいと思います。

これは言葉ではありません。e2fsckすべてのブロックデバイス、さらには画像ファイルでも動作します。

画像に元に戻せない書き込みを行わないでください。スワップボリュームを削除し、VGの空き容量を活用してpc--vg-rootスナップショット()を作成することをお勧めしますlvcreate --snapshot ...。その後、e2fsck実際のデータではなくスナップショットに対して実行できます。問題が発生した場合は、スナップショットを破棄して再開できます。

私は慣れていませんextundelete。クイック検索ではサポートする必要があるとマークされていますが、ext4メッセージはWARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.サポートされていないか気に入らないかのように聞こえますext4。これはとても古いバージョンですかextundelete

したがって、最初に実行してe2fsckメッセージExtended attribute has an invalid value lengthがまだ存在する場合は、最新バージョンを入手してくださいextundelete

この質問全体は LUKS と暗号化とは全く関係がないので、質問のタイトルを変更することをお勧めします。

おすすめ記事