Linuxでは、ハードウェアの故障や、ddやfdiskといった強力なユーティリティを軽々しく使いすぎるといった不注意な操作によって、データが失われることがあります。それだけでなく、パーティションやディレクトリの大掃除をする際に、誤って重要なファイルを削除してしまうこともあります。そんな時でも、心配する必要はありません。PhotoRecユーティリティを使えば、ドキュメント、画像、音楽、アーカイブなど、様々なファイルを簡単に復元できます。
CGSecurity によって開発され、GPL の下でリリースされた PhotoRec は、パーティションの回復と復元に使用できる Testdisk の補助ユーティリティとして配布されています。どちらのツールを使ってもファイルを復元できますが、それぞれに最も適した用途があります。Testdisk は、失われたパーティションの復元に最適です。パーティションを上書きまたは削除した場合でも、何らかの理由でパーティションが読み取り不能になった場合でも、Testdisk はパーティションを復元するか、少なくともデータを復元するのに役立ちます。ただし、パーティション、ハードディスク、または USB ドライブから削除されたファイルを復元することだけを目的としている場合は、PhotoRec を使用できます。当初はイメージ ファイルの復元のみを目的として設計されましたが (名前の由来)、PhotoRec はほぼあらゆる種類のファイルの復元に使用できます。
一方、Testdiskはサポートするファイルシステムが限られています。PhotoRecの最大の欠点は(削除されたファイルをデジタル世界から引き出せるように見えるツールに欠点があるとすれば)、元のファイル名が保持されないことです。つまり、復元されたファイルはすべて意味不明な英数字の名前になります。この点が問題になる場合は、まずTestdiskを使って失われたファイルを復元することを検討してください。
Testdiskをインストールするには、ターミナルウィンドウを開き、ソフトウェアリポジトリを更新してからインストールしてください。インストールにはUbuntuマシンを使用します。
$ sudo apt install testdisk
Fedora またはその他の RPM ベースのディストリビューションを使用している場合は、代わりに dnf を使用してください。
$ sudo dnf install testdisk
回復しよう
PhotoRecを使い始める前に、ファイルシステムが削除されたファイルをどのように処理するかを理解することが重要です。ファイルを削除しても、すぐに完全に消去されるわけではありません。ファイルシステムは単にファイルを削除済みとしてマークし、ファイルが占めていた領域を使用可能な領域として割り当てるだけです。つまり、その領域が別のファイルによって占有されるまで、元のファイルはそこに残り、専用のデータ復旧ツールを使って復元できるということです。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
そのため、重要なファイルを削除したことに気づいたら、すぐにシステムの使用を停止するのが理想的です。そうすることで、そのファイルが占有されてしまうリスクを最小限に抑えることができます。PhotoRecとTestdiskはどちらも、削除後に上書きされたパーティションからファイルを復元できますが、すべてのファイルを復元できる可能性は低くなります。
1.ファイルマネージャーを使用して、 PhotoRec で復元したファイルを保存するディレクトリを作成します。このディレクトリは、ファイルの復元元となるパーティションやデバイスとは別の場所に作成してください。
2.ターミナルを開き、sudo 権限で PhotoRec を起動します。
$ sudo photorec
すべてのパーティションと接続されているディスクおよびデバイスを一覧表示する「ようこそ」画面が表示されます。
3. 上下矢印キーを使って復元したいドライブを選択し、左右矢印キーを使って「Proceed」を選択してEnterキーを押します。PDF、JPG、MP3など、特定のファイル形式のみを検索するように復元対象を限定することで、復元を高速化できます。
削除されたファイルを復元したいデバイスまたはパーティションを選択したら、左右の矢印キーを使って「ファイルオプション」ボタンを選択し、Enterキーを押します。選択したデバイスが複数のパーティションで構成されている場合、PhotoRecはすべてのパーティションを表示し、削除されたファイルが保存されていたパーティションを選択できるようにします。
4.復元したいドライブで使用されているファイルシステムの種類を選択します。ドライブに一般的なLinuxパーティションがある場合は、ext2/ext3を選択します。それ以外の場合は、「その他」オプションを選択します。
5. 上下矢印キーを使用して、ドライブの空き領域からファイルを検索して回復するか、ドライブ全体からファイルを検索して回復するかを選択します。
6.復元したファイルの保存先を選択します。Enterキーを押すとディレクトリが開きます。準備ができたらCキーを押して保存先を設定し、復元プロセスを開始します。
復元されたファイルの意味を理解する
パーティションまたはデバイスのサイズによっては、PhotoRec がファイルを完全に検索するのにかなりの時間がかかる場合があります。PhotoRec は、復元されたファイルを格納するために、指定された保存先ディレクトリ内にrecup_dir.1やrecup_dir.2といった複数のディレクトリを作成します。復元されたファイルはすべてこれらのディレクトリに保存されますが、PhotoRec はファイル名やファイル形式に基づいてファイルを並べ替えることはありません。
ただし、復元したファイルを整理するために、簡単な CLI 機能を利用することもできます。
1. mp3 や jpg などのさまざまなファイル形式のディレクトリを作成します。
2. mvコマンドを使用して、特定の形式のファイルを適切なディレクトリに移動します。例えば、ここではすべてのJPEG画像をimagesディレクトリに移動します。
$ mv ~/miracles-happen/recup_dir.*/*.jpg ~/miracle-happens/images/
このチュートリアルは、Linux Formatマガジンに最初に掲載されました。
Shashank Sharma は Tom's Hardware US のフリーランス ライターであり、Linux CLI での作業の成功と喜びについて執筆しています。