ホームページ >php教程 >PHP开发 >Linux で誤って削除したファイルを復元する方法

Linux で誤って削除したファイルを復元する方法

高洛峰
高洛峰オリジナル
2016-11-18 09:10:201430ブラウズ

以前に書いたこと

チュートリアルを開始する前に、ウィンドウ マネージャー (GUI) を使用してファイルを削除するのと、コマンド ライン ツール (CLI) を使用してファイルを削除することには違いがあることを皆さんに思い出していただく必要があります。

ウィンドウマネージャーを使用してファイルを削除するときは、ファイルをあるディレクトリから別のディレクトリ(ごみ箱)に移動するだけです。この場合、更新されるのは、削除されたファイルのタイムスタンプ、ファイルが占有しているストレージ ブロック、拡張属性など、ファイル システム インデックス ノード (inode) のメタデータ情報だけです。 tune2fs (ext2/ext3 ファイル システムのファイル システム パラメーターの調整と表示) を使用して、コマンド ライン ツールに次のコマンドを入力して、ファイル システムのインデックス ノード情報を表示できます。

sudo tune2fs -l /dev/sda1 |grep -i inode

実行後、次のコマンドが表示されます。以下に示すものに似た情報の出力例:

$ sudo tune2fs -l /dev/sda1 |grep -i inode  
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recoveryextent flex_bg sparse_super large_file 
huge_file uninit_bg dir_nlinkextra_isize 
Inode count:             30007296 
Free inodes:             29382378 
Inodes per group:        8192 
Inode blocks per group:  512 
First inode:             11 
Inode size:              256 
Journal inode:           8 
First orphan inode:      21628027 
Journal backup:          inode blocks

ファイルの削除についてどのくらい知っていますか

SSH を使用してコンピュータにリモート アクセスすると、ディレクトリ "~/.local/share" にある削除されたすべてのファイルを確認できます/ごみ"。このようにして、GUI ウィンドウを直接使用して、削除されたファイルを復元することができます。これは非常に簡単です。ただし、「rm」コマンドを使用してファイルを削除すると、ファイルは単に隠しディレクトリに移動されるだけではありません。この時点で、インデックス ノードのメタデータを更新して、このファイルによって以前に占有されていたディスク領域の部分が引き続き使用できることをオペレーティング システムに通知する必要があります。これにより、オペレーティング システムはストレージのこの部分に他のファイルを直接書き込むことができます。空間。次に、オペレーティング システムは 1 時間後にディスク領域のこの部分を上書きしますが、オペレーティング システムとファイル システムの設定によっては、記憶領域のこの部分を使用するのに 2 か月かかる場合もあります。

ファイルを削除 (安全に削除) することは、ファイル システムにファイルを削除させてから、そのファイルが以前に占有していたストレージ領域の一部にランダムなデータを書き込むことと同じです。 「安全な削除」の状況では、通常、削除されたファイルを回復することはできません。したがって、最善の方法は、誤ってファイルを削除したことに気づいたら、すぐにファイルの回復を開始することです。待機時間が長くなるほど、誤って削除したファイルを正常に回復できる可能性が低くなります。

Linux プラットフォームで誤って削除されたファイルを回復する方法

現在、Linux プラットフォームで誤って削除されたファイルを回復する方法は数多くありますが、その中で 2 つの主流のオプションは TestDisk/PhotoRec と extundelete です。

PhotoRec は TestDisk スイートのコンポーネントの 1 つで、個々のファイルを回復するために使用できます。もちろん、TestDisk はより強力で、ファイル システム パーティションやディスク ブート セクターの回復に役立ちます。 TestDisk は現在の主流のファイル システムをサポートしており、このツールは現在の主流のオペレーティング システム プラットフォームで使用できます。この記事では主にPhotoRecを例に説明します。

PhotoRec-[ツールダウンロード]

PhotoRecは、ハードドライブや光ディスク内の失われたビデオ、ドキュメント、圧縮パッケージ、その他のファイルを回復するために使用されるデータ回復ツールです。これとは別に、デジタルカメラのSDメモリカードから失われた写真を復元することもできます。したがって、このソフトウェアは PhotoRecovery と名付けられました。 PhotoRec は、ファイル システムの種類を無視して、基礎となるメディアからデータを直接復元できます。したがって、メディアのファイル システムが深刻な損傷を受けたり、再フォーマットされたりした後のデータ回復も可能です。 PhotoRec は、GNU General Public License (GPLV v2+) によって保護されているオープンソースのクロスプラットフォームの無料データ回復ソフトウェアです。

重要: 画像またはファイルが失われたか、誤って削除されたことに気付いた場合は、ストレージデバイスまたはディスクへの新しいファイルの書き込みを続けないでください。そうしないと、元のデータが上書きされる可能性があります。これは、PhotoRec を使用する場合、元のデータが存在する同じパーティションに復元されたファイルを決して書き込んではいけないことを意味します。

PhotoRecがサポートするOSプラットフォーム

-DOS/Win9x  
-Windows NT 4/2000/XP/2003/Vista  
-Linux  
-FreeBSD, NetBSD, OpenBSD 
-Sun Solaris  
-Mac OS X

PhotoRecがサポートするファイルシステム

-FAT  
-NTFS  
-exFAT  
-ext2/ext3/ext4  
-HFS+

一般的に、PhotoRecのファイル回復プロセスは以下のようになります:

Linux で誤って削除したファイルを復元する方法

extundelete-[ツールダウンロード]

PhotoRecに加えて、 extundelete を使用してデータ回復作業を完了することもできます。 extundelete は ext3 および ext4 ファイル システムをターゲットとしているため、TestDisk と比較すると、extundelete の使用範囲はある程度制限されています。

通常、ファイル回復作業を実行するときは、まずファイルシステムを再マウントし、次にファイルシステムに読み取り専用権限を割り当てる必要があります。完了後、元のデータが存在する記憶領域が上書きされないように、復元されたファイルを別のファイル システムに書き込みます。 extundelete を使用してファイルを回復する手順は非常に簡単で、対応するファイル システムを選択して次のコマンドを実行するだけです。

データ回復は非常に複雑な作業であり、オペレーティング システム、ファイル システム、人的要因の干渉により、回復したファイルはデータ損失を受ける可能性があります。したがって、ファイルを誤って削除したことに気付いた場合は、すぐにコンピュータの使用を中止し、誤って削除したファイルが他のデータによって上書きされるのを防ぐために、できるだけ早くデータの復元を実行してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。