先日、ラズパイでNASにしているHDDのパーティションテーブルを、誤って削除してしまいました。
破壊した原因は、HDDをもう1本追加したので、partedというツールでHDDを初期化しようとしていたところ、誤って削除したようだ。
二重化していたにもかかわらず、partedのおせっかい(?)で、両方のパーティションテーブルを破壊したようだ・・・
重要な情報や動画データ等を保存していたため、なんとしても復旧したかったので、その過程を記録します。
ちなみに環境は、Raspberry Pi 2Bです。
NASとして使用しているので、NTFSフォーマットになっています。
Windowsのディスクも、もしかしたらこの方法で復旧できるかもしれません。
それでは。実行していきます。
破壊した原因は、HDDをもう1本追加したので、partedというツールでHDDを初期化しようとしていたところ、誤って削除したようだ。
二重化していたにもかかわらず、partedのおせっかい(?)で、両方のパーティションテーブルを破壊したようだ・・・
重要な情報や動画データ等を保存していたため、なんとしても復旧したかったので、その過程を記録します。
ちなみに環境は、Raspberry Pi 2Bです。
NASとして使用しているので、NTFSフォーマットになっています。
Windowsのディスクも、もしかしたらこの方法で復旧できるかもしれません。
それでは。実行していきます。
1.testdiskを導入
Linuxでパーティションを復旧するためのツールとして、testdiskというものがあるようです。
何はともあれ、インストール。
apt install testdisk
2.実行してみる
1.実行
インストールできたら、実行する。
コマンドは、testdisk と打つだけ。
# testdisk
起動すると、対話型で以下のようになる。
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org TestDisk is free data recovery software designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software, certain types of viruses or human error. It can also be used to repair some filesystem errors. Information gathered during TestDisk use can be recorded for later review. If you choose to create the text file, testdisk.log , it will contain TestDisk options, technical information and various outputs; including any folder/file names TestDisk was used to find and list onscreen. Use arrow keys to select, then press Enter key: >[ Create ] Create a new log file [ Append ] Append information to log file [ No Log ] Don't record anything
ログを作るかどうか聞かれている。
作成するか、既存のファイルに追記するか、作らないかの選択。
とりあえず作っておきたいので、[ Create ]を選択。
2.ディスク選択
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org TestDisk is free software, and comes with ABSOLUTELY NO WARRANTY. Select a media (use Arrow keys, then press Enter): >Disk /dev/sda - 6001 GB / 5589 GiB - JMicron Generic DISK00 Disk /dev/sdb - 6001 GB / 5589 GiB - JMicron Generic DISK01 Disk /dev/mmcblk0 - 7969 MB / 7600 MiB >[Proceed ] [ Quit ] Note: Disk capacity must be correctly detected for a successful recovery. If a disk listed above has incorrect size, check HD jumper settings, BIOS detection, and install the latest OS patches and disk drivers.
ディスクを選んで、[Proceed ](続行) を選択。
3.パーティション種類を選択
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 6001 GB / 5589 GiB - JMicron Generic DISK00 Please select the partition table type, press Enter when done. [Intel ] Intel/PC partition >[EFI GPT] EFI GPT partition map (Mac i386, some x86_64...) [Humax ] Humax partition table [Mac ] Apple partition map [None ] Non partitioned media [Sun ] Sun Solaris partition [XBox ] XBox partition [Return ] Return to disk selection Hint: Intel partition table type has been detected. Note: Do NOT select 'None' for media with only a single partition. It's very rare for a disk to be 'Non-partitioned'.
パーティションは、NTFSです。
今回は6TBのHDDなので、パーティションテーブルは、GPTになっているはず。なので[EFI GPT]を選択。
2TB以下のHDDの場合は、MBRの可能性があるが、その場合は何を選ぶべきか悩む・・・
4.パーティションの探索
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 6001 GB / 5589 GiB - JMicron Generic DISK00 CHS 729601 255 63 - sector size=512 >[ Analyse ] Analyse current partition structure and search for lost partitions [ Advanced ] Filesystem Utils [ Geometry ] Change disk geometry [ Options ] Modify options [ Quit ] Return to disk selection Note: Correct disk geometry is required for a successful recovery. 'Analyse' process may give some warnings if it thinks the logical geometry is mismatched.
リカバリするには、[ Analyse ]でいい。
いろいろオプションがあるようだが、よくわからないので、そのままAnalyseする。
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 6001 GB / 5589 GiB - CHS 729601 255 63 Current partition structure: Partition Start End Size in sectors Bad GPT partition, invalid signature. Trying alternate GPT Bad GPT partition, invalid signature. P=Primary D=Deleted >[Quick Search] Try to locate partition
すると上記のような画面になる。
今までに見つかったパーティションを表示する画面だろうか?
そのままQuick Search を選択。っていうか他に選択肢が無い。
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 6001 GB / 5589 GiB - CHS 729601 255 63 Analyse cylinder 2/729600: 00% MS Data 32768 11721041919 11721009152 Stop
上記のように、パーティションの調査が始まる。
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 6001 GB / 5589 GiB - CHS 729601 255 63 Partition Start End Size in sectors >P MS Data 32768 11721041919 11721009152 Structure: Ok. Use Up/Down Arrow keys to select partition. Use Left/Right Arrow keys to CHANGE partition characteristics: P=Primary D=Deleted Keys A: add partition, L: load backup, T: change type, P: list files, Enter: to continue NTFS, blocksize=4096, 6001 GB / 5589 GiB
しばらく待つと、上記のような画面になる。
パーティションを探索できた。Pキーで、内容を確認できる。
今回はこれで内容が確認できたので、このまま復旧する。Enterで継続。
ちなみに横キーで、パーティションを削除することも可能。
複数パーティションがあって、不要なパーティションは削除を選択するといい。
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 6001 GB / 5589 GiB - CHS 729601 255 63 Partition Start End Size in sectors 1 P MS Data 32768 11721041919 11721009152 [ Quit ] [Deeper Search] >[ Write ] Write partition structure to disk
これでパーティション一覧に追加された。
今回はこのパーティションだけなので、このまま[ Write ]を選択する。
他にもパーティションがある場合は、Deeper Search で更にパーティションを探す。
なお、当然のことながら、Writeを選択すると、もう後戻りはできない。
よく確認してから実行すること。
5.パーティションテーブルの書き込み
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Write partition table, confirm ? (Y/N)
Write選択後、パーティションテーブル書くけどいい?と、最後通告が出る。
本当に問題がなければ、Yを選択して書き込む。
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org You will have to reboot for the change to take effect. >[Ok]
書き込めたようだ。
リブートが必要とのことなので、後ほどリブートする。
とりあえず[Ok]を選択する。
6.再起動
TestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sda - 6001 GB / 5589 GiB - JMicron Generic DISK00 CHS 729601 255 63 - sector size=512 [ Analyse ] Analyse current partition structure and search for lost partitions [ Advanced ] Filesystem Utils [ Geometry ] Change disk geometry [ Options ] Modify options >[ Quit ] Return to disk selection Note: Correct disk geometry is required for a successful recovery. 'Analyse' process may give some warnings if it thinks the logical geometry is mismatched.
最初の画面に戻ってきた。
testdiskは終了してrebootするので、[ Quit ]を選択。
その後、祈りつつreboot。
# reboot
これで無事復旧できました!!
所感
今回は本気で重要なデータを失ったかと、ものすごく焦りました。
一瞬諦めてフォーマットしようかとも思いましたが、落ち着いて調べていくと、ちゃんと復旧方法があり、無事に復旧することができました。
誤ってパーティションを消してしまったかと思っても、落ち着いて対処しましょう。