1

Был iMac с одним жестким диском с включенным полнодисковым шифрованием FileVault. Некоторые "системные администраторы" с сомнительным мастерством пытались получить доступ к данным без пароля 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 выявил два основных раздела, первый из которых имеет тип MS Data , ранее также обнаруживаемый gdisk , но, похоже, это второй, который может представлять интерес, поскольку он относится к типу Mac HFS и имеет размер примерно 650 МБ указывает на то, что отсутствует Recovery HD. Теперь мне нужно найти границы основного раздела данных, защищенного 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? Я предполагаю, что, если они присутствуют, может быть их использование. И что еще я могу попытаться получить местоположение основного раздела данных?

1 ответ1

1

Ну, прямой ответ на мой собственный оригинальный вопрос из заголовка довольно прост, и на самом деле на него дан ответ в теле вопроса: да, возможно восстановить разделы диска из вторичных данных таблицы / заголовка GPT, это делается с помощью gdisk который автоматически предлагает выполните процедуру восстановления после ее запуска, но в моем случае восстановленная структура тома была мусором.

Я также могу ответить на мой следующий вопрос относительно расположения основного раздела данных. Да, его местоположение можно рассчитать после изучения способа создания томов в OS X во время установки. Таким образом, потерянный том можно восстановить, если он создан с настройками по умолчанию (установка по умолчанию OS X, без дополнительных разделов данных). И вот как я это сделал.

Просто чтобы узнать, как OS X готовит загрузочный диск, я установил Yosemite (к счастью, El Capitan ничего не изменил с этим) на какой-нибудь запасной диск емкостью 320 ГБ. Имея эту информацию под рукой, мне удалось восстановить раздел 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. Второй создал новый. Третий отмечен томом. Не создал его заново, а просто отметил, что существует объем данного типа, охватывающий именно эти сектора. Кстати, один сектор занимает 512 байт.

Как я знал 409640 -b eginning и 1951845952 -s Изя? Итак, сектор 409640 - это стандартное начало раздела 2 данных, который начинается после раздела EFI , который OS X всегда создает в начале диска, так что это безопасная ставка. EFI всегда заканчивается на 409640 секторе. А размер 1,951,845,952 секторов - это всего лишь мой общий размер диска в секторах (1,953,525,168) минус размер Recovery HD (1269,536) минус порог 40 секторов в конце диска минус 409,640 секторов до этого второго раздела данных. Результат ровно 1 951 845 952. Делится на 8, что означает, что я прав.

Таинственный 53746F72-6167-11AA-AA11-00306543ECAC - это GUID типа раздела GPT, который помечает этот том как раздел FileVault. Не обычный HFS+. Я пометил этот том значением -i ndex, равным 2, поэтому он является вторым, но я думаю, что этот параметр не является решающим, поскольку я не восстанавливаю другие два раздела (EFI и Recovery HD). Честно говоря, во время моего расследования я пытался восстановить Recovery HD , просто чтобы проверить, есть ли он там, и был ли он там монтируемым, в целости и сохранности. На этот раз я проигнорировал это, потому что ни EFI , ни Recovery HD мне не нужны, я не планирую загружаться с этого диска, я просто хочу спасти некоторые данные.

Сразу после восстановления границ тома FileVault у меня есть запрос пароля FileVault, который я с радостью предоставил. Это означает, что границы, которые я рассчитал, верны. Чтобы доказать это, я даже пробовал разные границы, и в этом случае не было никаких запросов пароля.

Однако после того, как том FileVault был успешно разблокирован, у меня есть известный

окно сообщения, которое означает, что, даже если у меня есть мой раздел FileVault, это не означает, что он не поврежден. Это разблокируется, но как-то сломано.

Таким образом, теперь я собираюсь выяснить, есть ли у меня возможность восстановить этот том FileVault или восстановить данные. Дополнительный вопрос здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .