Linuxで削除されたファイルを回復する7つの方法
ファイル復元ユーティリティは、Linux 管理者のツールキットで最も重要なプログラムの 1 つです。ディスクが物理的に損傷したり、完全に消去されたりした場合でも、削除されたファイルを回復する機能を提供します。
このガイドでは、Linux に今すぐインストールできる 7 つの簡単なファイル回復ツールを紹介します。また、システムで基本的なファイルの復元を行う方法も示します。
ファイル マネージャを使用してファイルを復元する
ファイルを削除すると、ファイルとその基になるデータとの間のリンクのみが削除されます。物理ファイル自体はそのままです。スペースが上書きできるようになったことをオペレーティング システムに通知するだけです。
さらに、今日のほとんどのデスクトップ環境では、ディスク上のファイルを直接削除することはできません。代わりに、削除されたファイルをごみ箱フォルダー (または Windows のごみ箱) に移動し、簡単に復元できます。
デスクトップの Trash フォルダーにアクセスすることで、Linux でファイルを復元できます。
- を押してWinから、「ファイル」と入力します。
- ファイル マネージャの左側のサイドバーにある [ゴミ箱] エントリをクリックします。
- 復元したいファイルを右クリックし、「ごみ箱から復元」を選択します。
1. テストディスク
Testdisk は、Linux で最も人気のあるファイル回復ツールの 1 つです。これは、ほとんどすべてのディスクから不足しているパーティションを回復できる強力なターミナル プログラムです。パーティションテーブルデータを探しながら、ディスク内のすべてのシリンダーを調べることで機能します。
これは、ファイル システムを完全に消去した後でも、Testdisk がファイル システムを復元できることを意味します。これは、誤ってディスクをフォーマットして内部パーティション テーブルを削除してしまった場合にも役立ちます。
- 次のコマンドを実行して、Ubuntu および Debian に Testdisk をインストールします。
sudo apt install testdisk
sudo testdisk
マシンのターミナル ウィンドウに入力して、プログラムを実行します。
- 「作成」を選択して、現在のセッションのログを保存することを Testdisk に伝えます。
- 復元するディスクを選択します。私の場合は「/dev/sda」です。
- ディスクのパーティション テーブル タイプを選択します。
- 「分析」を選択して、ディスクをスキャンし、現在のパーティション レイアウトとの不一致を探します。
- 「クイック検索」オプションを選択して、パーティションの取得プロセスを開始します。
- を押してEnter、Testdisk のデフォルト値を受け入れます。
- 「書き込み」を選択して、新しいパーティション レイアウトを保存します。
長所
- ディスク パーティション全体を復元します
- 起動できないオペレーティング システムでディスクを修正します。
短所
- 個々のファイルを復元できません
- パーティションを復元しても、その内容がそこにあることは保証されません
2.フォトレック
Photorecは、Linux でデータをカービングしてファイルを復元できるシンプルなツールです。これは、プログラムがディスクの raw バイトを読み取って、削除されたファイルの内容を見つけるプロセスです。
Photorec の最大の利点の 1 つは、多くの場合、Testdisk パッケージにバンドルされていることです。ファイルの復元を開始するために、追加のユーティリティや依存関係をインストールする必要はありません。
- Photorec を実行してデータの復元を開始します。
sudo photorec
- 復元したいファイルを含むディスクを強調表示し、[続行] を選択します。
- 「[ディスク全体]」オプションを選択し、 を押しますEnter。
- 削除されたファイルを最初に保持していたファイルシステムを選択します。
- Photorec の「回復ディレクトリ」を提供します。いずれかを選択するには、矢印キーを使用してターゲット ディレクトリ内に移動し、 を押しますC。
長所
- 回復アルゴリズムが速い
- さまざまなファイルシステム形式を処理
短所
- リカバリは、ソリッド ステート ドライブに悪影響を与える可能性があります
- ファイルを保存するために別のファイルシステムが必要
3.メス
Scalpel は、正規表現を使用して Linux ディスク内の失われたファイルを回復する高速で効率的なプログラムです。Photorec と同様に、Scalpel はディスクを調べて、既存のデータの存在を示す可能性のあるバイト パターンを探します。
Scalpel の利点の 1 つは、正規表現を使用してプログラムが回復する内容を微調整できることです。そのため、同様のプログラムに比べてわずかな時間しかかかりません。
- 次のコマンドを実行して、Ubuntu および Debian に Scalpel をインストールします。
sudo apt install scalpel
- Scalpel のデフォルト設定ファイルをホーム ディレクトリにコピーします。
cp /etc/scalpel/scalpel.conf /home/$USER/
- テキスト エディターを使用して、scalpel.conf ファイルを開きます。
nano /home/$USER/scalpel.conf
- 回復したいファイル拡張子の行のコメントを外します。
- 次のコマンドを使用して Scalpel を実行します。
sudo scalpel -c /home/$USER/scalpel.conf -o /home/$USER/out /dev/sdb1
長所
- デバイスファイルとディスクイメージの両方で実行
- 回復したいファイルの種類をフィルタリングできます
短所
- 構成ファイルは混乱する可能性があります
- ファイルタイプの検出が信頼できない可能性があります
参考までに: Scalpel はもともと、人気のある Foremost ユーティリティのフォークとして始まりました。元の Foremost プログラムを使用して Linux でファイルを復元する方法について説明します。
4.レスキュー
ddrescue は、巧妙なアルゴリズムを使用してディスク デバイス全体の内容を保持する強力なデータ復元ユーティリティです。データ カーバーとは異なり、ddrescue の主な目的は、データを可能な限り正確に回復して保持することです。
設計上、ddrescue はこの方法でディスク ファイルからファイルを抽出しません。むしろ、ディスクの現在の状態の「スナップショット」を作成します。これは、断続的に故障したハード ドライブからデータを抽出する場合に役立ちます。
- 次のコマンドを実行して、Ubuntu および Debian に ddrescue をインストールできます。
sudo apt install gddrescue
- ディスクの内容の保存を開始します。たとえば、次のコマンドは、「/dev/sdb」ディスク デバイスからイメージ ファイルを作成します。
sudo ddrescue /dev/sdb /home/$USER/sdb.img /home/$USER/sdb.map
- 次のフラグを使用して、スナップショットの整合性を確認します
-I
。
sudo ddrescue -I /dev/sdb /home/$USER/sdb.img /home/$USER/sdb.map
長所
- ディスクの正確な複製を作成します
- ハードドライブの不良セクタをスキップします
短所
- 不足しているファイルを直接回復することはありません
- 大容量のハードディスクでは遅くなる可能性があります
5.ファットキャット
Fatcatは、Linux の FAT タイプのファイルシステム内のファイルを復元できる軽量のプログラムです。これには、古い FAT12 フォーマットから最新の FAT32 までが含まれます。Fatcat は、古いハードディスクからデータを復元するための優れたツールです。
Fatcat の優れた機能の 1 つは、FAT タイプのディスクのポータブル ファイル エクスプローラーになることです。イメージ ファイルの内容にアクセスして復元するためにイメージ ファイルを抽出する必要はありません。
- 次のコマンドを実行して、Fatcat を Ubuntu および Debian にインストールします。
sudo apt install fatcat
- ddrescue を使用して FAT パーティションのイメージ ファイルを作成します。
sudo ddrescue /dev/sdb1 /home/$USER/fat.img /home/$USER/fat.map
- ルートを一覧表示して、FAT イメージの内容を確認します。
sudo fatcat /home/$USER/fat.img -l / -d
- FAT パーティションの内容を自分のファイル システムにダンプします。
sudo fatcat /home/$USER/fat.img -x /home/$USER/output -d
長所
- その場で FAT パーティションの内容を読み込みます
- 破損した FAT ファイルシステムを修正
短所
- exFATをサポートしていません
- 個々のディレクトリを復元するのは難しい場合があります
6.Ntfsundelete
Ntfsundelete は、Linux 上の NTFS ファイルシステム内のファイルを修復および回復できるユーティリティです。Fatcat と同様に、Ntfsundelete は、個々のファイルだけでなく、ディレクトリとディスク全体も回復できます。
Ntfsundelete は、Linux 上の NTFS の互換レイヤーとして機能するパッケージに含まれているため、デフォルトでほとんどの Linux ディストリビューションに含まれていますntfs-3g
。
- ddrescue を使用して、NTFS パーティションのイメージ ファイルを作成します。
sudo ddrescue /dev/sdb1 /home/$USER/ntfs.img /home/$USER/ntfs.map
- イメージ ファイルの内容を一覧表示して、イメージ ファイルの一貫性をテストします。
sudo ntfsundelete /home/$USER/ntfs.img
- ディスク イメージからデータを復元します。たとえば、次のコマンドは、ディスク イメージからすべての ZIP ファイルを復元します。
sudo ntfsundelete /home/$USER/ntfs.img -u -m '*.zip*' -d /home/$USER/output
長所
- ほとんどの Linux ディストリビューションのコア部分
- 個々のファイルを復元します
短所
- デバイスファイルが信頼できない
- 復元されたファイル名は元のファイル名と異なる場合があります
7.Ext4マジック
FAT および NTFS パーティション内のファイルを復元する以外に、Linux の Ext ファイルシステムからファイルを復元することもできます。Ext4magic は、Ext3 または Ext4 ファイルシステムからほぼすべてのファイルを元に戻すことができる強力なプログラムです。
Ext4magic のセールス ポイントの 1 つは、日付範囲を使用してファイルを復元できることです。これは、元のファイルの正確なファイル名と種類を思い出せない場合に役立ちます。
- 次のコマンドを実行して、Ubuntu および Debian に Ext4magic をインストールします。
sudo apt install ext4magic
- ddrescue を使用して、ディスクのパーティション イメージを作成します。
sudo ddrescue /dev/sdb1 /home/$USER/ext.img /home/$USER/ext.map
- ext4magic を使用して、削除したファイルを復元します。たとえば、次のコマンドは Ext4 ディスク内のすべてのファイルを復元します。
sudo ext4magic -M /home/$USER/ext.img
長所
- ジャーナル ファイルを使用して、ファイルの復元を支援します
- ファイルシステムの問題をスキャンします
短所
- 日付範囲オプションは UNIX エポック形式を使用します
- 古い削除済みファイルでは信頼できない可能性があります
よくある質問
スキャンした後も Photorec でファイルが見つからない場合はどうすればよいですか?
場合によっては、Photorec の最初のリカバリ パスで重要なバイト データが失われることがあります。これを修正するには、最初のパスの後に「より深い検索」オプションを選択して、Photorec に再スキャンを行うように指示します。
Scalpel ですべてのファイル拡張子フィルターを有効にしても問題ありませんか?
はい。ただし、「scalpel.conf」のファイル形式エントリの一部が多くの誤検知を生成する可能性があるため、Scalpel の有効性が低下します。特定のスキャンに必要なオプションのみを有効にすることをお勧めします。
Fatcat で FAT イメージ ファイルを開くことができないのはなぜですか?
これは、画像ファイルと Fatcat が期待する形式との不一致が原因である可能性が最も高いです。これを修正するには、ディスク全体ではなく、FAT ファイルシステムを含むパーティションで ddrescue を実行します。
画像クレジット: Unsplash . Ramces Redによるすべての変更とスクリーンショット。
- フェイスブック
- つぶやき
コメントを残す