「PhotoRec」は、高い復元能力を持つファイル復元ソフトです。
TestDisk」の姉妹ソフトであり、同じくGNUライセンスなので無料で使えます。

実行中 - PhotoRec

ファイル復元ソフトは比較的種類も豊富ですが、なかでも「PhotoRec」の復元力はトップクラスです。
とあるソフトでは復元できなかったファイルが、「PhotoRec」ではあっさり復元できたこともあります。
また、ドライブを正常に認識していなくても、「PhotoRec」はファイルを復元できる場合があります。

ただし、「PhotoRec」は良くも悪くも原始的な動作をします。
一般的なファイル復元ソフトは、

  1. 復元対象のファイルを検出
  2. 復元候補のファイルをリスト化
  3. 候補からファイルを選択して復元

という手順をとります。
しかし「PhotoRec」は、

復元対象のファイルを検出すると同時に復元

という、潔い仕様です。

また、基本的にインデックスに依らないため、ファイル名は復元されません
ファイル名も復元したい場合は、「ファイナルデータ」を使ったほうがいいです。
特に、「高度な復元」を使うと、「PhotoRec」同様のクラスタスキャンの結果を、
他のスキャン結果と照らし合わせてファイル名を復元できます。

「PhotoRec」の性能自体は非常に高いのですが、
以上のように一般的なファイル復元ソフトとは違った挙動をしますから、
実際に使用する際は、事前の設定や準備が重要になってきます。

「PhotoRec」の入手

「PhotoRec」の入手先は以下のとおりです。

「PhotoRec」トップページ CGSecurity
ダウンロードページ TestDisk Download

「TestDisk」に同梱して配布されています。

ダウンロードした「TestDisk」のファイルはZIPで圧縮されているので、
各種解凍ソフトを使って展開してください。
ただし、復元したいファイルのあるドライブに「PhotoRec」を保存、展開しないでください

「testdisk-○○」(○○はバージョン番号)というフォルダができ、その中にファイルが展開されます。
Windows版であれば、「photorec_win.exe」という「PhotoRec」の実行ファイルがあるはずです。

以下、Windows版の「PhotoRec」を例として使い方を説明していきます。
その他のプラットフォームでも、基本的に操作手順は同じです。

「PhotoRec」の起動

まず、「photorec_win.exe」を実行します。

ディスクの選択 - PhotoRec

「PhotoRec」はTUIのソフトウェアです。
英語表記ですし、マウスは使えません。
でも実際使ってみるとわかりますが、「PhotoRec」の操作自体はそれほど難しいわけではなく、
むしろ動作にクセがあるソフトです。

まず、「PhotoRec」による復元対象の記憶装置(ディスク)を上下カーソルキーで選択します。
「Proceed」を選択した状態で「Enter」キーを押して次へ進めます。

「Proceed」=「次へ」、「Quit」=「戻る」です。
これらの表記は「PhotoRec」使用中、何度も出てきますが、同様です。

「PhotoRec」のメインメニューです。
選択した記憶装置内のパーティションが、一覧表示されます。
各項目については以下のとおり。

Search ファイルを探索して復元する。
Options 「PhotoRec」自体の動作オプション。
File Opt 復元対象のファイルを拡張子で指定する。
Quit 戻る。

「PhotoRec」はその特性上、実際に作業を行う前に、必ず復元動作に関する設定をすべきです。
「PhotoRec」に関しては、初期設定のまま実行する意味がわかりません。

「File Opt」の指定

「PhotoRec」で「Search」を行う前に、最低でも「File Opt」は指定しておくべきです。
理由は冒頭にも書きましたが、

  • ファイルは検出すると同時に復元される
  • ファイル名は復元されない

という「PhotoRec」の仕様だからです。
下手すると、復元対象の全容量に匹敵する空き領域が復元先ドライブに求められ、
しかもファイル名がわからないので、復元後のファイルを逐一確認しなければならないという。
そんなわけで、必要な項目はあらかじめ設定しておきます。

FileOpt - PhotoRec

「File Opt」を選択します。

拡張子の選択 - PhotoRec

「PhotoRec」による復元対象のファイルを、拡張子で指定します。
上下カーソルキー拡張子を選び
左右カーソルキー(またはスペースキー)復元対象の切り替えを行います。
「X」印のついている拡張子が、復元対象です。
初期設定では、ほぼすべての拡張子が復元対象になっています。

拡張子の選択解除 - PhotoRec

「S」キーを押すと、すべての項目の選択解除/デフォルト設定を切り替えます。
一旦すべての選択を解除してから、必要な拡張子のみ選択していくのがおすすめです。

また、「B」キーを押すと、現在選択している拡張子の設定を保存します。
拡張子の設定は結構手間がかかるので、
何度も「PhotoRec」を使用するようであれば、設定を保存しておいたほうがいいです。

拡張子の設定次第で、所要時間は数倍変わります
複数のファイルで重複するデータ領域を使用していた場合に優先度をはっきりさせるためにも、
拡張子は必要最小限に絞って指定すべきです。
理想的には、拡張子は1つずつ選択して復元したほうがいいくらいです。
設定し終わったら、「Enter」キーを押して退出します。

「PhotoRec」の動作オプションの初期設定は、
復元ファイルの品質と所要時間のバランスが取れたものになっています。
従って、「Options」に関しては初期設定のままでも構わないのですが、
復元したいファイルが見つからない場合や、復元ファイルの状態を変更したい場合は、
動作オプションの設定を見直してください。
詳細は、下記ページにて。

「PhotoRec」の動作オプションについて

Search - PhotoRec

復元作業を実行するには、
復元対象のパーティションを上下カーソルキーで選び、「Search」を選択します。

一番上の「Whole disk」(No partition)は、パーティション未割り当ての領域も含めて、
記憶装置内すべての領域を復元対象とします。
このことで、ドライブを認識していなくてもディスクさえ認識していれば、ファイルを復元できます。
当然、膨大な数のファイルが復元されますので、そのつもりでいてください。

ファイルシステムの選択 - PhotoRec

復元対象領域の、ファイルシステムを指定します。
Windowsで操作している限りは、「FAT」系か「NTFS」のはずなので、
「Other」を選択します。

Linuxも使っている方は、適宜選択してください。

検索範囲の選択 - PhotoRec

ファイルを検索する範囲を選択します。
復元する状況に合わせて選択してください。

Free 現在使用されていない領域からのみファイルを探索します。
効率的にファイルを復元することができます。
Whole パーティション全体からファイルを抽出します。
ファイルの復元率は高くなりますが、
スキャン対象が増えるので、相応の時間がかかります。
また、正常なファイルも重複して復元されます。

削除してすぐのファイルであれば、「Free」を選択したほうがいいですが、
そのような状況なら「PhotoRec」より他に適したファイル復元ソフトがあるような気もします。
ここでは、「Whole」を選択します。

なお、先のパーティション選択で「Whole disk」を指定した場合は、この画面は出てきません。
暗黙的に「Whole」が選択されたものとして進められます。

復元ファイル保存先の指定 - PhotoRec

復元したファイルの保存場所を指定します。
間違っても、復元元と復元先を同一ドライブに指定しないように
復元可能なファイルまで、上書きされて消去されてしまいます。

初期の保存場所は、「PhotoRec」の実行ファイルがあるフォルダになっていますが、
上下カーソルキー「Enter」キーで保存場所を変更できます。
ちなみに、「..」を選択すると、上の階層に移動します。

復元先フォルダ参照 - PhotoRec

あらかじめ、「PhotoRec」用の復元先フォルダを作っておくと、後でわかりやすいです。
その際、日本語は一部環境で文字化けするので、使わないほうがいいです。

復元先フォルダを参照したら、「C」キーを押すと、ファイルの探索を開始します。

実行中 - PhotoRec

実行中の画面です。
復元されたファイル数とあわせて、経過時間、推定残り時間が表示されます。

復元完了 - PhotoRec

ファイルの復元が完了しました。

結果

実際にエクスプローラで復元先フォルダの中身を確認してみます。

復元先フォルダ - エクスプローラ

指定したフォルダの中に、「recup_dir.○」(○は連番)というフォルダが作られ、
ファイルが500個ずつにまとめて保存されています。

復元ファイル - エクスプローラ

「PhotoRec」では基本的に、ファイル名は復元されません。
ファイル名は、セクタ番号です。
しかも、必ずしもディスク全体の通し番号ではなく、
パーティション選択時はパーティションの先頭から起算するので注意してください。

あとは、拡張子やファイルサイズをもとに、必要なファイルを特定していきます。
画像ファイルであれば、エクスプローラ等でサムネイル表示できるので判別しやすいんですけどね。