スタック・オーバーフロー Asked by user41172 on September 1, 2021
Linuxで誤って上書きしてしまった指定のファイルを復元したい
/dev/sda3
に入っている /home/Documents/target
を、指定した時刻以前の状態に戻したい
USBブートしている環境
Linux ubuntu 5.0.0-23-generic #24~18.04.1-Ubuntu SMP Mon Jul 29 16:12:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
LDME 4で 誤ってテキストファイルを上書きしてしまったので上書き後気が付き次第システムを終了した。
このディスクは暗号化されている。またブートし、ログインするためのパスワードはわかっており以下のようにパーティション分けされておりファイルシステムはext4となっている。
ubuntu@ubuntu:/$sudo fdisk -l
(不要なので略)
ディスク /dev/sda: 931.5 GiB, 1000204886016 バイト, 1953525168 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 014F04A8-0B49-4946-ADB2-5897AB304DBC
(不要なので略)
その後USBブートできるUSBがあったのでUSBブートを行いext4magicを用いて復元しようとするために ext4magic /dev/sda3/ -l
とコマンドを入力したところ、下記のようになり復元できるかどうかわからない。
これを復元できるかどうか確認した上で復元できる場合復元するにはどうしたらいいでしょうか?
よろしくお願いします。
ubuntu@ubuntu:/$ sudo ext4magic /dev/sda3 -l
Filesystem in use: /dev/sda3
Using internal Journal at Inode 8
Inode 2 is allocated
100% ユーザー名/.ecryptfs
100% ユーザー名/.Private
100% ユーザー名/README.txt
100% ユーザー名/Access-Your-Private-Data.desktop
100% .ecryptfs/ユーザー名/.ecryptfs/auto-mount
100% .ecryptfs/ユーザー名/.ecryptfs/auto-umount
100% .ecryptfs/ユーザー名/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWYbEn2jq0WNZEQ9FnS7MM8kugeCun6XcL0xDfiKNzUxK9rB8KYKbC9n0---/ECRYPTFS_FNEK_ENCRYPTED.FWYbEn2jq0WNZEQ9FnS7MM8kugeCun6XcL0xzacwkg3SVGakXQQNx5ng2E--/ECRYPTFS_FNEK_ENCRYPTED.FWYbEn2jq0WNZEQ9FnS7MM8kugeCun6XcL0xR2yYBhIcJh2Vv870qanAF---/ECRYPTFS_FNEK_ENCRYPTED.FWYbEn2jq0WNZEQ9FnS7MM8kugeCun6XcL0x23EOPNzvxLA6OE5IgFszB---/ECRYPTFS_FNEK_ENCRYPTED.FWYbEn2jq0WNZEQ9FnS7MM8kugeCun6XcL0x6JtaV1UG-ELXyhOaTzmowE--/ECRYPTFS_FNEK_ENCRYPTED.FWYbEn2jq0WNZEQ9FnS7MM8kugeCun6XcL0xH-sMlUWqCoRvHDIaqzXiAE--
(略)
ext4magic : EXIT_SUCCESS
参考
ubuntu@ubuntu:/$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 15348412 0 15348412 0% /dev
tmpfs tmpfs 3081220 1780 3079440 1% /run
/dev/sdb1 vfat 61256224 2001952 59254272 4% /cdrom
/dev/loop0 squashfs 1895936 1895936 0 100% /rofs
/cow overlay 15406096 737076 14669020 5% /
tmpfs tmpfs 15406096 78728 15327368 1% /dev/shm
tmpfs tmpfs 5120 4 5116 1% /run/lock
tmpfs tmpfs 15406096 0 15406096 0% /sys/fs/cgroup
tmpfs tmpfs 15406096 532 15405564 1% /tmp
tmpfs tmpfs 3081216 64 3081152 1% /run/user/999
/dev/loop1 squashfs 90624 90624 0 100% /snap/core/7270
/dev/loop2 squashfs 55808 55808 0 100% /snap/core18/1074
/dev/loop3 squashfs 43904 43904 0 100% /snap/gtk-common-themes/1313
/dev/loop4 squashfs 153600 153600 0 100% /snap/gnome-3-28-1804/67
/dev/loop5 squashfs 4224 4224 0 100% /snap/gnome-calculator/406
/dev/loop6 squashfs 15104 15104 0 100% /snap/gnome-characters/296
/dev/loop7 squashfs 1024 1024 0 100% /snap/gnome-logs/61
/dev/loop8 squashfs 3840 3840 0 100% /snap/gnome-system-monitor/100
/dev/sda3 ext4 102688032 26638320 70790448 28% /media/ubuntu/140fda0e-449f-4b18-a94c-c0c5c6a6064e
ディレクトリ構造
ubuntu@ubuntu:/media$ sudo tree -a -L 5 .
.
├── cdrom -> /cdrom
└── ubuntu
└── 140fda0e-449f-4b18-a94c-c0c5c6a6064e
├── .ecryptfs
│ └── ユーザー名
│ ├── .Private
│ └── .ecryptfs
├── ユーザー名
│ ├── .Private -> /home/.ecryptfs/ユーザー名/.Private
│ ├── .ecryptfs -> /home/.ecryptfs/ユーザー名/.ecryptfs
│ ├── Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
│ └── README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt
└── lost+found
追記
cubick♦さんの示したコマンドを入力したところ次のようになり復元できませんでした
ubuntu@ubuntu:~$ sudo ext4magic /dev/sda3 -a 時刻はじめ -b 時刻おわり -r -f "home/Documents/target"
"RECOVERDIR" accept for recoverdir
Filesystem in use: /dev/sda3
Using internal Journal at Inode 8
Activ Time after : Mon Jul 20 時刻はじめ 2020
Activ Time before : Mon Jul 20 時刻終わり 2020
Error: Inode not found for "home/Documents/target"
Check the valid PATHNAME "home/Documents/target" and the BEFORE option "Mon Jul 20 13:50:38 2020
"
ext4magic : EXIT_SUCCESS
そもそもそのようなパスがないということでこのinode自体がすでに削除されているのか暗号化が解除されておらずパスがわからないかがわからないのでわからないので一度暗号化されたディスクを作成し似たような状況を作成しすぐにシャットダウンを行いこのコマンドで暗号化されたディスクから復元できるかを試してみます
詳しい使い方は man ext4magic
や オンラインマニュアル も必ず参照してみてください。
一番シンプルな条件を当てはめると
/
の /dev/sda3
/home/Documents/target
はファイルと仮定今回のケースでは以下のような実行方法になりそうです。
$ sudo ext4magic /dev/sda3 -f "home/Documents/target"
-a
や -b
オプションも併用する-r
も追加するAnswered by cubick on September 1, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP