Como corrigir partição EFI quebrada?


24

Eu tenho um iMac executando o OSX Lion. Também instalei o bootcamp e o Windows 7. Durante a instalação do Windows 7, não estava prestando atenção total, excluí e formatei a partição EFI.

Eu realmente não percebi o significado disso, pois a máquina continuava funcionando bem, inicializando no Windows e no OSX.

Notei que as atualizações de firmware da EFI não foram instaladas, mas não prestei atenção.

No entanto, agora eu quero instalar o Mountain Lion e há um monte de problemas. O Mountain Lion não será instalado sem uma partição EFI válida.

Aqui está a minha tabela de partição.

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                  Apple_HFS EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            799.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data BOOTCAMP                200.3 GB   disk0s4

Como você pode ver, tentei corrigir a partição EFI com o seguinte comando:

newfs_hfs -v EFI / dev / disk0s1

Isso não pareceu criar o tipo correto de partição; criou um Apple_HFS em vez de EFI.

Minha pergunta é (sem formatar o disco) como faço para criar uma partição EFI?

Thanks Rich


Consulte também esta resposta para alterar o tipo de partição: apple.stackexchange.com/a/342139/14586
mivk

Respostas:


31

Você pode recriar a EFI System Partition (ESP) usando a gptferramenta de linha de comando. Ele deve começar no setor 40 e deve ter 409600 setores (exatamente 200MiB). O tipo da entrada da GPT deve ser C12A7328-F81F-11D2-BA4B-00A0C93EC93Be, se você possui um MBR híbrido, deve ser o tipo EE. O formato é realmente um subconjunto do FAT, não o HFS +. Você pode ler a GPT usando o comando sudo gpt -r show disk0em uma janela do Terminal, isso produz uma saída semelhante à seguinte:

      start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  447801712      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  448211352    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  449480888   40753831         
  490234719         32         Sec GPT table
  490234751          1         Sec GPT header

Você pode ver a partição EFI correta no índice 1. Se essa linha não corresponder exatamente, a maneira mais fácil é excluir a partição em seu lugar e recriá-la.

Certifique-se de saber o que está fazendo antes de prosseguir a partir daqui - você poderá perder dados se errar.

Você não pode editar a tabela de partições usando gptenquanto as partições da unidade estão montadas; portanto, é necessário inicializar a partir de outra unidade (por exemplo, um pendrive com o instalador OSX) ou executar o mac no modo de disco de destino e fazer o particionamento de outro mac. Pode ser necessário desmontar todos os volumes montados automaticamente usando diskutil unmountDisk disk0antes de continuar e entre comandos .

Para excluir sua partição EFI "incorreta", execute este comando:

sudo gpt remove -i 1 disk0

Verifique se disk0 é realmente o disco que você deseja alterar - os números podem mudar entre as reinicializações. Além disso, isso só funcionará se você já tiver uma partição não-ESP no lugar do ESP - caso contrário, excluir a partição 1 pode ser desastroso! Nesse caso, você precisará mover os índices, pois acho que o ESP deve ter o índice 1. Pelo que parece, isso não será necessário no seu caso.

Depois de excluída, adicione novamente a partição com o layout correto e digite:

sudo gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0

Isso deve resolver a própria partição, mas como você criou uma partição HFS em seu lugar, também precisa corrigir o formato.

O formato da partição do sistema EFI está documentado pela Apple aqui . Como você pode ver, eles recomendam que você clone um ESP existente em vez de recriar o sistema de arquivos newfs_msdos. Se você possui uma unidade externa com uma tabela de partição GPT (o stick de instalação do OSX deve ter), você pode clonar isso.

Verifique se você possui os números de disco e partição da maneira correta ou substitua os dados:

Se disk1 é sua unidade externa e contém um ESP como a primeira partição (disk1s1) e disk0 é a unidade cujo ESP (disk0s1) você deseja corrigir, execute este comando:

sudo dd if=/dev/disk1s1 of=/dev/disk0s1

Isso copiará todos os blocos do ESP do disco1 e substituirá o bloco correspondente no ESP do disco0.

Como alternativa, faça uma aposta com newfs_msdos.


Obrigado pela resposta muito detalhada. Acabei conseguindo resolver meu problema usando o iParition. No entanto, ler o seu método parece ser o método exato que eu estava procurando, se o iParition não existisse. Mais uma vez obrigado, estou marcando isso como a resposta correta.
Rich Rich

Esse método funcionou muito bem para mim no 10.6 depois que o GParted clonou o ESP para bloquear o 2048 em um SSD. Inicializando um disco de instalação e seguindo as instruções acima, eu costumava ddarmazenar o ESP clonado em um arquivo antes de excluir, recriar e gravá-lo novamente. Obrigado!
Nick Westgate

Funcionou muito bem no meu mbp com unidade híbrida ssd. O EFI foi substituído por uma instalação do grub e esse método funcionou perfeitamente para trazê-lo de volta.
28513 sean_m

Obrigado por compartilhar. Para salvar a digitação você pode realmente especificar EFI como tipo de partição em vez do GUID: sudo gpt adicione -b 40 -i 1 -s 409600 -t EFI disk0

1
Como posso alterar os índices das partições para que o ESP possa estar no índice 1?
Addison

3

Tente o seguinte:

  1. Faça backup da unidade na máquina do tempo.
  2. Reinicie, reiniciando no disco de instalação do Lion.
  3. Vá para o Utilitário de Disco.
  4. Apagar partição.
  5. Apague HD.
  6. Apague novamente a partição, desta vez dando um nome a ela.
  7. Clique em HD.
  8. Verifique HD para confirmar que a mensagem de erro EFI não aparece mais.
  9. Volte para instalar a tela.
  10. Escolha restaurar de backup.

2

A solução mais simples foi encontrada aqui: /unix//a/174522/182014

Uma partição EFI pode ser criada via GParted Live CD / USB :

  • Crie uma unidade de 200 MB (todo o meu espaço livre no começo):
    • Tipo: fat32
    • Rótulo: EFI
  • Formate-o
  • Defina os sinalizadores de inicialização (opção disponível somente após a formatação) para "boot, esp"

insira a descrição da imagem aqui

Pronto!


0

Experimente o iPartition 3 ou superior. Vá para exibir o menu e exibir os dispositivos do sistema. Como está faltando o EFI de 200mb, reduza a primeira partição do disco em 200mb. Crie uma nova partição e, na janela do inspetor de disco, existem guias. Você pode escolher um tipo diferente de sistema de arquivos. Basta escolher a Partição do sistema EFI.


0

Isso corrigiu o problema para mim.

1) Faça backup da partição Bootcamp usando Winclone

2) Faça backup da unidade Mac OSX usando o Carbon Copy Clone em uma unidade externa

3) Instale o Mountain Lion em uma unidade flash ou unidade externa

4) Compre uma cópia do iPartition, faça o download para a unidade flash ou unidade externa

5) Reinicie enquanto mantém pressionada a tecla Opção para obter o menu de inicialização

6) Selecione o flash ou a unidade externa para inicializar

7) Extraia a iPartition e execute. Selecione Exibir e Inspetor no menu suspenso.

8) Selecione Partição do Bootcamp na guia Partição e marque as duas caixas na lista (Ativo e Visível no Windows) e feche a caixa.

9) O botão Ir deve estar iluminado; caso contrário, aumente um pouco a partição Bootcamp. O meu é OSX de 2 TB e Windows de 500 GB em uma unidade de 2,5 TB.

10) Quando o botão Go for pressionado, ele começará a processar; embora você possa ter que interromper qualquer processo que o impeça de executar (Concluído com o Activity Monitor)

11) Quando terminar, desligue e remova o dispositivo de inicialização externo e ligue o Mac novamente. Deve ser corrigido e inicializado normalmente - pelo menos o meu.

Estou executando um iMac 27, 3,2 GHz Intel Core i3 com 16 GB de RAM e um disco rígido de 2,5 TB. A maioria dos itens listados eu já havia feito antes da instalação do Mountain Lion, exceto por um backup atual da unidade Bootcamp. O Winclone funcionou mesmo que o Bootcamp não inicializasse e o processo de restauração gerou um erro ao gravar o MBR. Eu apenas ignorei o erro e continuei com o restante do processo. Aparentemente, o Mountain Lion mexeu com o PMBR ou o EFI e nem o rEFIt o consertaria, mas o que a iPartition fez; agora está consertado.

*AVISO LEGAL**

Embora esse processo possa ter funcionado bem para mim, NÃO PODE FUNCIONAR PARA VOCÊ! Assim como em qualquer processo que edite a tabela de partição e inicialize os dados, você tem uma chance de perder dados. Faça backup da sua unidade se você deseja manter seus dados.

Eu recomendo o Carbon Copy Clone para fazer backup da partição OSX, pois pode criar um clone inicializável que nunca tive falha.

Tenho certeza de que outras pessoas tiveram sucesso em resolver esse problema e agradecemos a todos que postaram o que fizeram, pois isso me ajudou a resolver esse problema no meu iMac.

Obrigado a todos e espero que isso ajude outra pessoa. (Publicado no Apple Forum) https://discussions.apple.com/message/19220149#19220149

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.