友人や家族のPCにOSをインストールする際、圧倒的な恐怖感を引き起こす大きな出来事が一つあります。それは、データの損失です。自分のデータに起こるだけでも十分辛いのに、他人のPCに起こるとなると、その気持ちは耐え難いものになるかもしれません。
ニューヨーク州北部で最近、親戚が集まっていた時にまさにその状況に陥ったので、よく分かります。母のノートパソコンにWindows 7をインストールした状態でUbuntu 16.04をインストールしようとしていたのですが、(恥ずかしながら認めざるを得ませんが)Windowsのパーティションサイズを変更する前に、母のデータのバックアップを取っておくのを忘れていました。Windows 7を起動し直そうとした時に初めて、自分が何をしてしまったのかに気づきました。
軽いパニック発作に襲われ、何度か彼女に「大丈夫だよ」と言い聞かせた後、私を救ってくれたプログラムを見つけました。TestDiskです。TestDiskは以前から存在していて、2011年にはPCWorldでもレビューされています。とてもうまく機能しますが、派手なGUIは不要です。Ubuntu 16.04に同梱されている公式Ubuntuリポジトリに入っていることがわかりました。(Arch Linux Extraリポジトリでも入手可能です。)
TestDiskが救世主
TestDiskのウェブサイトによると、このプログラムは「ソフトウェアの不具合(特定の種類のウイルスや人為的ミス(パーティションテーブルの誤削除など)など)によって失われたパーティションを復元したり、起動できないディスクを再び起動可能にしたりするために設計されている」とのことです。ストレージドライブについて理解しておくべき点の1つは、ファイルやパーティションテーブルを削除しても、データはディスク上に残っているということです。削除によってデータへのポインタが削除されるだけで、OSはそれらのブロックを上書きできるようになります。(データ自体を削除することもできますが、通常はshredなどのツールを使って意図的に削除する必要があります。)
TestDiskはWindowsまたはLinuxパーティションの復旧ツールとして使用できますが、PC上で別の環境を起動し、失われたファイルを復元するために、UbuntuのライブUSBドライブが必要です。Ubuntuを起動した状態で、コマンドsudo apt-get install testdisk を使用してTestDiskをインストールします。管理者権限で実行する必要があります:sudo testdisk

TestDisk はコンソール プログラムですが、そのメニューとコマンドは、コマンド ライン ウィザードに詳しくない人でも簡単に操作できます。
初回実行時に、TestDiskは新しいログファイルを作成するかどうかを尋ねます(おそらくそうするでしょう)。そこからプログラムは自動的にドライブを検索します。ドライブが見つからない場合は、TestDiskの引数としてブロックデバイスを指定する必要があります(例:sudo testdisk /dev/sda) 。復旧対象のドライブがどこにあるか不明な場合は、 lsblkコマンドを使用して 詳細情報を取得してください。
ドライブが表示されると、TestDiskは削除されたパーティションも含め、パーティションを自動的に検出します。また、TestDiskはファイルエントリも自動的に検索しますが、破損または削除されたパーティションの場合は、より詳細なスキャンが必要になります。TestDiskはパーティション全体をブロックごとに読み取るため、詳細なスキャンには時間がかかります。スキャンが完了し、すべてのファイルが表示されたら、ファイルをバックアップメディアにコピーできます(そうすべきです)。

TestDisk によってファイルが復元されたら、バックアップ メディアにコピーできます。
TestDiskはドライブのデータのソフトウェア的な障害のみを修復するものであり、物理的な障害が発生した場合の救済策にはならないことにご注意ください。データのバックアップは必ずしっかりと取っておくべきです。完全かつ最新のバックアップがあれば、何か問題が発生した場合でも、いつでもドライブを消去できます。