無料のツールで壊れたSDカードからファイルを救出する

カメラ
スポンサーリンク

だいぶ以前にEOS R10用のSDカードを購入したことを紹介しました。

EOS R10で使うSDメモリーカードを用意する
今回はCANONのミラーレスカメラEOS R10をいくつかのSDメモリーカード得見合わせて使ってみます。UHS-IのSDメモリカードだと撮影はできるものの連射に制限が出たり、4K動画の撮影が短時間しかできません。SDメモリカードも安くなっているのでカメラに合わせてUHS-IIのカードを購入することをお勧めします。

問題なくこのSDカードを使っていたのですが、あるとき突然データの読み込みができなくなってしまいました。

今回はこの状態からSDカード内のデータを救出したことを紹介したいと思います。

ちなみに使っているSDカードは下記になります。

スポンサーリンク

SDカードの破損の発生

その瞬間は突然やってきました。

EOS R10を持って2回ほど旅行に行ったので、そろそろデータをバックアップしておこうと、手元にあったSDカードリーダにSDカードを差してWindows PCにデータを「移動」していたところ、途中でエラーで停止してしまいました。

あとから思うと、敗因は

  • いつ購入したのかわからないような怪しいSDカードリーダを使ったこと
  • 「コピー」ではなく「移動」にしたこと

であったように思います。

とくに「移動」では、SDカード上のファイルを削除する処理が入るため、SDカード内のデータを破損するリスクが高くなるのだと思います。

WindowsのエクスプローラーからSDカードを開こうと思ってももうだめです。無常にも

SDカードが開けない

と表示されます。

ここで絶対に「ディスクのフォーマット」を選んではいけません

必ず「キャンセル」を選んでください。

「キャンセル」を選んでも、アクセスできないと表示されてしまい、どうにもなりません。

SDカードにアクセスできない

私はこの段階でSDカード内のデータ(おそらくパーティションテーブルなどの管理領域)が破損したことを理解しました。

スポンサーリンク

ファイル救出の準備

SDカードからファイルを救出する作業を開始する前にいくつか準備をしておきましょう。

SDカードのロック

まず最初の段階で行う必要があるのは、データの救出の確率を高めるために、SDカードへの書き込みをやめることです。

このため、SDカードのライトプロテクトスイッチをロック状態に変更しておきます。

ライトプロテクトスイッチをロック状態に

ロック状態にするにはSDカードの側面にあるスイッチを端子と反対側にスライドさせます。

Windowsの電源オプションの変更

ファイルの救出作業にはかなり時間がかかる場合があります。

処理中にWindowsがスリープに入ってしまったりすると、悪影響が出る恐れがあります。

Windowsの電源オプション(「Windowsアイコンを右クリック」→「電源オプション」)で「スリープ状態にする」と「休止状態にする」を「なし」にしておきましょう。

スリープと休止状態を無効にする

TestDisk/PhotoRecの入手

TestDisk/PhotoRecはフリーのデータリカバリーソフトです。

CGSecurity - Data recovery: TestDisk & PhotoRec
TestDisk and PhotoRec are free and open source data recovery software tools designed to recover lost partition, unerase deleted files, carve lost files.

SDカードからデータを救出するためのWindows用のソフトはいくつか存在しますが、調べた限りでは、有料であったり、無料版には使用制限があるため、今回はTestDiskを利用することにしました。

ちなみにTestDiskとPhotoRecの関係は

  • TestDisk: 主にパーティション関係の操作をするソフト
  • PhotoRec: ファイルのリカバリーに特化したソフト

となるようです。

TestDiskとPhotoRecは一緒に配布されています。今回はこの2つを組み合わせてファイルを救出します。

TestDiskは公式サイトから入手できます。

TestDisk Download
Download TestDisk & PhotoRec. TestDisk is a free and open source data recovery software tool designed to recover lost partition and unerase deleted files. PhotoRec is a file carver data recovery software tool.

私が試したときには7.2が最新版でした(7.3はベータ版でした)。

TestDiskのダウンロード

「Windows 64-bit」のところがZipファイルへのリンクとなっていますので、ダウンロードします。

ダウンロードしたZipファイルは適当なところで展開しておきましょう。「testdisk-7.2」というフォルダーができるはずです。

このフォルダーには3つの重要な実行ファイルがあることを確認しておきましょう。

ファイル名 中身
testdisk_win.exe パーティション操作ツールであるTestDisk
photorec_win.exe ファイルリカバリーソフトであるPhotoRec (コマンドライン版)
qphotorec_win.exe PhotoRecのGUI版

SDカードのバックアップ(ダンプ)

作業を始める前にTestDiskを使ってSDカードの中身を丸ごと吸い出し(ダンプし)、SDカードの中身をバックアップしておきます。

SDカードのバックアップにはさきほど入手したTestDiskに入っている「testdisk_win.exe」を使用します。

SDカードをWindows PCに接続してからtestdisk_win.exeをダブルクリックして起動してみましょう。

ユーザーアカウント制御の画面が表示された場合は「はい」を選択してください。

文字だけのウィンドウが表示されるはずです。この画面では基本的にカーソルキーエンターキーで操作します。

最初はログファイルについて聞かれるので「Create」を選択します。

ログファイルの作成

次に操作するドライブを選択する画面になります。Windows PCに接続されているドライブが表示されるので、SDカードに該当するものを選択します。

ドライブの選択

SDカードの特定は容量や名前をヒントに探すとよいでしょう。私の場合は一番下の12GBのGeneric Mass-StorageがSDカードでした。

次に選択したドライブのパーティションのタイプを選択します。デジタルカメラ用のSDカードの場合は「Intel/PC partition」となると思います。

パーティションタイプの選択

不安な場合は下から三行目の「Hint」を確認しましょう。SDカードがよほど壊れてなければ、TestDiskが検出したパーティションタイプが表示されているはずです。検出されたパーティションタイプを選択すれば大丈夫なはずです。

次は行いたい操作を選択する画面です。この画面では「Advanced」を選択しましょう。

操作の選択

Advancedの画面ではカーソルキーの左右で行いたい処理が選べます。ここでは「Image Creation」を選択します。

Image Creationを選択

するとSDカードをダンプして生成されるイメージファイルを保存するフォルダーを選択する画面になります。

フォルダーの選択

デフォルトでは実行したtestdisk_win.exeがあったフォルダーが表示されます。ここではカーソルキーの上下とエンターキーでイメージファイルを保存したいフォルダーを探し、目的のフォルダーが見つかったらcを入力すると、そのフォルダーを保存先として決定します。

なお1つ上のフォルダーに行くには「..」を選択します。

この画面では新しいフォルダーは作れないので、私は別途エクスプローラーでtestdisk_win.exeのあるフォルダーの中にimageというフォルダーを作成して、それを選択しました。

新しくフォルダーを作っても表示は更新されないので、いったん「..」を選んで1つ上に行ってから、戻って来る(TestDiskのフォルダーを選択する)と、新しく作ったフォルダーが表示されているはずです。

作成したフォルダを選択

これでダンプが開始されます。

ダンプの開始

進捗状況はパーセントで表示されます。このパーセントが100%になればダンプの完了ですが、完了までにはかなり時間がかかりますのでじっくり待ちましょう。

次の画面のように「image created successfully」と表示されれば完了です。

ダンプの完了

指定されたフォルダーに「image.dd」というファイルができているはずです。

イメージファイルができたらいったんTestDiskは終了しておきます。

PhotoRecによるファイルの復元

ファイルの復元はSDカードから直接復元することも、バックアップしたイメージファイルから復元することもできます。

安全面から考えるとイメージファイルを使ったほうが良いのですが、私が試した限りでは、SDカードから直接ファイルを復元したほうが、成功率が高い(復元できるファイル数が多い)ようです。

そのため、まずはSDカードからの復元を試すことをオススメします。ただし、救出処理にかかる時間はSDカードのほうが長くなります。

SDカードからの復元

今度は「qphotorec_win.exe」をダブルクリックして実行しましょう。これで「QPhotoRec」というウィンドウが表示されるはずです。

まず「復元先のメディアを選択してください」のところで右端の「▼」選択して表示されるリストの中から「SDカード」を選択します。SDカードの特定は容量や名前をヒントに探すとよいでしょう。私の場合は一番下の12GBのGeneric Mass-StorageがSDカードでした。

SDカードを選択

イメージファイルからの復元を試みる場合は、ここで「復元元ディスクイメージを追加」を選ぶと、イメージファイルを選択できます。

次に復元したファイルの保存先を選択します。保存先は右側の「参照」ボタンを使うと簡単に指定できます。

保存先を選択

私はrecover_from_sdというフォルダーを作成して、そこに保存することにしました。

なお、この画面の「ファイルフォーマット」を選択すると、復元するファイルの種類を限定できます。

ファイルフォーマット

ただデフォルトのままで良いと思います。

あとは「検索」を選択すると、SDカードから復元できるファイルを捜索します。

ファイルの創作の開始

進捗状況はリアルタイムで表示されるのでわかりやすいと思いますが、いかんせん時間がかかります。じっくり待ちましょう。

ファイルの捜索中

100%になったら完了です。私の場合はJPGファイルが1585個、MOVファイルが40個復元されました。

SDカードからの復元

イメージファイルからの復元

SDカードからの復元と同様にqphotorec_win.exeを利用します。

イメージファイルからの復元を試みる場合は、「復元元のメディアを選択してください」のところで「復元元ディスクイメージを追加」を選ぶと、イメージファイルを選択できます。

イメージファイルからの復元

あとの操作はSDカードからの復元と同じです。

ちなみに、イメージファイルから復元を試みた場合は、JPEGファイルが487個、MOVファイルが24個でした。

イメージファイルからの復元

SDカードからの復元とイメージファイルからの復元で差が出る理由は不明です。

TestDiskによるファイルの復元

TestDiskを使ってもファイルを救出する事ができます。

TestDiskはGUIがないので文字だけのシンプルな画面での操作になります。また、イメージファイルを利用するときはちょっと面倒だったりします。

SDカードからの復元

復元したファイルの保存先のフォルダーをあらかじめtestdisk_win.exeがあるフォルダー内に作成しておきましょう。

SDカードをWindowsPCに接続した状態で、SDカードをダンプした時に利用したtestdisk_win.exeをダブルクリックして実行します。

最初の方の操作はSDカードのダンプを行ったときと同じです。

まずはログファイルについて聞かれるので「Create」を選択します。

ログファイルの作成

次に操作するドライブを選択する画面になります。Windows PCに接続されているドライブが表示されるので、SDカードに該当するものを選択します。

ドライブの選択

SDカードの特定は容量や名前をヒントに探すとよいでしょう。私の場合は一番下の12GBのGeneric Mass-StorageがSDカードでした。

次に選択したドライブのパーティションのタイプを選択します。デジタルカメラ用のSDカードの場合は「Intel/PC partition」となると思います。

パーティションタイプの選択

不安な場合は下から三行目の「Hint」を確認しましょう。SDカードがよほど壊れてなければ、TestDiskが検出したパーティションタイプが表示されているはずです。検出されたパーティションタイプを選択すれば大丈夫なはずです。

次は行いたい操作を選択する画面です。この画面では「Advanced」を選択しましょう。

操作の選択

Advancedの画面ではカーソルキーの左右で行いたい処理が選べます。ここでは「Undelete」を選択します。

Undeleteを選択

ここでSDカードのファイルシステムが壊れていなければ、復元できるフォルダー・ファイルのリストが表示されます。

しかし、私の場合は、ファイルシステムが壊れていしまっているようで、この先に進めませんでした。

先に進めず

イメージファイルからの復元

復元したファイルの保存先のフォルダーをあらかじめtestdisk_win.exeがあるフォルダー内に作成しておきましょう。

気を取り直してイメージファイルからの復元を試してみましょう。イメージファイルを指定してtestdisk_win.exeを実行するのは少々面倒です。

まずはWindowsアイコンを右クリックして「ターミナル」を選択しましょう。ターミナルが開いたら「cd」コマンドで「testdisk_win.exe」があるフォルダーに移動します。

ちなみに、ターミナルに「cd」と入力したあとに、testdisk_win.exeのフォルダーをドラッグ・アンド・ドロップすればフォルダーのパスが入力されます。

あとは使用したいイメージファイルを引数にtestdisk_win.exeを実行します。

testdisk_win.exe イメージファイル

これでTestDiskの画面が表示されます。最初の画面では指定したイメージファイルが表示されていることを確認しましょう。

イメージファイルの確認

問題なければ「Proceed」を選択して先に進みます。

次にパーティションタイプを選択します。

パーティションタイプの選択

基本的には一番下に「Hint」として表示されているものを選択すれば良さそうです。私の場合は「None」を選択しました。

これでイメージファイルの概要が表示され、カーソルキーの左右で行う操作を選ぶことができます。

イメージファイルの概要

ここでは「Undelete」を選択しましょう。

これでイメージファイル内のファイル・フォルダーが表示されるはずです。

イメージファイル内のファイル・フォルダー

キヤノンのデジカメの場合、DCIMフォルダーに撮影した写真・動画が保存されます。そこでDCIMフォルダー全体を復元対象としましょう。

復元対象として選択するにはDCIMフォルダーを選択した状態で:を入力します。

これでDCIMフォルダーが緑色になるはずです。

DCIMフォルダーを選択した状態

次はCを入力して選択したフォルダーの復元を開始します。ここで復元したファイル・フォルダーの保存先を選ぶ画面になります。

保存先の選択

保存先のフォルダーを選んだらCを入力しましょう。

これで復元が始まります。イメージファイルからの復元の場合は処理が早く進みます。完了すると次のように「Copy done!」と表示されます。

復元の完了

私の場合は989ファイルが復元できました。

復元が完了したらqを連打して、TestDiskを終了させましょう。

復元状況の確認

ファイルの復元ができたところで、その結果をざっと確認してみましょう。

使用したツール 復元元 復元したファイル数 その他
PhotoRec SDカード 1625個 ファイル名は元と異なる。MP4ファイルは復元されず。
PhotoRec イメージファイル 511個 ファイル名は元と異なる。MP4ファイルは復元されず。
TestDisk SDカード 0 (復元できず)
TestDisk イメージファイル 989個 ファイル名は元のまま。MP4ファイルも復元された。

SDカードからphotorecで復元したケースが一番多くのファイルが復元されています。しかし、復元され他ファイルを確認すると、明らかに小さいJPEGファイルや撮影日も取得できないファイルもあり、撮影データそのものではないものも復元されているようです。

PhotoRecでSDカードから復元されたが使えないファイル

ちなみにWindowsのエクスプローラーでは表示を「詳細表示」に切り替えて、先頭列の部分を右クリックすると表示する情報として「撮影日時」を追加できます。

撮影日時情報の表示

「撮影日時」が選べない場合は「その他」を選択して、「撮影日時」をチェックしてください。

撮影日時を選択

また、動画ファイルについてはPhotoRecの場合はMOVファイルとして復元される場合があります(一部MP4ファイルとして復元される場合もある)が、すべて再生不能でした。

一方で、イメージファイルからのTestDiskを使った復元が完璧かというとそうでもないようです。復元されたJPEGファイルのうち正しく表示できないファイルもちらほらありました。

TestDiskでイメージファイルから復元されたが使えないファイル

ただ、前後の写真を見るとどうも自分でカメラで削除した画像が復元に失敗しているような感じもあります。

私の場合は「イメージファイルからTestDiskで復元した結果」をベースにし、PhotoRecで復元したファイルの中に、TestDiskで復元できなかったファイルが有ればそれを付け足す、という形で整理したほうが良さそうです。

復元結果の整理

複数の手段で復元しているので、多くのファイルが復元できています。

しかし、実際には重複していたり、不正なファイルが含まれていたりするので、整理が必要となります。

不正なファイルの削除

私の場合はまず復元されたファイルのうち、不正なファイルを削除しました。

具体的には次の2点を行いました。

  1. 各復元結果から不正なJPEGファイルは削除する。不正かどうかは撮影日時情報が取得できるかどうかで判定する。
  2. PhotoRecの復元結果からは動画ファイルは削除。試したところ再生できるファイルがないため。

これでだいぶファイルを減らすことができます。

不要なファイルの削除

以前にSDカードからPCにバックアップ済みのファイルは不要なはずです。

私の場合は旅行に行く前にデータをバックアップしていたので、撮影日時情報がその旅行より前のファイルはバッサリと削除できます。

ここまで整理するとファイルの数は次のようになりました。

使用したツール 復元元 JPEGファイル数 MP4ファイル数
PhotoRec SDカード 673個 0個
PhotoRec イメージファイル 58個 0個
TestDisk イメージファイル 767個 27個

重複ファイルの削除

ここまで整理して残ったファイルから重複するものを見つけて、重複していた場合は1つだけ残して他を削除します。

重複ファイルはCCleanerというフリーソフトで見つけることができます。

CCleaner - Windows にダウンロードしてインストール | Microsoft Store
Optimize your old Windows PC for better performance and keep a new machine healthier for longer. With millions of users worldwide, CCleaner is a leading tool to help you clean up, speed up, and fix your Windows PC. Our patented Performance ...

CCleanerを起動したら「ツール」から「重複検索」を選択します。

CCleanerを起動してPCのスキャンが始まってしまったらキャンセルしてください。

重複検索の画面では

  • 次の条件で照合:「サイズ」と「内容」をチェック
  • 無視: すべてチェックしない

として、「追加」を選択して復元したファイルがあるフォルダーを対象リストに追加しましょう。

CCleanerによる重複検索の設定

検索対象のフォルダーを追加したら「検索」を選択します。

重複検索の開始

検索が開始されると重複しているファイルがグループ化して表示されますので、不要なファイルをチェック確認します。

不要なファイルを削除

基本的にはイメージファイルからTestDiskで復元したファイル(ファイル名がIMGで始まるファイル)を残し、それ以外はチェックします。

TestDiskでは復元できず、PhotoRecだけで復元できたファイルがもあるので、その場合はどちらかのファイルをチェックします。

不要なファイルをすべてチェックしたら「選択したものを削除」しましょう。

残ったファイルの確認

重複ファイルを削除しても、画像としては同じファイルが残ってしまうことがあります。

これはファイルの復元時にファイルデータの後ろにゴミデータが付いてしまうためのようです。JPEGファイルの場合は、末尾にゴミが付いていても正常に表示されます。末尾にゴミデータがついているため別ファイルとして認識されますが、実際には同じ画像であるのはこのためです。

残ったファイルを1つのフォルダーにまとめておき、撮影日時順に並べると、この手のファイルは見つけやすいと思います。

PhotoRecで復元したファイル名は「f+数字」となっているので、このファイルを見つけて前後のファイルと画像を見比べて、同じ画像であれば削除します。

要確認のファイル

私が確認した限りだと、TestDiskで復元したデータは多くの場合、ゴミデータが末尾についているようです。

TestDiskで復元したJPEGファイル

したがって、削除するのであればTestDiskで復元した方のファイルのほうが良いと思います。

整理した結果

復元したファイル数と、整理した結果のファイル数を表にまとめました。

使用したツール 復元元 JPEGファイル数 MP4ファイル数
PhotoRec SDカード 673個 0個
PhotoRec イメージファイル 58個 0個
TestDisk イメージファイル 767個 27個
復元結果の整理後 771個 27個

結果的にはイメージファイルからTestDiskでほとんどのファイルが復元できました。しかし、TestDiskで復元できずPhotoRecだけで復元できたファイルも4つありました。

できるだけ多くのファイルを救出したい場合には、TestDiskとPhotoRecを併用するほうが良さそうです。

ざっと見た感じではほぼすべての写真と動画が救済できたのではないかと思います。

SDカードの再フォーマット

ファイルの救出が完了したら破損したSDカードは再フォーマットしておきましょう。

SDカードをデジタルカメラで使う場合は、デジタルカメラでフォーマットすることをオススメします。

SDカードのライトプロテクトスイッチは解除して、書き込めるようにしておきましょう。

キヤノンのデジカメであれば「カードの初期化」でフォーマットができます。

カードの初期化

「物理フォーマット」というオプションがある場合はこれも選択しておきましょう

物理フォーマットも選択

SDカードが物理的に壊れてなければ、これで復活するのではないかと思います。

まとめ

今回はTestDiskとPhotoRecという無料のツールで、読めなくなってしまったデジカメ用SDカードから写真と動画ファイルを救出したことを紹介しました。

多少時間はかかりますが、2つのツールを併用することで多くのファイルを復元することができました。SDカードに大事なデータが入っていた場合は、これらのツールを使ってみることをオススメします。

コメント

タイトルとURLをコピーしました