Linuxで削除されたファイル/フォルダを回復するためにメス(ファイルシステム回復ツール)をインストールする


誤って、または誤ってファイルに対して「Shift + Delete」を押してしまうことがよくあります。人間の性質上、「削除」オプションだけを使用するのではなく、「シフト+デル」を使用する習慣があります。私は実際に数日前にこの事件を起こしました。私はプロジェクトに取り組んでいて、作業ファイルをディレクトリに保存しました。そのディレクトリには多くの不要なファイルがあり、完全に削除する必要があります。そこで、1つずつ削除していきました。これらのファイルを削除しているときに、誤って「shiftdelete」を重要なファイルの1つに押してしまいました。ファイルがディレクトリから完全に削除されました。私は削除されたファイルを回復する方法を考えていました、そして何をすべきかについての手がかりがありませんでした。私はほとんどファイルの復元に多くの時間を費やしましたが、運がありませんでした。

少し技術的な知識を知っていたので、ファイルシステムとHDDがどのように機能するかを知っていました。誤ってファイルを削除しても、ファイルの内容はコンピューターから削除されません。データベースフォルダから削除されたばかりで、ディレクトリにファイルを表示することはできませんが、ハードドライブのどこかに残っています。基本的に、システムにはストレージデバイス上のブロックへのリストポインタがあり、まだデータがあります。新しいファイルで上書きしない限り、データはブロックストレージデバイスから削除されません。この観点で、削除したファイルがハードディスクのインデックス付けされていない領域のどこかに残っている可能性があることをリリースしました。ただし、重要なファイルを削除したことに気づいたら、すぐにデバイスをアンマウントすることをお勧めします。アンマウントは、ブロックされたファイルが新しいファイルで上書きされるのを防ぐのに役立ちます。

このシナリオでは、そのデータを上書きしたくなかったので、マウントせずにハードドライブを検索することを好みました。

通常、Windowsでは失われたデータを回復するためのサードパーティツールがたくさんありますが、Linuxではごくわずかです。しかし、私はオペレーティングシステムとしてUbuntuを使用しており、失われたファイルを回復するツールを見つけるのは非常に困難です。調査中に、ハードドライブ全体を実行し、失われたファイルを回復するツール「メス」について知りました。私はメスツールの助けを借りて私の失われたファイルをインストールし、正常に回復しました。それは私が言わなければならない本当に素晴らしいツールです。

これはあなたにも起こり得ます。だから私はあなたと私の経験を共有することを考えました。この記事では、メスツールを使用して削除されたファイルを回復する方法を紹介します。だからここに行きます。

メスツールとは何ですか?

Scalpelは、LinuxおよびMacオペレーティングシステム用のオープンソースファイルシステムリカバリです。ツールはブロックデータベースストレージにアクセスし、そこから削除されたファイルを識別して、即座に回復します。ファイルの回復とは別に、デジタルフォレンジックの調査にも役立ちます。

Debian / UbuntuおよびLinuxMintにScalpelをインストールする方法

メスをインストールするには、デスクトップから「CTrl + Alt + T」を実行してターミナルを開き、次のコマンドを実行します。

$ sudo apt-get install scalpel
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  scalpel
0 upgraded, 1 newly installed, 0 to remove and 390 not upgraded.
Need to get 0 B/33.9 kB of archives.
After this operation, 118 kB of additional disk space will be used.
Selecting previously unselected package scalpel.
(Reading database ... 151082 files and directories currently installed.)
Unpacking scalpel (from .../scalpel_1.60-1build1_i386.deb) ...
Processing triggers for man-db ...
Setting up scalpel (1.60-1build1) ...
[email protected]630:~$

RHEL / CentOSおよびFedoraへのメスのインストール

メスの回復ツールをインストールするには、最初にepelリポジトリを有効にする必要があります。有効にしたら、「yum」を実行して、図のようにインストールできます。

# yum install scalpel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.01link.hk
 * epel: mirror.nus.edu.sg
 * epel-source: mirror.nus.edu.sg
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package scalpel.i686 0:2.0-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================================================
 Package		Arch		Version			Repository		Size
==========================================================================================================================================================
Installing:
 scalpel                i686            2.0-1.el6               epel                    50 k

Transaction Summary
==========================================================================================================================================================
Install       1 Package(s)

Total download size: 50 k
Installed size: 108 k
Is this ok [y/N]: y
Downloading Packages:
scalpel-2.0-1.el6.i686.rpm                                                           |  50 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : scalpel-2.0-1.el6.i686							1/1 
  Verifying  : scalpel-2.0-1.el6.i686                                                   1/1 

Installed:
  scalpel.i686 0:2.0-1.el6                                                                                                                                

Complete!

メスをインストールしたら、テキスト編集を行う必要があります。デフォルトでは、メスユーティリティは「/ etc」ディレクトリに独自の設定ファイルを持ち、フルパスは「/etc/scalpel/scalpel.conf」または「/etc/scalpel.conf」です。すべてがコメントアウトされていることがわかります(#)。したがって、メスを実行する前に、回復する必要のあるファイル形式のコメントを解除する必要があります。ただし、ファイル全体のコメントを解除すると時間がかかり、非常に誤った結果が生成されます。

たとえば、「。jpg」ファイルのみを復元したい場合は、メス構成ファイルの「.jpg」ファイルセクションのコメントを解除します。

# GIF and JPG files (very common)
        gif     y       5000000         \x47\x49\x46\x38\x37\x61        \x00\x3b
        gif     y       5000000         \x47\x49\x46\x38\x39\x61        \x00\x3b
        jpg     y       200000000       \xff\xd8\xff\xe0\x00\x10        \xff\xd9

ターミナルに移動し、次の構文を入力します。 「/ dev/sda1」は、ファイルがすでに削除されているデバイスの場所です。

$ sudo scalpel /dev/sda1-o output

「-o」スイッチは、削除したファイルを復元する出力ディレクトリを示します。コマンドを実行する前に、このディレクトリが空であることを確認してください。空でない場合、エラーが発生します。上記のコマンドの出力はです。

Scalpel version 1.60
Written by Golden G. Richard III, based on Foremost 0.69.

Opening target "/dev/sda1"

Image file pass 1/2.
/dev/sda1:   6.1% |***** 		|    6.6 GB    39:16 ETA

ご覧のとおり、メスは現在そのプロセスを実行しており、スキャンしようとしているディスク容量とマシンの速度によっては、削除されたファイルの回復に時間がかかります。

「Shift + Delete」の代わりにdeleteのみを使用する習慣を身に付けることをお勧めします。なぜなら、前述のように、予防は常に治療よりも優れているからです。