時には、偶然であろうと知識不足のために重要なデータを失うことがあります。この詳細なステップバイステップガイドは、 LinuxでLinuxで失われたファイルを回復するための構造化されたアプローチを提供します。TestDisk 、Photorec、Extundeleteなどのリカバリツールを使用して、Linuxで失われたファイルを回復します。
目次
ハードウェアの障害、停電、自然災害などの外部要因のためにデータを失う人はほとんどいません。より多くの場合、私たち自身の間違いのためにデータを失いますよね?
これを想像してください:LinuxシステムでCommandSudo rm -rf /*を実行しました。あなたはそれが何をするのか完全にはわかりませんが、とにかくそれを実行しました - そしてブーム!すべてのデータはなくなりました。私はLinuxを初めて行った昔、この間違いを犯しました。
誤ってSudo RM -RF /*を実行すると、Linuxシステムで実行できる最も破壊的なコマンドの1つです。知らない人のために、システムファイル、個人ドキュメント、構成など、ほぼすべてを一掃します。
これは、コマンドを完全に理解せずに実行したときに何が起こるかの古典的な(そして痛みを伴う)例です。
これは、doessudo rm -rf /*コマンドの内訳です。
結合すると、sudo rm -rf /*は、ファイルシステムのルートから始まるすべてのファイルとディレクトリを強制的かつ再帰的に削除するようにシステムに指示します。
OS自体は回復を超えていますが、迅速に行動して正しい手順に従うと、ファイルの一部が取得可能である場合があります。
重要:データが非常に重要な場合は、専門家の助けを求めてください。
データが重要であり、犠牲を払ってそれを回復する必要がある場合は、専門的なデータ回復の専門家に任せることを強くお勧めします。
彼らは、高度なツール( Stellar Data Recovery Toolkitなど)を使用して、失われたファイルを取得します。それは高価かもしれませんが、あなたはあなたのデータを取り戻す可能性があります - そして、さらに重要なことに、心の安らぎになります。
自由に利用可能なLinuxデータリカバリツールを使用して、自分でファイルを回復する場合は、このガイドがお客様に適しています。続きを読んでください。
安全な仮想環境で次の手順をテストしました。重要なデータを含むテスト仮想マシン(VM)を作成しました。
意図的にファイルを削除し、このガイドに記載されているツールを使用してファイルを回復しようとしました。私の目標は、データ回復の仕組みを学ぶことでした。
データの回復が常に100%成功しているとは限らないことを強調したいと思います。状況に応じて、失われたデータをすべて回復する場合としない場合があります。
留意すべき重要なポイントは次のとおりです。
1。ファイル名が失われる可能性があります
2。SSDS対HDDS
3。回復したデータを保存するために外部ドライブを使用します
4。データ回復は時間のかかるプロセスです
これらの要因を理解することにより、Linuxでファイルの回復を試みる前に、現実的な期待を設定し、適切に準備できます。
始めましょう!
影響を受けるドライブが使用されている1秒ごとに、回復可能なデータを上書きするリスクが高まります。システムがまだ実行されている場合は、すぐにシャットダウンします。ドライブに新しいソフトウェアを再起動したり、インストールしたりしないでください。
インストールされているOSは機能しなくなったため、ライブLinux環境を使用して回復します。推奨オプションは次のとおりです。
ライブUSBをまだ持っていない場合は、以下を使用して別のコンピューターに1つを作成します。
私の推奨事項:緊急使用のために永続的なライブUSBを常に保管してください
予備の外部USBドライブがある場合は、永続的なライブUSBの作成を検討してください。オペレーティングシステムを外部ドライブに完全にインストールするか、永続性をサポートするKali LinuxのようなライブUSBディストリビューションを使用できます。 Persistenceを使用すると、インストールされたパッケージ、構成、および外部ドライブに永続的に変更することができます。
VentoyまたはMKUSBツールを使用して、永続的なライブUSBを作成できます。
永続的なライブUSBを使用することは、誤ってパーティションの削除、ドライブのフォーマット、突然のデータ損失のフォーマット、起動不能なOS、またはその他の壊滅的な状況に遭遇するなど、緊急時に非常に役立ちます。すぐにリカバリツールがあります。
プロのヒント:特徴的なラベルで緊急サムドライブをマークするので、他のフラッシュドライブの中で簡単に識別できます。
デモンストレーションのために、私はUbuntu 24.04 LTSライブ環境に起動しています。
ライブ環境に起動したら、端末を開いて実行します。
LSBLK
または
fdisk -l
これにより、利用可能なディスクとパーティション( /dev /sda、 /dev /nvme0n1など)が表示されます。影響を受けるディスクに注意してください。
サンプル出力:
名前Maj:Min RMサイズROタイプマウントポイント loop0 7:0 0 1.6g 1ループ /rofs loop1 7:1 0 457.5m 1ループ loop2 7:2 0 868.1m 1ループ loop3 7:3 0 4k 1ループ/snap/bare/5 loop4 7:4 0 74.2m 1ループ/snap/core22/1380 Loop5 7:5 0 10.7m 1ループ/SNAP/ファームウェアアップダイター/127 loop6 7:6 0 91.7m 1ループ/snap/gtk-common-themes/1535 loop7 7:7 0 505.1m 1ループ/snap/gnome-42-2204/176 loop8 7:8 0 269.6m 1ループ/snap/firefox/4173 loop9 7:9 0 10.3m 1ループ/スナップ/スナップストア/1124 loop10 7:10 0 116.7m 1ループ/snap/ubuntu-desktop-bootstrap/171 Loop11 7:11 0 137.3M 1ループ/Snap/Thunderbird/470 loop12 7:12 0 38.7m 1ループ/snap/snapd/21465 loop13 7:13 0 476K 1ループ/snap/snapd-desktop-integration/157 SDA 8:0 0 50G 0ディスク ├··SDA1 8:1 0 1M 0パーツ da2 8:2 0 513m 0パーツ da-sda3 8:3 0 49.5g 0パーツ SDB 8:16 0 10G 0ディスク/メディア/ubuntu/バックアップ SR0 11:0 1 5.7G 0 ROM /CDROM
上記の出力でわかるように、/dev/sdaは3つのパーティション(/dev/sda1、/dev/sda2および/dev/sda3)を備えた私のローカルドライブです。および /dev /sdbは、バックアップ目的の外部ドライブです。
UNIXのようなシステムのディスクパーティションをリストするためのその他の方法については、次の記事を参照してください。
ファイルの回復を試みる前に、ディスク全体のバックアップ画像を作成して、さらなるデータ損失を回避します。
まず、ディスクイメージを保存するのに十分なスペースがある外部ドライブと、後続の手順で回復するデータを接続します。可能であれば、2つの外部ドライブを使用します。ディスクイメージを保存するための1つ、もう1つは回復したデータを保存するためです。
ターゲットドライブはソースドライブよりも大きくする必要があることに注意してください。たとえば、50GBディスク(IEソースドライブ)からデータを回復する場合、ターゲットドライブ(つまり宛先ドライブ)は50GBを超える必要があります。
次に、次のコマンドを実行して、完全なディスクイメージを作成します。
sudo dd if =/dev/sda of =/media/ubuntu/backup/recovery.img bs = 4m status = progress
(/dev/sdaを正しいディスク識別子、/media/ubuntu/バックアップ/外部ドライブのパスに置き換え、画像が外部ドライブに保存されていることを確認してください。)
これは、いくつかの理由で役立ちます。
TestDiskは、失われたパーティションと削除されたファイルを回復するための強力なオープンソースツールです。 Linux、Windows、およびMacOSで動作します。
sudo apt update && sudo apt install testdisk -y
TestDiskを起動:
sudo testdisk
TestDiskが起動すると、ログファイルを作成するように依頼します。 [createto]を選択します。 [作成]を選択して、新しいログファイルを作成します。
TestDiskは、利用可能なすべてのディスクをリストします。矢印キーを使用して、データを回復するディスクを選択し、Enterを押します。ソース(影響を受ける)ドライブ→ [続行]を選択します。
Christophe Grenier <grenier> https://www.cgsecurity.org TestDiskはフリーソフトウェアです 保証はまったくありません。 メディアを選択します(矢印キーを使用して、Enterを押します): > disk /dev /sda -53 gb /50 gib -qemu qemu harddisk ディスク /dev /sdb -10 gb /10 gib -qemu qemu harddisk ディスク /dev /sr0-6114 mb /5831 mib(ro) - qemu dvd -rom ディスク /dev /loop0-1748 mb /1667 mib(ro) ディスク /dev /loop1-479 mb /457 mib(ro) ディスク /dev /loop10-122 mb /116 mib(ro) ディスク /dev /loop11-143 mb /137 mib(ro) ディスク /dev /loop12-40 mb /38 mib(ro) ディスク /dev /loop13-487 kb /476 kib(ro) ディスク /dev /loop2-910 mb /868 mib(ro) ディスク /dev /loop3-4096 b(ro) ディスク /dev /loop4-77 mb /74 mib(ro) ディスク /dev /loop5-11 mb /10 mib(ro) ディスク /dev /loop6-96 mb /91 mib(ro) ディスク /dev /loop7-529 mb /505 mib(ro) ディスク /dev /loop8-282 mb /269 mib(ro) ディスク /dev /loop9-10 mb /10 mib(ro) > [続行] [終了] 注:回復を成功させるには、ディスク容量を正しく検出する必要があります。 上記のディスクのサイズが正しくない場合は、HDジャンパーの設定とBIOSを確認してください 最新のOSパッチとディスクドライバーを検出し、インストールします。</grenier>
TestDiskは、パーティションテーブルの種類を選択するように依頼します(通常、ほとんどのシステムではIntel/PC)。正しいタイプとプレッシャーを選択します。パーティションタイプに基づいて[intel]または[efi gpt]を選択します。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org ディスク /dev /sda -53 gb /50 gib -qemu qemu harddisk パーティションテーブルタイプを選択してください。完了したらEnterを押します。 [Intel] Intel/PCパーティション > [efi gpt] efi gptパーティションマップ(Mac i386、x86_64 ...) [Humax] Humaxパーティションテーブル [Mac] Apple Partition Map(レガシー) [なし]パーティション化されていないメディア [Sun] Sun solarisパーティション [Xbox] Xboxパーティション [返品]ディスク選択に戻ります ヒント:EFI GPTパーティションテーブルタイプが検出されました。 注:単一のパーティションのみを持つメディアの「なし」を選択しないでください。とてもです ディスクが「非格付け」されることはまれです。</grenier>
[分析]を選択して、紛失したパーティションをスキャンします。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org ディスク /dev /sda -53 gb /50 gib -qemu qemu harddisk CHS 51200 64 32-セクターサイズ= 512 > [分析]現在のパーティション構造を分析し、失われたパーティションを検索します [Advanced]ファイルシステムの利用 [ジオメトリ]ディスクジオメトリを変更します [オプション]オプションを変更します [終了]ディスクの選択に戻ります 注:回復を成功させるには、正しいディスクジオメトリが必要です。 「分析」 論理的なジオメトリが不一致であると思われる場合、プロセスはいくつかの警告を与える場合があります。</grenier>
TestDiskには、現在のパーティション構造が表示されます。パーティションが欠落している場合、それらを検索します。クイック検索オプションを選択して、手動で実行することもできます。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org ディスク /dev /sda -53 gb /50 gib -chs 51200 64 32 現在のパーティション構造: セクターのパーティション開始エンドサイズ 1 P不明2048 4095 2048 2 P EFIシステム4096 1054719 1050624 [EFIシステムパーティション] 3 P Linux filesys。データ1054720 104855551 103800832 P =プライマリD =削除 > [クイック検索] [バックアップ] パーティションを見つけてみてください</grenier>
TestDiskは、失われたパーティションを見つけるために「クイック検索」を実行します。見つかった場合、それらがリストされます。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org ディスク /dev /sda -53 gb /50 gib -chs 51200 64 32 セクターのパーティション開始エンドサイズ PSデータ4096 1054719 1050624 [名前なし] > P Linux filesys。データ1054720 104855551 103800832 構造:わかりました。矢印キーを使用して、パーティションを選択します。 左/右矢印キーを使用して、パーティション特性を変更します。 P =プライマリD =削除 キーA:パーティションを追加、L:ロードバックアップ、T:変更タイプ、P:リストファイル、 入力:続行します ext4 blocksize = 4096 large_file sparse_sb、53 gb / 49 gib</grenier>
クイック検索で紛失したパーティションが見つからない場合は、より徹底的なスキャンのためにselectdeeper検索を行います。
スキャンの後、TestDiskは見つけたパーティションをリストします。矢印キーを使用して、回復するパーティションを選択します。
パーティションが正しいように見える場合は、selectwritetoパーティションテーブルをディスクに保存します。これにより、失われたパーティションが復元されます。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org ディスク /dev /sda -53 gb /50 gib -chs 51200 64 32 セクターのパーティション開始エンドサイズ 1 psデータ4096 1054719 1050624 [名前なし] 2 p Linux filesys。データ1054720 104855551 103800832 [quit] [return] [より深い検索]> [書き込み] パーティション構造をディスクに書き込みます</grenier>
yと入力して確認してください。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org パーティションテーブルを書いて、確認しますか? (y/n)</grenier>
次に、TestDiskを終了し、コンピューターを再起動してパーティションが復元されているかどうかを確認します。
私の場合、TestDiskはパーティションを正常に復元しました。
ここで、復元されたパーティションからファイルを回復しようとします。
以前の手順で説明されているように、ライブ環境にログインします。
削除されたファイルを回復するには、TestDiskを再度インストールする必要があります。なぜなら、私たちはライブシステムを再起動し、テストディスクはもうなくなったからです。
sudo apt update && sudo apt install testdisk -y
TestDiskを起動します:
sudo testdisk
TestDiskでは、ファイルが配置されているパーティションを選択します。
メニューからselectadvanced。
パーティションを選択し、 Pを押してパーティション上のファイルを表示します。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org ディスク /dev /sda -53 gb /50 gib -chs 51200 64 32 セクターのパーティション開始エンドサイズ PSデータ4096 1054719 1050624 [名前なし] > P Linux filesys。データ1054720 104855551 103800832 構造:わかりました。矢印キーを使用して、パーティションを選択します。 左/右矢印キーを使用して、パーティション特性を変更します。 P =プライマリD =削除 キーA:パーティションを追加、L:ロードバックアップ、T:変更タイプ、P:リストファイル、 入力:続行します ext4 blocksize = 4096 large_file sparse_sb、53 gb / 49 gib</grenier>
これで、選択したパーティションに利用可能なファイルが表示されます。ディレクトリをナビゲートして、削除されたファイルを見つけます。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org P Linux filesys。データ1054720 104855551 103800832 ディレクトリ / > DRWXR-XR-X 0 0 4096 5-MAR-2025 11:43。 DRWXR-XR-X 0 0 4096 5-MAR-2025 11:43 .. DRWXR-XR-X 0 0 4096 5-MAR-2025 11:42ブート -RW ------- 0 0 2147483648 25-APR-2024 12:48 SWAPFILE DRWXR-XR-X 0 0 4096 5-MAR-2025 11:43 var DRWXR-XR-X 0 0 4096 7-AUG-2023 22:52 DEV DRWXR-XR-X 0 0 4096 18-APR-2022 10:28 Proc DRWXR-XR-X 0 0 4096 25-APR-2024 12:52 RUN DRWXR-XR-X 0 0 4096 5-MAR-2025 11:43スナップ DRWXR-XR-X 0 0 4096 18-APR-2022 10:28 SYS 次 右を使用してディレクトリを変更し、hに削除されたファイルを非表示にする Qを終了するために:現在のファイルを選択するには、すべてのファイルを選択するには c選択したファイルをコピーするには、c現在のファイルをコピーする</grenier>
Cキーを使用して、削除されたファイルを安全な場所(たとえば、別のドライブ)にコピーし、 Cを押して宛先ドライブにファイルを保存します。
Estdisk 7.1、データリカバリユーティリティ、2019年7月 マークされたファイルがコピーされる宛先を選択してください。 キー:別のディレクトリを選択するための矢印キー c目的地が正しいとき Qを終了します ディレクトリ/メディア/ubuntu/バックアップ > DRWX ------ 1000 1000 4096 5-MAR-2025 12:15。 DRWXR-X --- 0 0 80 5-MAR-2025 13:27 .. drwx ------ 0 0 16384 5-MAR-2025 11:49失われた発見
Cを押して、宛先内のファイルをコピーします。
TestDisk 7.1、データリカバリユーティリティ、2019年7月 Christophe Grenier <grenier> https://www.cgsecurity.org P Linux filesys。データ1054720 104855551 103800832 ディレクトリ / コピーが完了! 7 OK、0が失敗しました > DRWXR-XR-X 0 0 4096 5-MAR-2025 11:43。 DRWXR-XR-X 0 0 4096 5-MAR-2025 11:43 .. DRWXR-XR-X 0 0 4096 5-MAR-2025 11:42ブート -RW ------- 0 0 2147483648 25-APR-2024 12:48 SWAPFILE DRWXR-XR-X 0 0 4096 5-MAR-2025 11:43 var DRWXR-XR-X 0 0 4096 7-AUG-2023 22:52 DEV DRWXR-XR-X 0 0 4096 18-APR-2022 10:28 Proc DRWXR-XR-X 0 0 4096 25-APR-2024 12:52 RUN DRWXR-XR-X 0 0 4096 5-MAR-2025 11:43スナップ DRWXR-XR-X 0 0 4096 18-APR-2022 10:28 SYS 停止 次 右を使用してディレクトリを変更し、hに削除されたファイルを非表示にする Qを終了するために:現在のファイルを選択するには、すべてのファイルを選択するためにa c選択したファイルをコピーするには、c現在のファイルをコピーする</grenier>
アイテムのサイズに応じて、数分から数分かかります。
複数のファイルをバックアップする場合は、Aを押してすべてのファイルを選択し、 Cを押して希望する宛先に保存します。
完了したら、selectingquitでtestdiskを終了します。
TestDiskがすべてを復元しない場合、 Photorecは個々のファイルの回復に役立ちます。
Photorecは、ファイルリカバリを専門とするテストディスクのコンパニオンツールです。ファイルシステムが破損している場合、またはパーティションが失われた場合でも機能します。
ローカルドライブ(/dev/sda2)のext4パーティションから誤ってファイル(ドキュメント、画像、またはビデオ)を誤って削除したとしましょう。 Photorecを使用してそれらを回復する方法を説明します。
PhotorecはTestDiskに含まれています。インストールされていない場合は、実行してください。
sudo aptアップデート sudo aptインストールtestdisk
次のコマンドを実行します。
Sudo Photorec
テキストベースのインターフェイスが開きます。 Photorecインターフェイスは、TestDiskに非常に似ていますが、いくつかの異なるオプションがあります。
矢印キーを使用して、影響を受けるディスク(ローカルドライブのために/dev/sda)を強調表示し、 Enterを押して選択します。
ファイルが削除されたパーティション( /dev /sda2)を覚えている場合は、選択します。パーティションテーブルが破損している場合は、 「パーティションなし」を選択し、ディスク全体をスキャンします。
Enterを押して進みます。
Photorecは、ファイルシステムタイプを要求します。
Enterを押して続行します。
矢印キーを使用して、最初に空きスペースを選択します。必要なものが回復しない場合は、ディスク全体を試してください。
Enterを押して続行します。
Photorecは、宛先フォルダーに回復したファイルを保存するよう要求します。左矢印キーを押して、宛先ドライブを選択します。
Photorecは、ファイルの自動を自動的に回復し始めます。進行状況バーが表示されます。
完了するまで待ちます。
終了したら、リカバリフォルダーに移動してファイルを確認します。
ls -lh/media/ubuntu/backup/
Photorecは、元の名前なしでファイルを回復しますが、拡張機能(.jpg、.pdf、.mp4)を保持します。
必要に応じて、タイプでファイルをソートします。
ls -lh/media/ubuntu/backup/| grep .pdf
追加のヒント:
ファイルを元に戻した場合は、次のステップをスキップしてステップ8に直接移動できます。ただし、必要なファイルを取得できなかった場合は、読み進めてください。
Extundeleteは、Ext3/Ext4ファイルシステムから削除されたファイルを回復するためのもう1つの強力なツールです。
RAWデータレベルで機能するPhotorecとは異なり、Extundeleteは、データブロックが上書きされていない場合、元のファイル名とディレクトリ構造でファイルを復元しようとします。
すでに言ったように、すぐにディスクにデータの書き込みを停止し、システムの使用を停止します。ステップ4で説明したように、ライブ環境にログインします。
インストールされていない場合は、実行してください。
sudo aptアップデート sudo apt install extundelete
次のコマンドを実行して、回復可能なファイルをリストします。
sudo extundelete /dev /sda2 - リストデレート
これにより、パーティションがスキャンされ、回復できるファイルが表示されます。
特定のファイル(eg、fality.docなど)を見つけた場合は、以下を使用して回復します。
Sudo extundelete/dev/sda2 - Restore-file /home/user/documents/important.doc
回復したファイルは、現在のディレクトリのRecovered_filesというフォルダーに保存されます。
ディレクトリ全体(/home/user/picturesなど)全体を削除した場合は、以下を使用してください。
sudo extundelete/dev/sda2 - restore-directory/home/user/pictures
これにより、そのフォルダーからすべてのファイルが復元されます。
削除されたすべてのファイルを復元する場合は、実行してください。
sudo extundelete /dev /sda2 - restore-all
これにより、削除されたすべてのファイルを回復し、Recovered_files/に保存しようとします。
回復が完了したら、フォルダーを確認してください。
ls -lh recovered_files/
重要なメモ
回復が完了したら、取得したファイルを確認し、安全な場所に移動したことを確認してください。新鮮なOSインストールを進める前に、それらがそのままであることを確認してください。
システムファイルは修復できないため、完全なOS再インストールが必要です。ライブUSBを使用して、好みのLinuxディストリビューションをインストールします。
Timeshift 、 RSYNC 、クラウドストレージなどのツールを使用してバックアップがある場合は、今こそそれらを復元する時です。より多くのバックアップオプションを探索するには、バックアップツールカテゴリをご覧ください。
sudo rm -rf /*を実行することは悲惨な間違いですが、迅速に行動して構造化されたアプローチに従うと、データの回復が可能です。重要な手順は、ライブUSBを使用してドライブ上のすべてのアクティビティを停止し、 TestDisk、Photorec、Extundeleteなどの回復ツールを活用し、OSの再インストールです。
同様の状況に遭遇しましたか?以下のコメントであなたの経験と回復のヒントを共有してください!それに応じてガイドを確認して更新します。
以上が誤ってOSを削除した後、Linuxでデータを回復するための包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。