Como corrigir GPT quebrados, GUID e volumes desmontáveis ​​e sem tipo?

10

Eu tenho um Macbook Pro com retina, Yosemite e disco rígido de 500 GB. Tentei instalar o Windows usando o Bootcamp e excluí acidentalmente uma partição, agora o meu Mac não pode mais inicializar. Esta é a saída desudo gpt -r show disk0

  gpt show: disk0: Suspicious MBR at sector 0
    start       size  index  contents
        0          1         MBR
        1          1         Pri GPT header
        2         32         Pri GPT table
       34          6         
       40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640  776617328      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728        616         
778297344  198807552      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
977104896        131         
977105027         32         Sec GPT table
977105059          1         Sec GPT header

Eu só preciso criar a segunda partição no índice 2 e digitar FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFpara ser inicializável novamente. Esta partição tem o FileVault 2 ativado.

Mas, no momento, não tenho idéia do que fazer.

P / S: Eu segui as instruções da @klanomath Boot a partir de um disco rígido externo com sistema Yosemite completo, mas com o último comando para alterar o tipo de partição

sudo gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0

Ele recebeu este erro:

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device

Esta é a saída de sudo gpt -r show /dev/disk0

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1          1         Pri GPT header
         2         32         Pri GPT table
        34          6         
        40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    409640  776617328      2  MBR part 218
 777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        131         
 977105027         32         Sec GPT table
 977105059          1         Sec GPT header

Progresso:

Eu executei o comando sudo gpt destroy /dev/disk0

Mas quando eu tentei adicionar a primeira partição de volta usando este comando sudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0

Eu recebi esse erro imediatamente

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no primary GPT header; run create or recover

Agora o comando sudo gpt -r show /dev/disk0me dá isso

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1     409639         
    409640  776617328      2  MBR part 218
 777026968    1269760      3  MBR part 175
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        164

Progresso 2:

Eu executei sudo gpt create /dev/disk0 e recebi este erro:

gpt create: /dev/disk0: Suspicious MBR at sector 0
gpt create: /dev/disk0: error: device contains a MBR

e executei este comando sudo fdisk -i -a hfs /dev/disk0para escrever novo MBR e executei sudo gpt create /dev/disk0novamente, mas obtive o mesmo errogpt create: /dev/disk0: error: device contains a MBR

Agora sudo gpt -r show /dev/disk0me dá isso

      start       size  index  contents
      0          1         MBR
      1         62         
     63  977104997      1  MBR part 175

Progresso 3 e final: D

Em primeiro lugar, um grande obrigado a @klanomath, sem a ajuda, eu não poderia ir tão longe.

Eu executei este comando sudo gpt create -fp /dev/disk0

E este comando sudo gpt recover /dev/disk0para obter o cabeçalho secundário da GPT

Depois disso, executei sudo gdisk /dev/disk0e o disco está montado e funciona corretamente

LN
fonte

Respostas:

11

O tipo de conteúdo da segunda partição está incorreto. Em vez disso FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF, tem que ser 53746F72-6167-11AA-AA11-00306543ECAC.

Para editar o tipo de conteúdo, você precisa inicializar no Modo de recuperação da Internet e usá-lo gpt. Além disso, a quarta partição será removida (provavelmente a partição "excluída"). Por favor, verifique se ele não contém nenhum dado!

Preparação:

  • Desconecte qualquer unidade externa (especialmente sua unidade de backup externa do Time Machine)
  • Reinicie o modo de recuperação da Internet pressionando alt cmd Rna inicialização.

    Os pré-requisitos são a atualização de firmware mais recente instalada, Ethernet ou WLAN (WPA / WPA2) e um roteador com DHCP ativado.
    Em uma linha de 50 Mbps, são necessários cerca de 4 minutos (apresentando um pequeno globo animado) para inicializar em uma imagem de inicialização de rede de recuperação, que geralmente é carregada de um servidor Apple / Akamai.

    Eu recomendo ethernet porque é mais confiável. Se você estiver restrito a WIFI e o processo de inicialização falhar, basta reiniciar o Mac até conseguir inicializar.

    Como alternativa, você pode iniciar a partir de um pen drive de instalação inicializável (preferencialmente Yosemite ou El Capitan) ou um pen drive contendo um sistema completo (preferencialmente Yosemite ou El Capitan). Se você inicializar em um sistema completo e efetuar login como administrador, precisará pré sudo- anexar para executar comandos especiais como gpt ...!

Remova a quarta partição e altere o tipo de conteúdo da segunda partição

  • Inicializado no Modo de recuperação da Internet, abra Utilitários → Terminal na barra de menus e digite: diskutil listpara obter os identificadores de disco. Abaixo, suponho que seu disco principal tenha o identificador de disco disk0.

  • Primeiro você precisa remover a quarta partição (faça isso apenas se estiver realmente vazia!):

    gpt -r show /dev/disk0 #to get an overview
    

    Para excluir uma partição com gpto disco, é necessário desmontar:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
    
  • Então você precisa alterar o tipo de conteúdo da segunda partição:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 2 /dev/disk0 #remove the second partition
    gpt add -b StartBlock -s NumberOfBlocks -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
    

    No seu caso:

    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    
  • Agora você deve ser solicitado a senha do FileVault. Digite.
  • Entrar exite sair do Terminal
  • Verifique se há erros no volume principal do Macintosh HD
  • Saia do Disk Utility e reinicie no volume principal

Adendo: Removendo o MBR teimoso

Você pode usar fdiskou gptremover o MBR no bloco 0. Se você usar um usuário administrador, acrescente sudoos gpt ....comandos a seguir.

  • Primeiro, obtenha uma visão geral novamente. Esta etapa é importante antes de você destruir o gpt, porque é a fonte para reconstruí-lo do zero:

    gpt -r show /dev/disk0
    
  • Em seguida, exclua o gpt:

    diskutil unmountDisk /dev/disk0
    gpt destroy /dev/disk0
    
  • Crie uma nova tabela de partição GUID:

    gpt create -f /dev/disk0
    
  • Por fim, adicione todas as partições uma a uma:

    gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    

    Dica : você pode adicionar e remover partições em uma ordem arbitrária se mantiver o número de índice correto. Nos comandos acima, adicionei a terceira partição ( ... -i 3 ...) antes de adicionar a segunda partição ( ... -i 2 ...). Você não precisa desmontar o disk0 porque as partições i = 1 e i = 3 não contêm volumes montados automaticamente, enquanto a segunda partição contém.

    Não consegui detectar o tipo de partição incorreta do seu Recovery HD (a terceira partição com o número de índice 3) na primeira parte da minha resposta. Portanto, eu usei:

    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    

    acima em vez do errado

    gpt add -b 777026968 -s 1269760 -i 3 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0 #wrong partition type of the Recovery HD
    

    para adicioná-lo novamente.

    Se você ainda tiver erros, enfrente o MBR com fdisk. Se você usar um usuário administrador, prefira sudoos fdisk ...comandos:

    fdisk -i -a hfs /dev/disk0
    

    e adicione as entradas gpt com as gpt ...descritas acima.


Redimensionando o volume principal para preencher todo o disco

Finalmente, você provavelmente deseja redimensionar o volume principal para preencher todo o disco.

  • Obtenha uma visão geral com:

    diskutil cs list
    

    Você pode ter vários grupos de volumes lógicos do CoreStorage, se você inicializar a partir de uma unidade externa com um sistema completo! Use o correto!

  • Redimensione a pilha inteira:

    diskutil cs resizeStack lvUUID size #lvUUID is the UUID of the Logical Volume. Usually it's the last one listed.
    

    Inicializado no Yosemite, você pode usar 0go tamanho para expandi-lo. 0g é um tamanho "mágico" aqui.

    diskutil cs resizeStack lvUUID 0g
    

    Inicializado no El Capitan, você deve usar um tamanho real 500g. Se você receber um erro, use um tamanho um pouco menor, como 499gou 499500m.

    diskutil cs resizeStack lvUUID 500g
    
Klanomath
fonte
11
Eu ainda estou preso. Primeiramente, depois de executar "gpt delete -i 2 / dev / disk0", dizia "gpt: unknown command: delete", então suponho que preciso alterar 'delete' para 'remove'. Mas no último comando que eu preciso executar, ele disse "gpt add: / dev / disk0: erro: não há espaço disponível no dispositivo"
LN
Tenho seguido a sua instrução e publicou os resultados na questão, graças
LN
Eu segui a segunda instrução, infelizmente estou preso novamente com o erro "gpt add: / dev / disk0: error: nenhum cabeçalho primário da GPT; execute criar ou recuperar". Eu adicionei o progresso
LN
não se preocupe, eu acabei de atualizar meu progresso. parece que não consegui me livrar do MBR
LN
11
Bem, isso seria útil saber quando esse mesmo problema exato aconteceu comigo há alguns meses atrás ... klanomath nunca deixa de me surpreender com o quanto ele sabe sobre macs. Acabei perdendo todos os meus dados.
Flare Cat