Linux Mint 19.1 BETA がリリースされました!19.1 までもうすぐですね!
roadtoalinuxmintuser

theming

roundup
Linux Mint 18.3: 壊れた USB メモリー/SD カードから(削除した)データを復元「Photorec」 12:33
アイキャッチ

PhotoRec(Testdisk) とは


ファイルを誤って削除したり意図的に削除したりしてもファイルの中身はストレージから消えているわけではありません。データのインデックス情報と実際のデータの中身は離れて存在しています。通常「ファイルを削除する」とは「ファイルのデータのインデックス情報を削除する」ことであり、これによって OS からはデータがないものとみなされ(つまりファイラーからは見えなくなり)、いずれデータが上書きされます。

適切なツールと知識があれば削除したファイルをサルベージすることは可能ですが、データの上書きが起こるため、最近削除したファイルしかリカバリーできないことも有ります。

Testdisk というパッケージをインストールすれば使える PhotoRec というツールを使って Linux Mint 上でストレージからデータを復元できます。今回は、誤って削除したわけではなく、なぜか認識されなくなった SD カードからデータをサルベージしていく方法を見ていきますが、基本は一緒です。更に、mkusb というツールを使ってフォーマットしなおしていきます。

ファイルシステムは FAT, NTFS, HFS+, exFAT, ext2/ext3/ext4、ファイルの拡張子は 440 種類以上もサポートしています。

インストール


Ctrl
+
Alt
+
T
を押して端末を起動します。
端末へコマンドをペーストするには
Ctrl
+
Shift
+
V
を押します。
次のコマンドを実行します:
Linux Mint:

APT

sudo apt install -y testdisk
Arch Linux:
pacman -S testdisk

使い方


ミントメニューから [ ディスク ] を起動し、復元したいデータが入っているストレージのパスを確認します。ここでは
/dev/sdc1
とします。端末を起動し、root 権限で、先ほどのパスを指定しながら photorec を実行します:
sudo photorec /dev/sdc1
次のような画面に切り替わります。対象のメディアと [Proceed] が選択されていることを確認し
Enter
を押します:
範囲を選択_088

矢印キーで [Options] を選択し
Enter
を押すと以下のような設定項目が表示されます。特に弄る必要はありません。
Q
を押すと先ほどの画面に戻ります:
範囲を選択_090

探したいファイルの拡張子を指定することが出来ます。[File Opt] を選択し
Enter
を押します:
範囲を選択_091

[ X ] とあればそれは有効(復元対象)になっていることを意味しています。無効の時は [ ] と空白になります。
S
を押すと全部選択/全部選択解除ができます。特に今回の SD カードはデジカメで使っていたものなので今回は JPEG だけにチェックを入れたいとおもいます。指定が終わったら
B
を押して設定を保存します:
範囲を選択_092

Enter
を押し、
Q
を押すとメインメニューに戻ります。早速 [Search] を選択し実際にデータを復元していきます。

復元したいデータが眠っているファイルシステムが何かわかっていないといけません。基本的には FAT か NTFS のはずですが、Linux でフォーマットしていれば ext4 かもしれません。今回は SD カードをデジカメでフォーマットしているので恐らく FAT か exFAT だろうということで [ Other ] を選びました:
範囲を選択_093

ここでは、解析の対象に未割当の領域のみかパーティション全体かが選べます。[ Whole ] を選べば時間はかかりますが、そもそも今回は削除したわけではないので [ Whole ] でいきます:
Select-Filesystem-to-Analyze

次の画面では復元したデータをどこに保存するかを指定します。一番右の列を見ればディレクトリ名がわかるので、それを頼りにたどっていきます。
で一つ上の親ディレクトリに、
で下の階層に移動できます。たどり着いたら
C
を押します:
範囲を選択_094

復元が始まります。今回 2000 ファイル以上の画像をサルベージしましたが 2 時間以上かかりました:
範囲を選択_095

終わったらどれだけのファイルが復元され、どこに保存されたかが表示されます:
範囲を選択_096

[ Quit ] していってツールを終了させます:
範囲を選択_097

保存先を開いてみると確かに SD カードの中身が入っていました:
範囲を選択_100

認識されなくなった SD カードをフォーマット


さて、データは戻りましたが、依然として SD カードは認識されずに使えないままです。Linux Mint に付属する [ USB メモリフォーマッタ ] でも認識されませんでした:
範囲を選択_113

そこで mkusb というツールを使ってフォーマットしなおしていきます。[ USB メモリフォーマッタ ] でも Nemo でも認識してくれない中、このツールは認識してくれました。早速インストールしていきます:
sudo apt add-repository ppa:mkusb/ppa -y && sudo apt update && sudo apt install -y mkusb
インストールが終わったらミントメニューから起動できます。起動するとこんな画面が表示されるので [ Yes ] をクリックします:
範囲を選択_108

続いて sudo のパスワードが求められます:
範囲を選択_109

警告が表示された後に、メニューが表示されます。今回の用途としては [ s restore to a Standard storage device ] を選びます:
範囲を選択_111

フォーマットしたい認識されなくなった USB ストレージ/SD カードを選びます。再起動したので先ほどの sdc とは異なり sdb になっています。適宜判断して下さい:
範囲を選択_112

ラベルをつけます:
範囲を選択_114

[ Go ] を選択し [ Go ] をクリックします:
範囲を選択_115

フォーマットが始まります:
範囲を選択_116

フォーマットが終わればファイラーを起動して認識されるか確認してみます。ちゃんと認識されました。もちろん中身は空っぽです:
範囲を選択_117

参考元: TecMint, Ask Ubuntu
| Linux |
<< NEW | TOP | OLD>>
スポンサーサイト 12:33
| - |

Show some apps list:


miku

Follow on your feed reader:


About this blog:

Linux Mint-centric chronicle.
Since 2009.
Info 再開しました。更新日は月一です。

roadtoapython

roadtorubyist

git

Amazon: