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

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

最終更新日:Aug 21, 2026

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

背景情報

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

前提条件

  • ワークフロー セクションを確認済みであること。

  • さらなる破損を発生させずにデータを復元するための知識とスキルがあること。

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

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

  • データが重要で、データ復元の専門知識がない場合は、手動で復元するのではなく、専門のデータ復元業者に依頼してください。

ワークフロー

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

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

システムファイルを誤って削除した後のデータ復元

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

説明

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

操作ガイド

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

ユースケース

  • 誤って rm -rf /* を実行し、インスタンスが起動できません。

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

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

操作フローチャート

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

操作手順

  1. 現在のインスタンスのスナップショットを作成します。

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

  2. 元のインスタンスからディスクをデタッチし、別のインスタンスにアタッチします。

    警告

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

    [強制停止] は、インスタンスの電源を切る操作と同等です。オペレーティングシステム上でディスクに書き込まれていないデータは失われる可能性があります。慎重に実行してください。

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

    警告

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

  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     2M BIOS boot
      /dev/vda2    6144    415743    409600   200M EFI System
      /dev/vda3  415744 304087006 303671263 144.8G 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    2M BIOS boot
      /dev/vdb2    6144   415743   409600  200M EFI System
      /dev/vdb3  415744 83886046 83470303 39.8G Linux filesystem

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

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

      sudo testdisk /dev/vdb

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

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
      
        TestDisk is free software, and
      comes with ABSOLUTELY NO WARRANTY.
      
      Select a media (use Arrow keys, then press Enter):
      >Disk /dev/vdb - 42 GB / 40 GiB
      
      
      
      >[Proceed ]  [ Quit  ]
      
      Note: Disk capacity must be correctly detected for a successful recovery.
      If a disk listed above has an incorrect size, check HD jumper settings and BIOS
      detection, and install the latest OS patches and disk drivers.
      
    4. パーティションテーブルのスタイルを選択します。デフォルトは [Intel] です。ディスクが GUID パーティションテーブル (GPT) を使用している場合は、[EFI GPT] を選択します。[Enter] キーを押します。

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
      
      Disk /dev/vdb - 42 GB / 40 GiB
      
      Please select the partition table type, press Enter when done.
       [Intel  ] Intel/PC partition
      >[EFI GPT] EFI GPT partition map (Mac i386, some x86_64...)
       [Humax  ] Humax partition table
       [Mac    ] Apple partition map (legacy)
       [None   ] Non partitioned media
       [Sun    ] Sun Solaris partition
       [XBox   ] XBox partition
       [Return ] Return to disk selection
      
      Hint: EFI GPT partition table type has been detected.Note: Do NOT select 'None' for media with only a single partitio
      
    5. [分析]を選択し、[Enter]を押してディスクをスキャンします。

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
      
      Disk /dev/vdb - 42 GB / 40 GiB
           CHS 83220 16 63 - sector size=512
      
      >[ Analyse  ] Analyse current partition structure and search for lost partitions
       [ Advanced ] Filesystem Utils
       [ Geometry ] Change disk geometry
       [ Options  ] Modify options
       [ Quit     ] Return to disk selection
      
      
      
      Note: Correct disk geometry is required for a successful recovery. 'Analyse'
      process may give some warnings if it thinks the logical geometry is mismatched.
      
    6. パーティション情報が表示されない場合は、[クイック検索]を選択し、[Enter]を押します。

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

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
      
         Disk /dev/vdb - 42 GB / 40 GiB - CHS 83220 16 63
           Partition               Start        End    Size in sectors
        P MS Data                   6144     415743       409600
      >P Linux filesys. data      415744   83886039    83470296 [root]
      
      
      
      
      Structure: Ok.  Use Up/Down Arrow keys to select partition.
      Use Left/Right Arrow keys to CHANGE partition characteristics:
                      P=Primary  D=Deleted
      Keys A: add partition
      
    7. [詳細検索] を選択し、[Enter] を押します。

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

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
      
      Disk /dev/vdb - 42 GB / 40 GiB - CHS 83220 16 63
      
      The harddisk (42 GB / 40 GiB) seems too small! (< 75 GB / 70 GiB)
      Check the harddisk size: HD jumper settings, BIOS detection...
      
      The following partitions can't be recovered:
           Partition               Start        End    Size in sectors
      >  Linux filesys. data      677886   84148181   83470296  [root]
         Linux filesys. data     1202174   84672469   83470296  [root]
         Linux filesys. data     1726462   85196757   83470296  [root]
         Linux filesys. data     2250750   85721045   83470296  [root]
         Linux filesys. data     2775038   86245333   83470296  [root]
         Linux filesys. data     6969342   90439637   83470296  [root]
         Linux filesys. data     7493630   90963925   83470296  [root]
         Linux filesys. data    13260798   96731093   83470296  [root]
         Linux filesys. data    17461456  100931751   83470296  [root]
         Linux filesys. data    17461598  100931893   83470296  [root]
      
      [ Continue ]
      ext4 blocksize=4096 Large_file Sparse_SB Recover, 42 GB / 39 GiB
      

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

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
         P Linux filesys. data      415744    83886039    83470296 [root]
      Directory /
      
      >dr-xr-xr-x     0     0      4096 20-Dec-2024 10:06 .
       dr-xr-xr-x     0     0      4096 20-Dec-2024 10:06 ..
       drwxr-xr-x     0     0      4096 20-Dec-2024 10:06 usr
       dr-xr-xr-x     0     0      4096 20-Dec-2024 10:03 boot
       drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 dev
       drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 proc
       drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 run
       drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 sys
       drwxr+xr-x     0     0         0 20-Dec-2024 10:06 etc
       -rw-------     0     0         0 20-Dec 2024 10:06 root
       drwxr-xr-x     0     0      4096 20-Dec-2024 10:06 var
       drwxr-xr-x     0     0      4096 20 Dec-2024 10:06 usr
       lrwxrwxrwx     0     0         7  9-Feb-2022 20:18 bin
       lrwxrwxrwx     0     0         8  9-Feb 2022 20:18 sbin
       lrwxrwxrwx     0     0         7  9-Feb-2022 20:18 lib
       lrwxrwxrwx     0     0         9  9 Feb 2022 20:18 lib64
       lrwxrwxrwx     0     0         7  9-Feb-2022 20:18 bin;672827fb
       drwxr-xr-x     0     0         8 20-Dec-2024 18:03 home
       -rw-------     0     0         8 20-Dec-2024 09:43 .ismount-test-file
       drwxr-xr-x     0     0         0 29-Dec-2024 18:03 media
       drwxr-xr-x     0     0         8 20-Dec-2024 10:03 mnt
       drwxr-xr-x     0     0         8 20-Dec-2024 18:03 opt
       lrwxrwxrwx     0     0         9  9-Feb-2022 20:18 sbin;672827fb
       drwxr-xr-x     0     0         8 29-Dec-2024 18:04 srv
       drwxrwxrwt     0     0      4096 20-Dec-2024 10:06 tmp
                                                           Next
      Use Right to change directory, h to hide deleted files
          q to quit, : to select the current file, a to select all files
          C to copy the selected files, c to copy the current file
      

      指定したファイルとディレクトリの復元

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

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
         Linux filesys. data           415744    83886039    83470296 [root]
      Directory /
      
      dr-xr-xr-x     0     0      4096 18-Dec-2024 11:14 .
      dr-xr-xr-x     0     0      4096 18-Dec-2024 11:14 ..
      drwx------     0     0         0 18-Dec-2024 11:13 lost+found
      dr-xr-xr-x     0     0      4096 18-Dec-2024 11:13 boot
      drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 dev
      drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 proc
      drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 run
      drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 sys
      drwxr-xr-x     0     0         0 18-Dec-2024 11:15 etc
      dr-xr-x---     0     0      4096 18-Dec-2024 11:14 root
      drwxr-xr-x     0     0      4096  4-Nov-2024 10:03 var
      drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 usr
      lrwxrwxrwx     0     0         7  9-Feb-2022 20:18 bin
      lrwxrwxrwx     0     0         8  9-Feb-2022 20:18 sbin
                                                          Next
      Use Right to change directory, h to hide deleted files
          q to quit, : to select the current file, a to select all files
          C to copy the selected files, c to copy the current file
      

      すべてのファイルの復元

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

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
         P Linux filesys. data    415744    83886039    83470296 [root]
      Directory /
      
      >dr-xr-xr-x     0     0      4096 20-Dec-2024 10:06 .
       dr-xr-xr-x     0     0      4096 20-Dec-2024 10:06 ..
       *drwxr-xr-x     0     0      4096 20-Dec-2024 10:06 usr
       *dr-xr-xr-x     0     0      4096 20-Dec-2024 10:03 boot
       *drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 dev
       *drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 proc
       *drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 run
       *drwxr-xr-x     0     0      4096  4-Nov-2024 09:48 sys
       *drwxr-xr-x     0     0         0 20-Dec-2024 10:06 etc
       *-rw-------     0     0         0 20-Dec-2024 10:06 root
       *drwxr-xr-x     0     0      4096 20-Dec-2024 10:06 var
       *drwxr-xr-x     0     0      4096 20-Dec-2024 10:06 usr
       *lrwxrwxrwx     0     0         7  9-Feb-2022 20:18 bin
       *lrwxrwxrwx     0     0         8  9-Feb-2022 20:18 sbin
       *lrwxrwxrwx     0     0         7  9-Feb-2022 20:18 lib
       *lrwxrwxrwx     0     0         9  9-Feb-2022 20:18 lib64
       *lrwxrwxrwx     0     0         7  9-Feb-2022 20:18 bin;672827fb
       *drwxr-xr-x     0     0         0 20-Dec-2024 10:03 home
       *-rw-------     0     0         0 20-Dec-2024 09:43 .ismount-test-file
       *drwxr-xr-x     0     0         0 20-Dec-2024 10:03 media
       *drwxr-xr-x     0     0         0 20-Dec-2024 10:03 mnt
       *drwxr-xr-x     0     0         0 20-Dec-2024 10:03 opt
       *lrwxrwxrwx     0     0         8  9-Feb-2022 20:18 sbin;672827fb
       *drwxr-xr-x     0     0         0 20-Dec-2024 10:04 srv
       *drwxrwxrwt     0     0      4096 20-Dec-2024 10:06 tmp
                                                            Next
      Use Right to change directory, h to hide deleted files
       q to quit, : to select the current file, a to select all files
       C to copy the selected files, c to copy the current file
      
    9. 宛先ディレクトリを選択し、[C] を押してファイルを貼り付けます。この例では、ファイルは /home/ecs-user/data_recovery に復元されます。

      TestDisk 7.1, Data Recovery Utility, July 2019
      
      Please select a destination where /root and any files below will be copied.
      Keys: Arrow keys to select another directory
            C when the destination is correct
            Q to quit
      Directory /home/ecs-user/data_recovery
      
      >drwxrwxr-x  1000  1000      4096 18-Dec-2024 18:05 .
       drwx------  1000  1000      4096 18-Dec-2024 18:23 ..
      

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

      TestDisk 7.1, Data Recovery Utility, July 2019
      Christophe GRENIER <grenier@cgsecurity.org>
      https://www.cgsecurity.org
         Linux filesys. data      415744    83886039  83470296 [Root]
      Directory /root
      Copy done! 10 ok, 0 failed
      dr-xr-xr-x     0     0     4096 18-Dec-2024 11:14 .
      dr-xr-xr-x     0     0     4096 18-Dec-2024 11:14 ..
      drwx------      0     0        0 18-Dec-2024 11:13 lost+found
      dr-xr-xr-x     0     0     4096 18-Dec-2024 11:13 boot
      drwxr-xr-x     0     0     4096  4-Nov-2024 09:48 dev
      drwxr-xr-x     0     0     4096  4-Nov-2024 09:48 proc
      drwxr-xr-x     0     0     4096  4-Nov-2024 09:48 run
      drwxr-xr-x     0     0     4096  4-Nov-2024 09:48 sys
      drwxr-xr-x     0     0        0 18-Dec-2024 11:15 etc
      dr-xr-x---     0     0     4096 18-Dec-2024 11:14 root
      drwxr-xr-x     0     0     4096  4-Nov-2024 10:03 var
      drwxr-xr-x     0     0     4096  4-Nov-2024 09:48 usr
      lrwxrwxrwx     0     0        7  9-Feb-2022 20:18 bin
      lrwxrwxrwx     0     0        8  9-Feb-2022 20:18 sbin
                                                          Next
      Use Right to change directory, h to hide deleted files
         St q to quit, : to select the current file, a to select all files
             C to copy the selected files, c to copy the current file
      
    10. インスタンスに再接続し、/home/ecs-user/data_recovery に移動します。ディレクトリにファイルが表示されると、復元は成功です。

      [ecs-user@                              root]$ pwd
      /home/ecs-user/data_recovery/root
      [ecs-user@                              root]$ ls -la
      total 20
      drwxr-xr-x 4 root     root           4096 Dec 18 11:14 .
      drwxrwxr-x 3 ecs-user ecs-user       4096 Dec 18 18:26 ..
      -rw-r--r-- 1 root     root              0 Nov  4 10:06 anaconda-ks.cfg
      -rw-r--r-- 1 root     root              0 Dec 18 11:14 .bash_logout
      -rw-r--r-- 1 root     root              0 Dec 18 11:14 .bash_profile
      -rw-r--r-- 1 root     root              0 Dec 18 11:14 .bashrc
      -rw-r--r-- 1 root     root              0 Dec 18 11:14 .cshrc
      -rw-r--r-- 1 root     root            102 Nov  4 10:06 original-ks.cfg
      drwxr-xr-x 2 root     root           4096 Dec 18 11:14 .pip
      -rw-r--r-- 1 root     root              0 Dec 18 11:14 .pydistutils.cfg
      -rw-r--r-- 1 root     root              0 Dec 18 11:15 script
      -rw-r--r-- 1 root     root              0 Dec 18 11:14 sedZsHuoR
      drwxr-xr-x 2 root     root           4096 Dec 18 11:14 .ssh
      -rw-r--r-- 1 root     root              0 Dec 18 11:14 .tcshrc
      

関連ドキュメント