すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Linux データ復元のベストプラクティス

最終更新日:May 16, 2026

testdisk とディスクの再アタッチを使用して、Linux Elastic Compute Service (ECS) インスタンスで誤って削除したファイルを復元します。

背景情報

本トピックで紹介するワークフローとツールは、誤って削除したファイルの復元に役立ちます。復元結果は、シナリオと方法によって異なります。実際の状況に合わせて、適切な対策を選択してください。

前提条件

  • ワークフロー セクションを読んでいること。

  • データをさらに破損させることなく、データを復元できる知識とスキルがあること。

  • 誤操作による破損を防ぐため、復元対象のディスクのスナップショットを作成済みであること。

警告
  • 本トピックでは、データ復元にサードパーティのオープンソースソフトウェアを使用します。Alibaba Cloud は、サードパーティソフトウェアの復元結果を保証しません。

  • データが重要で、データ復元の専門知識がない場合は、手動でデータを復元するのではなく、専門のデータ復元業者にお問い合わせください。

ワークフロー

誤削除後にシステムを起動できない場合のデータ復元

Linux インスタンスで root ユーザーとして rm -rf /* を実行し、再起動後に grub CLI が表示された場合は、このワークフローに従ってソースシステムディスクからデータを復元してください。

image

システムファイルの誤削除後のデータ復元

Linux インスタンスで rm -rf <file_or_dir> を実行し、削除されたデータを復元する必要がある場合は、このワークフローに従ってください。

説明

削除が原因で SSH 接続に失敗した場合、VNC (VNC) を使用してインスタンスに接続してください。

image

操作ガイド

次の例では、誤削除後にインスタンスを起動できない場合に、testdisk を使用してデータを復元する方法を示します。

ユースケース

  • 誤って rm -rf /* を実行してしまい、インスタンスが起動できなくなります。

  • 削除前にスナップショットを作成していない、または復元にスナップショットを使用したくない場合。

  • 別の Linux インスタンスを使用してデータを復元したい場合。

操作フローチャート

次のフローチャートは、データ復元の手順を示しています。

image

操作手順

  1. 現在のインスタンスのスナップショットの作成

    データを復元する前に、ターゲットインスタンスのシステムディスクまたはデータディスクのスナップショットを作成し、既存データをバックアップします。詳細については、「ディスクのスナップショット作成」をご参照ください。

  2. ソースインスタンスからのディスクのデタッチと別インスタンスへのアタッチ

    警告

    システムディスクをデタッチする前に、ECS コンソールで 強制停止 を選択してインスタンスを停止してください。そうしないと、システムディスクはデタッチできません。

    image

    システムディスクまたはデータディスクをデタッチし、正常に動作している別の Linux インスタンスにアタッチします。詳細については、「システムディスクのデタッチまたはアタッチ」をご参照ください。

    警告

    ソースシステムディスクを別のインスタンスにデータディスクとしてアタッチすると、ECS コンソールでディスクの初期化を求めるプロンプトが表示されることがあります。 絶対に [今すぐ初期化] を選択しないでください。 ダイアログボックスを閉じて、続行してください。 そうしないと、復元するデータが破損します。

    image

  3. 誤って削除したデータの復元

    testdisk を使用して、削除されたデータまたはディレクトリを復元します。次の例では、Linux インスタンスで削除されたディレクトリを復元します。

    1. 正常に動作しているインスタンスに testdisk をインストールします。コマンドはオペレーティングシステムによって異なります。

      Alibaba Cloud Linux 2 または 3

      sudo yum install -y testdisk

      CentOS 6、CentOS 7、または CentOS 8

      sudo yum install -y testdisk

      Ubuntu または Debian

      sudo apt install -y testdisk
    2. 現在のディスクパーティションを確認します:

      sudo fdisk -lu

      出力例:

      Disk /dev/vda: 145 GiB, 155692564480 bytes, 304087040 sectors
      Units: sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disklabel type: gpt
      Disk identifier: F51132A7-67B1-4650-806D-FD0DE6E1210C
      
      Device      Start       End   Sectors   Size Type
      /dev/vda1    2048      6143      4096     2 M BIOS boot
      /dev/vda2    6144    415743    409600   200 M EFI System
      /dev/vda3  415744 304087006 303671263 144.8 G Linux filesystem
      
      
      Disk /dev/vdb: 40 GiB, 42949672960 bytes, 83886080 sectors
      Units: sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disklabel type: gpt
      Disk identifier: F51132A7-67B1-4650-806D-FD0DE6E1210C
      
      Device      Start      End  Sectors  Size Type
      /dev/vdb1    2048     6143     4096    2 M BIOS boot
      /dev/vdb2    6144   415743   409600  200 M EFI System
      /dev/vdb3  415744 83886046 83470303  39.8 G Linux filesystem

      この例では、/dev/vda は通常のインスタンスのシステムディスクです。/dev/vdb は、データディスクとしてアタッチされたソースインスタンスのシステムディスクです。

    3. 対象のディスクで testdisk を実行します:

      sudo testdisk /dev/vdb

      Proceed (デフォルト) を選択し、[Enter] キーを押します。

      image

    4. パーティションテーブルのスタイルを選択します。デフォルトは [Intel] です。ディスクが GUID パーティションテーブル (GPT) を使用する場合は、[EFI GPT] を選択します。[Enter] を押します。

      image

    5. [分析]を選択し、[Enter] を押してディスクをスキャンします。

      image

    6. パーティション情報が表示されない場合は、[クイック検索] を選択し、[Enter] を押してください。

      image

      パーティション情報が表示されたら、目的のパーティションを選択し、[Enter] を押します。

      image

    7. [詳細検索]を選択し、[Enter] を押します。

      image

    8. 回復可能なファイルが表示されたら、[続行] を選択し、[Enter] を押します。

      image

      [P] キーを押すと、ファイルが一覧表示されます。

      image

      指定したファイルとフォルダーの復元

      復元するファイルを選択して、[c] を押します。

      image

      すべてのファイルの復元

      [a] を押してすべてのファイルを選択し、[C] を押してコピーします。

      image

    9. 宛先ディレクトリを選択し、[C] を押してファイルを貼り付けます。 この例では、ファイルは /home/ecs-user/data_recovery に復元されます。

      image

      Copy done! 10 ok, 0 failed のようなメッセージは、ファイルがコピーされたことを示します。

      image

    10. インスタンスに再接続し、/home/ecs-user/data_recoveryに移動します。 ディレクトリにファイルが表示されていれば、復元は成功です。

      image

関連ドキュメント