web-dev-qa-db-ja.com

NTFSパーティションで最後に削除されたディレクトリを復元する方法

Ubuntu 12.04の下のNautilusで、パーティション上のいくつかのディレクトリを誤って選択し、それらを一度に削除しました(残念ながら、Shift + Deleteで削除して、ゴミ箱に残らないようにしました)。削除してから、まだそのパーティションに新しいデータを書き込んでいません。それらを回復するためにどのような方法を試みることができるのだろうか?パーティションはNTFSであり、Windows7とUbuntu12.04の間で共有されていることに注意してください。

以下は私がこれまでに試したさまざまなソフトウェアです。

  1. Sleuthkitも使ってみましたが、使い方がわかりません。

    110GBの96%使用済みのntfsパーティションでSudo fls -f ntfs -d -r -p /dev/sda3 > ~/deleted_files.txtをほぼ1週間実行しています。まだ実行が終了しておらず(いつ実行されるかはわかりません)、ファイル~/deleted_files.txtはまだ空です。パーティションにデータを書き込むことを敢えてしないため、すべての作業が停止しました。

    私の場合、sleuthkitを使用することが、最近削除されたディレクトリとファイルを識別する最も簡単な方法であるかどうか疑問に思います。

  2. Apt-getinstallを使用してTestDisk6.13をインストールし、 http://www.cgsecurity.org/wiki/Undelete_files_from_NTFS_with_TestDisk に従って、削除されたディレクトリとその中のファイルを復元しました。しかし、TestDiskによって示されるのは、 リンクの図 に示されているように削除されたファイル/ディレクトリ名ではなく、iノード番号で名前が付けられたファイルです。

    TestDisk 6.13, Data Recovery Utility, November 2011
    Christophe GRENIER <[email protected]>
    http://www.cgsecurity.org
     3 P HPFS - NTFS           9291  38 28 23650 187 25  230686720 [Data]
    Deleted files
    
    >inode_13285                           30-Jan-2011 20:55     29427
     inode_13285:Zone.Identifier           30-Jan-2011 20:55        26
     inode_164258                          11-Aug-2011 13:16      2993
     inode_307016                          12-Feb-2011 09:34      1808
     inode_307017                          12-Feb-2011 09:34     10254
     inode_307018                          12-Feb-2011 09:34     13155
     inode_307019                          12-Feb-2011 09:34      7586
     inode_307020                          12-Feb-2011 09:34      7344
     inode_307021                          12-Feb-2011 09:34      6943
     inode_307022                          12-Feb-2011 09:34      6081
     inode_307023                          12-Feb-2011 09:34     24043
     inode_314965                          12-Feb-2011 09:36    112947
     inode_314983                          12-Feb-2011 09:36     23581
     inode_314984                          12-Feb-2011 09:36      8486
     inode_314985                          12-Feb-2011 09:36       158
     inode_314986                          12-Feb-2011 09:36        45
                                                       Next
    Use : to select the current file, a to select/deselect all files,
        C to copy the selected files, c to copy the current file, q to quit
    

    aを押してからCを押して、選択したすべてのファイルを選択してコピーすると、inode_xxxxxxという名前のファイルが指定したディレクトリにコピーされます。

    また、TestDiskによって表示される各ファイルの日付と時刻の意味がわかりません。削除日時ですか、それとも削除前の最終更新日時ですか? (TestDiskによって表示される最新の日時は2012年7月30日20:53であり、誤って削除された今日ではないことに注意してください。)

    最近削除されたファイルを特定するにはどうすればよいですか?また、それらを回復するにはどうすればよいですか?

    ファイルだけでなく、最近削除したディレクトリを見つけて復元できますか?

  3. ハウツーへのこれらの2つのリンクが本当に機能するかどうかも知りたいです。

    http://www.ehow.com/how_5202235_retrieve-deleted-files-linux.html では、grep -b 'search-text' /dev/partition > file.txtを使用して削除されたファイルを検索します。

    http://www.ehow.com/how_7517984_restore-overwritten-file-linux.html では、「Isdel」コマンドが使用されています。

TestDiskとSleuthkit以外にどのようなソフトウェアを試すことができますか?

6
Tim

Linuxのデータ復旧ツールは非常に奇妙でまれであり、NTFSファイルシステムで動作するツールはさらに多くあります。したがって、ファイルのメタデータを回復して提示するツールが必要な場合、それが提案されたものでない場合は、ntfsundelete、PhotoRec(Sleuthkit)、またはTestDiskです。このタスクにはWindows専用のツールを使用することをお勧めします。

1
Braiam

fls -rを使用すると、すべてのディレクトリを再帰的に通過しますが、ここでの目標に必要なものとは異なる場合があります。 flsと同じように、よりインタラクティブな方法でlsを使用してみてください。また、mactimeを使用して出力を処理すると、関連するdir /ファイルに移動するのに役立ちます。

mactimeは、すべてのファイルをタイムラインに配置し、各ファイルが変更された(m)、アクセスされた(a)、(属性-)変更された(c )または生まれた(b)。ファイルは別々の時間に作成および変更できるため、同じファイル名が別々の行に表示されます。

たとえば、fls -m X: /dev/sda3 | mactime -b -を使用して、時間順にソートされた最上位ディレクトリのリストを取得します。削除されたファイルは(deleted)でマークされます。また、通常はWindowsエクスプローラーで非表示になっている多くのメンテナンスデータストアも表示されます。

NTFSの場合、ファイルシステム内のファイルIDを指定するx-y-zのような3つの数字の組み合わせがあります。通常のディレクトリの場合、y144にする必要があります。

fls -m X: /dev/sda3 x-y-z | mactime -b -を使用して、関心のあるディレクトリのリストを取得します。

回復は、ファイルIDを使用して同様に行われます:icat /dev/sda3 x-y-z >recovered_file

0
korc