私は組み込みドメインで作業しています。あるプロジェクト用にファイル システムを作成しているときに、ファイル システム名を のままにしていました~
。書き込み禁止でした。次に、 rm -rf ~
ファイル システム (組み込みプロジェクト) が存在するディレクトリでコマンドを使用して、そのファイル システム全体を削除しようとしました。しかし、このコマンドは、~
Ubuntu のホーム ディレクトリを参照しているため、システムのホーム ディレクトリ ファイルを削除しました。時間がかかりました。そこで、停止して、システムのホーム ディレクトリ ファイルを削除していることに気付きました。
では、どうすれば削除したファイルを再び取得できるのでしょうか。正確な解決策を教えてください。私のシステムの詳細は次のとおりです。
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
HDDにパーティションがありません。単一のドライブとして使用しています。ディスクの詳細
*-disk
description: ATA Disk
product: ST500LM012 HN-M5
vendor: Seagate
physical id: 0.0.0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: 2BA3
serial: S316J90F200261
size: 465GiB (500GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 sectorsize=512 signature=0002c421
最も有利な解決策を教えてください......
答え1
まず、ファイルが復元されるまで OS を使用しないでください。ディスクに残っているデータが上書きされる可能性があるためです。データ復元には live-cd/live-usb (Ubuntu DVD など) を使用し、ファイルを別のディスクに保存してください。データが本当に貴重な場合は、ディスクのイメージ (バイト単位のコピー) を作成し、それを使って作業してください。
dd if=/dev/sda1 of=/home/user/image.bin bs=1048576
ここで、/dev/sda1 はデータのあるパーティション、/home/user/image.bin はディスク イメージ ファイルの名前の例です。ディスク イメージ ファイルが別のディスクまたはパーティションに配置されていることを確認する必要があります。
ファイル システムが ext2/3/4 の場合、rm によって削除されたファイルを復元する簡単な方法はありません。
ファイルシステムが ext2/3/4 の場合は、次を参照してください: https://superuser.com/questions/171673/how-to-recover-files-from-linux-ext4-harddrive
extundelete を試すことができます: https://unix.stackexchange.com/questions/122305/undelete-a-just-deleted-file-on-ext4-with-extundelete
望みどおりの結果が得られない場合は、TestDisk を使用できます。 http://www.cgsecurity.org/wiki/TestDisk