https://thejuraku.com/pc/?p=7893

ハードディスクのリカバリー(復元作業)

一秒の間違いが一週間以上頑張っても完璧に直せない事になります。

パソコンの世界は怖いものです。

まだ、良いのはこれが人為的に悪意なくやらかされたものであるから良いのですが、悪意あるランサムウェアなどでファイルが暗号化されてしまった場合はファイルの修復は無理でしょう。

まずはじめに、

バックアップは常にしておきましょう。

大事。マジ大事。かなり大事。

注意事項

人それぞれやり方はあると思いますのでここでの方法が全ての人にとって最善とは限りません。また、自分で行う自信がない場合は迷わず業者に依頼するのも手です。むしろ、自分でやって間違えると取り返しがつかないことがあります。もちろん、見られたくないデータがある場合はお金と時間をかけて自分でやった方がいいかもしれません=技術的なウデが上がります。

当たり前ですが、

全て自己責任で行ってください。

今回の件は4TBのWD製HDDの復元作業です。

目標は必要なファイルの救出であり、全てを元通りにすることではない。

WD製4TBHDDを誤ってEXT4フォーマットの後書き込みしてしまった

この問題のHDDはもともとNTFSでフォーマットされて使われていましたが、4TBほぼいっぱいにデータが入っており、データの種類も色々、テキスト、ワード、エクセル、動画、ISOなど本当にバラバラです。

本当はUbuntuを/dev/sdaにインストールするはずが、Ubuntuがしっかりと認識してくれず、/dev/sdbにインストール先を指定してしまった事。SSDなら音もせずデータの読み書きをしますが、HDDの場合はカリカリという感じでデータの読み書き時に音がします。なので、その音がしたときに速攻でPCの電源を切るという手段になったHDDです。

データリカバリーの場合、大事なのはできるだけダメージを負ったHDDをリカバリー元として使わず、その問題のHDDをクローンしてからクローンしたHDDに復元作業を試す事が大事です。

あいにくWindowsではブロック単位でHDDコピーをしてくれるソフトを知らないのでここはUSBブートできるUbuntuから作業することになります。

まずは復元作業に使用する作業環境

  • Intel i7-3770
  • 16GB RAM
  • SSD + 4TB HDD2台
    • 4TB HDDは2台必要になります。これはクローン元とクローン先になるからです。
    • 4TB HDDのクローン元は/dev/sdaに接続
    • 4TB HDDのクローン先は/dev/sdbに接続
    • SSDは/dev/sdcに接続
  • OS:Ubuntu 19.10(USBブート);パート1のとき(クローン中)
  • OS: Windows 10 v1909 b18363.720(クリーンインストール);パート2のとき (復元作業中)
  • 使用ソフト
    • dd もしくは pv
    • EaseUS Data Recovery Wizard
    • testdisk
    • photorec

必要なもの(物理的に)

HDD – クローン元となるHDDとできれば同じ型番のHDD。

なければ同じメーカーの同じ容量のHDD、なければ別メーカーでも良いので容量が同じHDD。

SSD – 別にSSDではなくても良いがまっさらなWindowsを使うこと。作動が早いのでHDDよりはSSDとかの方がいいでしょう。

これを読んでいる時点でわかると思いますが、いつも作業しているWindowsはできれば使わない方が良い。Windowsのバージョンは10でも7でも良いが、クリーンインストールされたWindowsが一番。

できればオフラインで使うこと。オンラインで使いたい場合はセキュリティーソフトで入れるのが良いが、アンチウイルスソフトなどを入れたままだと下手すれば復元時に問題を起こす可能性があるし、常に新しいファイルが復元されていくのでその度にアンチウイルスソフトがファイルをスキャンし、復元にかかる時間が大幅に増える事になる。

もし問題のSSD/HDDがWindows OSが入っているものであったのならWindowsがはいるだけのSSDで良いので60GB、120GB程度の安いので良いのでこの際に作業用として買い足すのは有りです。

UPS – 作業中はPCをUPSにつないでおいてから使用すると気持ちが安心します。もしいきなり停電になったりすると非常にくらーい気持ちになります。

その他必要な事(ソフトの設定)

Ubuntu上でもWindows上でも作業を始める前に電源の項目を見てください。

USBブートされたUbuntuは最初からスリープに入らない設定になっていますが、バージョンによって違うかもしれませんので、途中の作業が無駄にならないように必ず確認すること。

Windowsではとくに勝手に最初からスリープするようになっていますのでかならず解除する事が必須。寝ている間に作業を進めて置こうと思っても10分間何も作業がなかったら勝手にスリープモードに突入して夜進めていたはずのものが何も進んでいないという事はよくあること。また、途中で作業をストップするとそれまでの作業が無駄になる可能性もありますので。

まず始める前に一言。

すげー時間かかるからな!

まじで時間が日単位でかかるからな!

覚悟しとけよ!

ただし、気合はいらない。

すでに気合はではなく血の気が去っている状態だからまずは落ち着こう。

まずはかんたんな流れと時間を順に最初に示します

  1. Ubuntu 19.10のUSBブートディスクを作成。
  2. PCを開けてSATA0に問題のHDDを接続、SATA1にクローン先のHDDを接続。この時点ではSSDは接続しない。理由は後述参照。重要!
  3. UbuntuをUSBブートしインストールせずにデスクトップを表示し評価モードで作動。
  4. UbuntuにPVをインストール。今回はDDは使わない。理由は後述参照。
  5. PVでHDDをクローン。約7時間程度かかった気がします。重要!
  6. Windows 10がインストールされているSSDを接続しブート; /dev/sdc
  7. testdiskで作業;そもそも復元できそうにない。RAWならば良かったのだが。ここでの評価は0/10点。
  8. EaseUS Data Recovery Wizardを試す;アナライズに11時間前後;アナライズ後のソフトが考える時間が更に数時間、必要なデータを復元するのに24時間以上。断念。ここでの評価は2/10点
  9. photorecで作業アナライズと復元にすでに15日間。時間はどんどん増えるばかり。ここでの評価は7/10点。評価は辛口です。当初時間は40時間ほどとphotorecに見積もられていました。

1. Ubuntu 19.10のUSBブートディスクを作成

Windows上で作成してもLinux上で作成してもなんでもOK。

2. PCを開けてSATA0に問題のHDDを接続、SATA1にクローン先のHDDを接続。この時点ではSSDは接続しない。

SATA0は通常はLinux系だと/dev/sdaに相当。

SATA1は/dev/sdbに相当。

大体ネットに載っているコマンドだとsdaが元、sdbが受けという感じなっていることが多いので下手に混乱してミステイクを起こさないためにそのように接続しておいた方が良い。

また、マザーボードによってはSATA0とSATA1までSATA III 6.0Gbpsの転送速度でありSATA2以降は半分の3Gbpsの転送速度しか出ない場合があるからです。

大容量のHDDをコピーするのに時間がかかるのはわかっていましたのでできるだけその時間を短縮するために転送速度が早くなるところに接続。

UbuntuをUSBブートするためにこの段階では関係のないSSDは外しておきます。ただあとでOSブートに使うSSDは/dev/sdc(SATA2)に接続します。

USBで外付けドライブとして接続しない事

外付けUSBとして接続するとUSBポートやUSB機器によっては途中でエラーになり、そこで作業がストップすることがありますので避ける事が重要です。

KURO-DACHI/ONE
先日別件のために「KURO-DACHI/ONE」を買いました。 KURO-DACHI/ONEとはどの様なものか? 内蔵タイプのSATA形...

3. UbuntuをUSBブートしインストールせずにデスクトップを表示し評価モードで作動。Ubuntu編

ここの工程はUbuntuなどリナックス系統のディストリビューションをUSBやDVD経由で作動させたことがある人ならすぐにできるでしょう。

むしろ、この程度のことができないのであれば残念ながら復元作業は業者任せにした方が良いでしょう。

4. UbuntuにPVをインストール。今回はDDは使わない。Ubuntu編

PVのインストール

DDを使わない理由は、DDもPVと同じ事ができるが

  • 作業進捗度を示してくれない
  • 転送速度が自動ではない

の2つの理由からPVを使いました。

PVなら作業進捗度を示してくれるし、転送速度を自動で調整してくれるので。

残り時間がわからないと個人的に不安になりますし、毎回終わったかどうかを見に来たりしなくては行けないので終わっていないと(人によっては)イライラしてしまいます。

なので時間がわかるとだいたいその頃に再度来れば良いだけなので多少は気が楽。

5. PVでHDDをクローン。所要時間約7時間程度。Ubuntu編

DDだと

dd if=/dev/sda of=/dev/sdb bs=100

という感じですが、PVだと

pv < /dev/sda > /dev/sdb

という感じに記述します。

もし、余っているいるSSDが1~2TBとかあり、クローンするHDDが1TBかそれ以下ならイメージファイルにクローンする方が作業が格段に早くなるでしょう。

dd if=/dev/sda of=/dev/sdb bs=100

ではなく、

dd if=/dev/sda of=/home/yourname/sda.img bs=100

クローンするときの時間は元のHDDに依存しますが、復元作業中はSSDにコピーして於けばSSDの速さになります。時間の大幅短縮になるので便利です。

6. Windows 10がインストールされているSSDを接続しブート

WindowsがインストールされているSSDを/dev/sdcまたはSATA2のポートに接続。マザーボードによってはSATA3と書かれているかもしれない。

ここで

/dev/sda = Port 0

/dev/sdb = Port 1

/dev/sdc = Port 2

6-1. マザーボードのマニュアルを見ての例

自作機であろうが、メーカー物であろうが、マザーボードのマニュアルはあります。

ここではHP機用にOEMで使われているPegatron 2AD5というマザーボードを例に使います。

Googleで調べると「Pegatron 2AD5」だと色々と出てきますが、目的のには遠い。なので、「Pegatron 2AD5 motherboard」と付け加えて検索します。すると、

へのリンクが見つかります。

ページの下の方に「Motherboard layout」とありますので、クリックすると、マザーボードのレイアウトが出てきます。

ここだと右下のところにSATAポートがあり、

SATA3 SATA2

SATA1 SATA0

の順に並んでいます。

ここで紹介する例では、

SATA 0 に 復元対象のHDDを接続

SATA 1 に復元されたデータを保存するHDDを接続

SATA 2かSATA 3にOS作動用のSSD/HDDを接続する。

つまり、Ubuntuなどから見ると、

SATA 0 = /dev/sda

SATA 1 = /dev/sdb

SATA 2 = /dev/sdc

SATA 3 = /dev/sdd

となる。

7. testdiskで作業

HDDの状態がRAWであるならば治すのも楽なのだが、今回の場合はHDDをLinux ext4形式でフォーマットした上に多少インストールファイルを書き込んでしまった事からtestdiskでは復元ができなかった。

8. EaseUS Data Recovery Wizardを試す

EaseUS製品は色々と使っていますのでこのData Recovery Wizardを試す事によりデータが救出できたら良いとは思っていましたが、残念ながらテキストファイルの数十バイト程度のファイルなら救出できましたが、ちょっと数キロバイト程度になるとまたたく間に救出不可、つまり、救出できたとしても開いたらバグった状態になるなど使い物にならない状態。

ただEaseUS製品は基本的にWindowsが起こした間違いであれば色々とできますが、Windows以外だと極端に使えなくなってしまうものだと今回感じました。

なお、4TBのHDDをアナライズ(解析)するのにアナライズに11時間前後かかるという事が解り、アナライズ後に更にアナライズ下ファイル郡をソフトが並べ替える作業に数時間(正直ここで寝た)、そして試用期間救出できる制限いっぱいにファイルを救出しようとすると必要なデータを復元するのに24時間以上かかると解りここで断念。

たった1GBのファイルを救出しようとするだけで24時間ほどかかるとは。

途中で復元作業をキャンセルしたが、復元できたファイルを開こうとするもバグった状態で使い物にならない。

ただし、EaseUS Data Recovery Wizardが優れている事は探しているファイルがどこのフォルダーに入っているか、どのくらいのサイズかという事がわかる。一番重要なのは必要としているファイルのサイズ。これは後にphotorecを使用してサイズを元に調べる事で救出作業ができるようになる。

8-1. 他のWindows用の復元ソフト

DiskDrillやMiniTool Power Data Recoveryも試用してみたが、これらの方がEaseUS Data Recovery Wizardと比べると使い物になった。EaseUS DRWだと復元できないファイルもDiskDrillとMiniToo PDRだと復元できたし、復元する時にかかる時間も24時間という時間ではなく、アナライズにMiniTool PDRだと数時間ほど、復元作業に数分。復元も試用ギリギリの1GBに届かない程度で数分と優秀。もちろんこれらのソフトももともとのファイルがどこにあったかを覚えていればフォルダーをたどっていけばそこにファイルがあった。

9. photorecで作業とアナライズと復元

今回の4TBのHDDにつやした時間は15日間。

24時間ずっとつけっぱなしの場合は12日間ほどで終わる計算になる。これは後述を参照。

最初photorecを始めるた時に表示された時間は40時間ほどでした。しかし、HDDがNTFSからext4などにフォーマットされていたり、ext4形式の中で更に多少上書きされていたので時間がかかってしまったみたいです。

9-1. もともとNTFSでNTFSでクイックフォーマットした1TBのHDDの場合

photorecでの作業においてもともとNTFSであるのをクイックフォーマットしただけの場合は高確率で復元かつ短時間で、更にWindows系のソフトでなら完全に復元できると思われる。

9-2. photorecは途中で止める事ができる。

当初15日間かかったと書いたが、これは途中で数回photorecを中断したため。途中で中断して後日再開できるのは素晴らしい機能だと思う。試用しかできないソフトではこういう機能は通常は封印されているが、photorecは有志が作成・配布しているソフトなので無料で使える。

最後に

使ったソフトの評価

recuva – Windows上で誤って削除した程度で他に何も作業をしなかった場合にはこれですぐにファイルが100%かそれに近いかたちで復元できます。しかし、今回の場合は全く意味がない。

EaseUS Data Recovery Wizard – 今回の場合にはほぼ役に立ちませんが、linux系のphotorecなどと比べた場合、誤ってフォーマットしてしまったときに他のソフトではディレクトリー構造が台無しになっているのにこのソフトの場合はディレクトリー構造を密に調べ、ファイル名もしっかりと確認できるが良いところ。ただし、復元をするとなるとファイルの中身はバグっていたりして意味消失しているファイルになっているので95%役に立ちません。でも、ファイル構造がわかるというのは大変な助けになります。残念ながら今回の件では評価版で十分だと思います。また、ファイルのファイルサイズが中身が意味消失していたとしてもわかるので、必要なファイルはたとえ中身が意味消失していたとしても復元しておき、ファイルサイズを調べておくのがよい。そうすることでphotorecで復元した時にだいたい~ほぼ同じファイルサイズで復元されているのでそのファイルサイズを元に探せば良いという使い方ができる。

testdisk – Linux上、Windows上どちらでも使える事ができます。パーティションが消失したとかそういうときに役に立つソフトであり無料なのが一番好きなところ。HDDがRAW状態になったときに使うと有り難みがわかるソフトです。一発で治りますから。

photorec – testdiskと一緒に同封されているtestdiskの姉妹・兄弟ソフトです。testdiskと違い、こちらはファイル復元のためのソフトといって良いでしょう。救出されたファイルは一切もとのファイル名になっていませんので大体のファイルサイズがわからない場合は完全に当てずっぽうで一つひとつ開いて確認しなくてはいけません。ただし、EaseUS Data Recovery Wizardと比べると復元率が半端ではありません=復元できているファイルが圧倒的にすごい。EaseUS Data Recoveryの場合は表面しか調べないみたいですが、photorecの場合は裏の裏まで診てくれるみたいですのでHDD消去ソフトで上書き消去を行った場合、どのくらい今度は復元できるかを試してみたいと思います。

お金と時間の評価

時は金なり。

または、

データは金なり。

この2つが理解できる場合は必ずバックアップはしておいた方が良いでしょう。

4/10の時点で既に110時間。それから更に一晩ちょっとでだいたい130時間入ったところで一旦photorecを終了。 → 大丈夫、次回作動した時に続きからやりますか?と出ますので迷わずYes。4/11の番からは一日PCをつけっぱなしで夜PCを消すという作業を作業が終わった4/20の夕方まで続けていました。だいたい一日15~16時間photorecを作動しっぱなしでした。

日付 作動時間

4/06 24
4/07 24
4/08 24
4/09 24
4/10 24
4/11 15
4/12 16
4/13 15
4/14 16
4/15 15
4/16 16
4/17 24
4/18 24
4/19 24
4/20 10

累計295時間ほどかかりました。

途中4/15と4/16のあたりで同じ箇所を行ったり来たりphotorecがセクターを調べていたので結構時間がかかりました。なんせ同じところで48時間以上さまよっていたわけで、その時は一切ファイルが復元されていなかったので、その時にphotorecが調べていたところはもともとHDD上で一度も使われていなかった箇所かもしれないし、復元しても意味がなかったところかもしれない。

4TB 5600rpmにてほぼ容量いっぱいに使っていたHDDの復元作業には295時間と15日間かかりました。また、24時間ぶっ続けで復元作業を行った場合、295時間は12日間と7時間ほどかかった計算になります。

もし2TB 5600rpmのHDDをほぼ満杯で使用していたところ、「あーーーーーー!」ってことになってしまった場合、もしかしたら4TBなら295時間だからその半分の147.5時間、6日間と3時間半で復元作業が終わるかもしれません。さらにさらに、もしHDDが12TBや16TBならとか考えたく有りませんね。12TBなら4TBの295時間x3=885時間(36日と21時間)!、16TBなら295時間*4=1180時間(49日と4時間)!いやはや考えたく有りません。

復元できたファイルについて

photorecにて復元されるファイル名は「f123456789.拡張子」という感じでどんどん増えていきますが、.doc、.docx、.xls、.xlsxなどはまだいいものの、テキストファイル系は.txtと書かれていても中身が.html、.xmlなどとなっていたり、.h、.f、.cなどから.inf、.php、.ini、.plなどと無限に今回は復元されてきました。

他にも、.exe、.dll、などあり、ファイルのエクステンションがないタイプのファイルも何万ファイルと勝手に復元されてきた。

復元できたファイルの種類の例

*.7z *.a *.ab *.abr *.acb *.ai *.aif *.amr *.apk *.apple *.ani *.ape *.arj *.asl *.asp *.avi *.bat *.bdm *.bmp *.bz2 *.c *.cab *.chm *.class *.csv *.cue *.dat *.db *.dbx *.deb *.diskimage *.dll *.dng *.doc *.docx *.DS_Store *.dxf *.dwg *.edb *.elf *.emf *.epub *.evt *.evtx *.exe *.f *.fits *.fla *.flac *.flv *.frm *.gif *.ghx *.gpg *.gz *.h *.hdr *.html *.ibd *.icc *.icns *.ico *.ics *.idb *.idf *.ifo *.indd *.inf *.ini *.java *.jar *.jks *.jp2 *.jpg *.json *.jsonlz4 *.jsp *.key *.ldif *.lit *.lnk *.lzh *.m3u *.m4p *.mbox *.mdb *.mid *.mov *.mp3 *.mp4 *.mpg *.mpl *.mkv *.mov *.msg *.mui *.myi *.ods *.ost *.one *.ogg *.pcx *.prproj *.pdf *.pf *.pfx *.php *.pl *.pm *.png *.psd *.py *.pyc *.qbw *.rar *.rb *.reg *.res *.riff *.rm *.rpm *.rtf *.rw2 *.sh *.sdw *.sit *.sldprt *.sql *.sqm *.sqlite *.svg *.sxw *.swc *.swf *.tif *.ttf *.url *.wab *.wav *.webm *.webp *.wim *.wmf *.wma *.wmv *.woff *.wpl *.wps *.wtv *.xls *.xlsx *.xml *.xmp *.xpi *.xpt *.xz *.zip

これくらいかな。

見知った拡張子もあればなんだこれ?って拡張子もあるので調べてみれば新たな世界への扉が開けられるかもしれない。

photorecの中のオプションの中で色々と拡張子の設定ができたと思うが、デフォルトで使っていたのでそこは弄っていない。おそらくHDDの中に入っていたファイルによって復元できたものが異なると思うが、このHDDの中にはOSのインストールファイルからどこかに行った時の写真などありとあらゆる物が詰まっていた。

あ、気づきましたか?記事が少しでも役に立ったと思ったらシェアでもコメントでもしてみてください^^;
スポンサーリンク
このページの短いURL: https://thejuraku.com/pc/?p=7893