誤って削除してしまったファイル。上書きで消してしまったファイル。しかし、まだ救い出せるかも知れません。ext4magic を利用した救出方法をメモ。
ext4magicの使い方
用意するもの
- Linux のLiveUSB
ext4magicで操作できるのはアンマウント状態のファイルシステムです。外部から操作する必要があるのでLiveUSBを挿してコマンド操作します。
コマンド
Documentsディレクトリにあったtest.txtを復元すると仮定します。
$ sudo apt install ext4magic -y
$ sudo fdisk -l
$ sudo ext4magic /dev/○○○ -l | grep test.txt
$ sudo ext4magic /dev/○○○ -r -f 'home/Documents/test.txt' -d '[TARGET DIR NAME]'
かんたんな説明
ext4magic が大抵入ってないのでインストール。(1行目)
fdisk -l でファイルシステムをリストアップ。対象ファイルのあるデバイス名を確認します。(2行目)
ext4magic [DEVICE NAME] -l で割り当てられていないファイル名をリスト化し、grep で一致したファイルを表示します。-L オプションにすると全てのindex nodeファイルを対象にリストアップする。(3行目)
ここで復元したいファイル名が表示されれば、復元できる可能性高め。
-f でファイル名、 -d は出力先ディレクトリを指定します。dオプションが未指定の場合は、カレントディレクトリに「RECOVERDIR」ディレクトリが生成されそこに出力されます。(4行目)
絞り込みオプション
-a 、-b で対象時間の絞り込みができます。(それぞれ、after before の意味)
例 2021年4月9日のAM7時から10日のPM3時まで。
$ ext4magic /dev/sda -a $( date -d '2021-04-09 07:00' +%s) -b $( date -d '2021-04-10 15:00' +%s) 〜
2日前から1日前までの間 などは、
$ ext4magic /dev/sda -a $( date -d '-2day' +%s) -b $ (date -d '-1day' +%s) 〜
でも可。a b どちらかを細かく日時指定しても可。-2day -1day は、-a または -b からの相対日時ではなく、現在から数えた2日前、1日前なので注意。