フルディスクのFileVault暗号化が有効になっている単一のHDDを備えたiMacがありました。習熟度が疑わしい一部の「システム管理者」は、FileVaultパスワードも必要な知識もなしにデータにアクセスしようとし、ディスクを無効にしました。
彼が与えた希少で散発的な説明から、彼はいくつかのHEXエディターでディスク構造を台無しにしたと思われるかもしれませんが、そのようなツールの使用はCRC32チェックサムを台無しにすることが知られています、ウィキペディア 明らかに述べています 。おそらくそれが起こっていることです。
したがって、現在取得しているのは、パーティションがまったくないディスクです。
iMac:/ a$ Sudo gpt -r show /dev/disk1
start size index contents
0 1953525135
1953525135 32 Sec GPT table
1953525167 1 Sec GPT header
したがって、残っているのはセカンダリGPTテーブルとヘッダーだけです。
gdisk
は、プライマリGPTが破損していることを明確に示しており、バックアップから復元することを提案していますが、復元されたパーティション構造は奇妙に見えます。
iMac:/ a$ Sudo gdisk /dev/disk1
GPT fdisk (gdisk) version 1.0.1
Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!
Caution! After loading partitions, the CRC doesn't check out!
Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: damaged
Found invalid MBR and corrupt GPT. What do you want to do? (Using the
GPT MAY permit recovery of GPT data.)
1 - Use current GPT
2 - Create blank GPT
Your answer: 1
Command (? for help): p
Disk /dev/disk1: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): D5FB3C42-0E3D-4DC5-B4A9-7C97E8704CF5
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 8-sector boundaries
Total free space is 1953262957 sectors (931.4 GiB)
Number Start (sector) End (sector) Size Code Name
1 34 262177 128.0 MiB 0C01 Microsoft reserved ...
Command (? for help):
そしてここにfdisk
出力があります:
iMac:/ a$ fdisk /dev/disk1
Disk: /dev/disk1 geometry: 121601/255/63 [1953525168 sectors]
Signature: 0x2A74
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: ED 813 202 27 - 321 220 54 [ 783900958 - 3581756343] <Unknown ID>
2: 7C 724 235 26 - 550 178 18 [1238663544 - 3274878647] <Unknown ID>
3: F6 189 250 53 - 993 151 48 [2185613635 - 893877749] <Unknown ID>
4: 2E 201 236 53 - 683 56 37 [ 23839636 - 1903113077] <Unknown ID>
testdisk
ですばやく検索すると、2つのプライマリパーティションが見つかりました。最初のパーティションはMS Data
タイプで、以前はgdisk
でも検出されていましたが、2番目のパーティションのようです。タイプはMac HFS
であり、サイズが約650 MBであるため、RecoveryHDがないことを示しています。そこで、FileVaultで保護されたメインのデータパーティションの境界を見つける必要があります。
Partition Start End Size in sectors
P MS Data 1699755823 1702272435 2516613 [ M-:?->M-'` P^C ]
P Mac HFS 1952255592 1953525127 1269536
testdisk
の詳細検索では、残念ながら大きなパーティションは見つかりませんでした。
問題はセカンダリGPTテーブル/ヘッダーからパーティション構造を復元することさえ可能ですか?これらが存在する場合、それらのいくつかの使用があるかもしれないと思います。そして、他に何を試みることができますかメインデータパーティションの場所を取得します?
さて、タイトルからの私自身の元の質問への直接の答えは非常に簡単で、実際には質問の本文で答えられます:はい、セカンダリGPTテーブル/ヘッダーデータからドライブパーティションを復元することは可能です、gdisk
で実行されます。これは、開始後に復元手順を実行することを自動的に提案しますが、私の場合、復元されたボリューム構造はガベージでした。
メインデータパーティションの場所に関する次の質問にも答えることができます。 はい、インストール中にOS Xがボリュームを作成する方法を学習した後、その場所を計算できます。したがって、失われたボリュームは、デフォルト設定(デフォルトのOS Xインストール、追加のデータパーティションなし)で作成されたと仮定して、元に戻すことができます。そして、それは私がそれをした方法です。
OS Xがブートディスクを準備するパターンを学ぶために、私はYosemite(ありがたいことにEl Capitanはこれで何も変更していませんでした)を予備の320GBドライブにインストールしました。この情報が手元にあるので、次の簡単なコマンドを使用して、問題のディスク上のFileVaultパーティションを復元することができました。
Sudo gpt destroy /dev/disk2
Sudo gpt create -f /dev/disk2
Sudo gpt add -b 409640 -i 2 -s 1951845952 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk2
最初のコマンドは、私の欠陥のある役に立たないGPTを破壊しました。 2番目は新しいものを作成しました。 3番目はボリュームをマークしました。新しく作成されたのではなく、これらのセクターにまたがる特定のタイプのボリュームがあることを示すだけです。ちなみに、この場合、1つのセクターは512バイトです。
私が知っていた方法409640-beginning and1951845952-size?セクター409640は、データパーティション2の標準的な始まりであり、EFI
パーティションの後に広がります。これは、OS Xが常にディスクの先頭に作成するため、安全な方法です。 EFI
は常に409640セクターで終了します。そして、1,951,845,952セクターサイズは、セクター単位の私の合計ディスクサイズです(1,953,525,168 )マイナスRecovery HD
サイズ(1,269,536)マイナス40セクターこの2番目のデータパーティションの前のディスクの終わりから409,640セクターを引いたしきい値。結果は正確に1,951,845,952です。 8で割り切れる、つまり私は正しい。
不思議な53746F72-6167-11AA-AA11-00306543ECACは、まあ、 GPTパーティションタイプGUID であり、このボリュームをマークしますFileVaultパーティションとして。通常のHFS +ではありません。このボリュームを-indexの2でマークしたので、2番目ですが、私はそうではないので、このパラメーターは重要ではないと思います他の2つのパーティション(EFI
およびRecovery HD
)を復元します。正直なところ、調査中にRecovery HD
を復元しようとしましたが、そこにあることを確認するだけで、マウント可能で、安全で、健全でした。今回は無視しました。EFI
もRecovery HD
も役に立たないため、このドライブから起動する予定はありません。データを回収したいだけです。
FileVaultボリュームの境界を復元した直後に、FileVaultパスワードリクエストを受け取りました。これは喜んで提供しました。それは私が計算した境界が正しいことを意味します。それを証明するために、私はさまざまな境界を試しましたが、この場合、パスワードの要求はありませんでした。
しかし、FileVaultボリュームが正常にロック解除された後、私は有名な
メッセージボックス。つまり、FileVaultパーティションが戻ってきたとしても、それが自動的に無傷であることを意味するわけではありません。ロックを解除できますが、どういうわけか壊れています。
したがって、このFileVaultボリュームを修復するか、データを回収する機会があるかどうかを確認します。フォローアップの質問は ここ です。