A GPT principal está ausente e também o volume FileVault

1

Havia um iMac com um único disco rígido com a criptografia FileVault de disco total ativada. Alguns "sysadmin" com uma proficiência questionável tentaram acessar os dados sem uma senha do FileVault, nem um conhecimento necessário e tornaram o disco inválido.

A partir de explicações escassas e esporádicas que ele deu, pode-se supor que ele estragou a estrutura do disco com algum editor HEX, no entanto, é sabido que o uso de tais ferramentas irá bagunçar checksum CRC32, o que até mesmo a Wikipedia claramente declara . Supostamente é isso que aconteceu.

Então o que temos agora é um disco sem nenhuma partição:

imac:/ a$ sudo gpt -r show /dev/disk1
       start        size  index  contents
           0  1953525135
  1953525135          32         Sec GPT table
  1953525167           1         Sec GPT header

Portanto, apenas o que resta é a tabela e cabeçalho secundário da GPT.

gdisk afirma claramente que a GPT principal está corrompida e se oferece para restaurá-la a partir de um backup, mas a estrutura da partição restaurada parece estranha:

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):

E aqui está o fdisk output:

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>

Pesquisa rápida por testdisk revelou duas partições primárias, a primeira é do tipo MS Data , anteriormente também detectada por gdisk , mas parece ser a segunda, o que pode ser interessante, já que é de um Digite Mac HFS e seu tamanho de aproximadamente 650 MB indica que está faltando Recovery HD. Então, agora eu preciso encontrar os limites da partição de dados protegida por FileVault principal:

  Partition Start   End Size in sectors 
P MS Data   1699755823  1702272435  2516613 [ M-:?->M-'' P^C ]
P Mac HFS   1952255592  1953525127  1269536 
A pesquisa mais profunda de testdisk , infelizmente não encontrou nenhuma partição grande:

A questão é que é possível restaurar a estrutura das partições a partir da tabela / cabeçalho da GPT secundária ? Presumo que, se estiverem presentes, pode haver algum uso deles. E o que mais eu posso tentar recuperar a localização da partição de dados principal ?

    
por TranslucentCloud 10.09.2016 / 13:40

1 resposta

1

Bem, a resposta direta à minha pergunta original do título é bastante direta e na verdade é respondida no corpo da pergunta: sim, é possível restaurar partições de disco a partir de dados secundários de tabela / cabeçalho da GPT , isso é feito com gdisk , que sugere automaticamente para executar o procedimento de restauração, uma vez que é iniciado, mas no meu caso, a estrutura do volume restaurado era lixo.

Também sou capaz de responder à minha próxima pergunta sobre a localização da partição de dados principal. Sim, sua localização pode ser calculada depois de saber como o OS X cria volumes durante sua instalação . Assim, o volume perdido pode ser restabelecido, supondo que ele tenha sido criado com configurações padrão (instalação padrão do OS X, sem partições de dados extras). E foi assim que eu fiz.

Apenas para aprender um padrão, o OS X prepara o disco de inicialização, eu instalei o Yosemite (felizmente, o El Capitan não mudou nada com isso) para algumas unidades sobressalentes de 320 GB. Com essas informações em mãos, consegui restabelecer a partição do FileVault no disco em questão com estes comandos simples:

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

O primeiro comando destruiu minha GPT inútil com defeito. O segundo criou um novo. O terceiro marcou um volume. Não o criou de novo, mas apenas marcou que há um volume de um determinado tipo abrangendo exatamente esses setores. Um setor é de 512 bytes, neste caso, a propósito.

Como eu sabia 409640 -b eginning e 1951845952 -s ize? Bem, o setor 409640 é um começo padrão da partição de dados 2, que se estende depois da partição EFI , que o OS X sempre cria no começo do disco, então é uma aposta segura. EFI sempre termina no setor 409640. E o tamanho de setores 1,951,845,952 é apenas o tamanho total do meu disco em setores ( 1,953,525,168 ) menos Recovery HD size ( 1,269,536 ) menos 40 threshold de setores no final do disco menos 409.640 setores antes desta segunda partição de dados. O resultado é exatamente 1.951.845.952 . Divisível por 8, o que significa que estou certo.

O misterioso 53746F72-6167-11AA-AA11-00306543ECAC é, bem, uma partição GPT tipo GUID , que marca esse volume como uma partição FileVault. Não o HFS + regular. Eu marquei este volume com um ndex -i de 2, sendo assim o segundo, mas acho que esse parâmetro não é crucial, já que não estou restaurando outras duas partições ( EFI e Recovery HD ). Honestamente, durante minha investigação eu tentei restaurar Recovery HD , apenas para verificar se ele está lá, e ele estava lá, montável, seguro e sadio. Desta vez eu ignorei, porque nem EFI , nem Recovery HD não tem qualquer utilidade para mim, eu não pretendo arrancar a partir desta unidade, eu só quero salvar alguns dados.

Imediatamente após o restabelecimento dos limites do volume do meu FileVault, recebi uma solicitação de senha do FileVault, que eu sempre forneci. Isso significa que os limites que calculei estão corretos. Para provar isso, eu até tentei limites diferentes e, nesse caso, não havia solicitações de senha.

No entanto, depois que o volume do FileVault foi desbloqueado com sucesso, tenho um famoso

caixademensagem,oquesignificaquemesmoseeutiverminhapartiçãodoFileVaultdevolta,issonãosignificaautomaticamentequeelaestáintacta.Édestravável,masdealgumaformaquebrado.

Portanto,agoravoudescobrirsetenhoumachancederepararessevolumedoFileVaultourecuperarosdados.Aperguntadeacompanhamentoé aqui .

    
por 13.09.2016 / 12:19