LinuxでTestDiskデータ復旧ツールをインストールして使用する方法


TestDiskは、削除または失われたパーティションからデータを回復するために使用される、無料のオープンソースのコマンドラインデータ回復ツールです。さらに、これを使用して、パーティションテーブルの誤った削除やマルウェア攻撃などの要因によって引き起こされる可能性のある起動不可能なパーティションを復活させることができます。

コマンドラインソフトウェアは、Christophe GranierによってCプログラミング言語で記述され、GNU/GPLv2ライセンスの下でライセンスされています。 TestDiskはクロスプラットフォームツールであり、Linux、Windows、macOS、FreeBSD、OpenBSD、さらにはNetBSDなどのほぼすべてのデスクトップオペレーティングシステムで実行されます。

TestDiskは、以下に概説するように、無数のデータ復旧アプリケーションが付属する強力で軽量なソフトウェアツールです。

  1. TestDisk is able to repair a corrupt or damaged partition table.
  2. It can seamlessly recover a deleted disk partition.
  3. It restores files from Windows filesystems such as NTFS, FAT, FAT32, exFAT and ext2 Linux filesystem.
  4. It can copy files from deleted or corrupt Windows filesystems such as NTFS, FAT32, and exFAT and Linux partitions (ext2, ext3, and ext4).
  5. TestDisk can recover and rebuild the NTFS, FAT32 and FAT16 boot sectors from their backups.
  6. TestDisk can also repair corrupt FAT32 tables as well as the MFT by riding with the help of the MFT mirror.

この記事では、Linuxで起動できないパーティションを回復するためにTestDiskデータ回復ユーティリティをインストールする方法を紹介します。

LinuxにTestDiskをインストールする方法

パッケージTestDiskは、示されているように、デフォルトのパッケージマネージャーを使用して、ほとんどのLinuxディストリビューションのデフォルトのシステムリポジトリからインストールできます。

開始するには、システムパッケージを更新し、図のようにTestDiskをインストールします。

$ sudo apt update
$ sudo apt install testdisk

次のdpkgコマンドを実行して、Testdiskがインストールされていることを確認し、詳細情報を表示します。

$ sudo dpkg -l testdisk

TestDiskをインストールするには、最初にEPELリポジトリを有効にしてから、図のようにTestDiskをインストールします。

------------ On RHEL/CentOS 7 ------------
# yum install epel-release
# yum update
# yum install testdisk

------------ On RHEL/CentOS 8 ------------
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# yum update
# yum install testdisk

Testdiskがインストールされていることを確認し、TestDiskツールに関する詳細情報を表示するには、次のrpmコマンドを実行します。

# rpm -qi testdisk

Fedoraシステムの場合は実行します。

$ sudo dnf install testdisk

Arch Linuxの場合:

$ sudo pacman -S testdisk

Linuxディストリビューションに適したパッケージが見つからない場合は、公式サイトからTestDiskをダウンロードしてください。

LinuxでTestDiskを実行および使用する方法

testdiskはコマンドラインから実行されるため、以下のコマンドを実行して、システム上のパーティションを表示します。

# testdisk /list

ここで、Linuxパーティションテーブルが失われたか破損していると仮定します。 TestDiskを使用してLinuxパーティションを復元するには、最初に実行します。

# testdisk

[作成]を選択してEnterキーを押します。これにより、選択するパーティションのリストが表示されます。あなたの場合、あなたのパーティションは以下に表示されているものとは異なります。

次に、下部にある[続行]を選択して、次のオプションに進みます。

システムは、使用しているパーティションテーブルタイプを自動的に検出します。私の場合、それは「Intel」です。 ENTERを押して続行します。

次のセクションでは、testdiskユーティリティの[分析]オプションを選択して、パーティション構造を調べます。

ディスク上に起動可能なパーティションが見つからない場合、以下のエラーが出力されます。

Partition                  Start        End    Size in sectors
No partition is bootable

*=Primary bootable  P=Primary  L=Logical  E=Extended  D=Deleted

[Proceed ]

[続行]オプションを選択します。

使用可能なパーティションのリストが次の画面に表示されます。 「ENTER」を押して次の画面に進みます。

次の画面で「書き込み」オプションを選択します。このオプションは、TestDiskがパーティションテーブルに書き込むようにトリガーします。

次に、Yを押して以下のように確定します。

Write partition table, confirm ? (Y/N)

TestDskは、変更を有効にするためにシステムを再起動するように要求します。

You will have to reboot for the change to take effect.

[OK]オプションを選択します。

次の画面で[終了]を選択してメニューを終了し、最後にもう一度[終了]を選択してTestDiskプログラムを終了します。

あなたが今しなければならないのはあなたのシステムを再起動することです。すべてがうまくいけば、新しいパーティションテーブルでシステムが正常に起動できるはずです。

TeskDiskは、破損したパーティションからデータを消去したり、起動できないパーティションを復活させて、期待どおりに起動したりする場合に理想的なツールです。幅広いファイルシステムをサポートし、WindowsからLinuxまであらゆるオペレーティングシステムで動作します。

このガイドでは、TestDiskを使用して起動できないパーティションを回復する方法を説明しましたが、このツールはさらに多くの用途に使用できます。