“GPT detectado. Por favor, crie uma partição de inicialização do BIOS ”enquanto usa o reparo de inicialização

12

Desde que atualizei o Windows para 8.1, meu menu Grub desapareceu. Eu executei o Ubuntu usando o Live USB, usei o Boot-Repair, mas algo deu errado. Se eu clicar em Reparo recomendado, recebo este erro:

GPT detectado. Por favor, crie uma partição de inicialização do BIOS (> 1 MB, sistema de arquivos não formatado, sinalizador bios_grub). Isso pode ser realizado através de ferramentas como o Gparted. Então tente novamente. Como alternativa, você pode tentar novamente após ativar a opção [Separate / boot / efi partition:].

Então, tentei definir meu sda9 (acho que é a partição do sistema Ubuntu, já que é ext4) com o sinalizador bios_grub e depois executar o Boot-Repair novamente. Não deu certo.

Não sei o que fazer Meu Grub estava funcionando bem (usando UEFI) antes de atualizar o Windows.

Eu removi o sinalizador bios_grub. Então eu usei fscke não encontrou nenhum erro. Então, tentei novamente com o Boot-Repair, mas ele sempre me dá o erro "GPT detectado". Minha inicialização está no modo UEFI, a Inicialização segura está "desativada".

Quando inicializo meu PC com o SecureBoot OFF, posso acessar o menu GRUB. Mas está vazio (a única voz é "Configuração do sistema").

Montei meu disco do sistema Ubuntu:

sudo mount /dev/sda9 /mnt

e as outras coisas:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

Entrei no sistema com chroot:

sudo chroot /mnt

Eu reinstalei o grub:

grub-install /dev/sda
update-grub2

Mas ainda não funciona.

Kurt Bourbaki
fonte
Para futuros leitores, esta resposta foi corrigida por mim (inicialize a partição real e execute grub-install): askubuntu.com/questions/546582/surface-pro-3-no-grub-menu/…
CornSmith

Respostas:

11

Primeiro, o bios_grubsinalizador partedou GParted é uma maneira de identificar uma partição de inicialização do BIOS. O GRUB 2 usa essa partição para reter parte de seu código de inicialização quando o computador inicializa no modo BIOS. É normalmente de cerca de 1MiB de tamanho, embora possa ser menor em alguns casos. Mais importante, se o Boot Repair executou novamente o instalador do GRUB depois de definir o bios_grubsinalizador na /partição root ( ) do Linux , você pode ter destruído essa partição. Portanto, antes de fazer qualquer outra coisa, recomendo:

  1. Remova o bios_grubsinalizador da /partição root ( ) do Linux .
  2. Teste sua /partição root ( ) do Linux com fsck(ou funcionalidade equivalente no GParted ou outras ferramentas da GUI). Se a partição tiver erros, corrija-os ou restaure seu sistema a partir de um backup. Somente quando você tiver certeza de que pode montar a partição e usá-la normalmente, deve prosseguir.

Segundo, você teve esse problema porque inicializou seu disco de emergência no modo BIOS / CSM / legado, e não no modo EFI. Você precisa aprender como controlar o modo de inicialização do seu computador. Geralmente, você pode fazer isso através de um gerenciador de inicialização acessado pressionando Esc ou uma tecla de função no início do processo de inicialização (antes que o GRUB apareça); mas não há padronização sobre como acessar esse gerenciador de inicialização ou quais opções ele oferece. Portanto, você pode precisar experimentar para descobrir isso.

Terceiro, se você conseguir descobrir como inicializar seu CD ao vivo no modo EFI, o Reparo de Inicialização deverá corrigir o problema. Como alternativa, você deve poder usar uma versão da unidade flash CD-R ou USB do meu gerenciador de inicialização do rEFInd para inicializar o Linux. Depois que o Linux estiver funcionando, você poderá efibootmgrrestaurar o GRUB como o carregador de inicialização padrão, mas os detalhes dependem de como está configurado agora. Resumidamente, você deve usar a -oopção efibootmgrpara definir a entrada do GRUB como a primeira. Esta pergunta e respostas cobrem o problema de um ângulo diferente. Em vez de restaurar o GRUB, você também pode instalar o rEFInd no seu disco rígido.


EDIT: Tente usar o meu gerenciador de inicialização rEFInd: Use a unidade flash USB ou a imagem CD-R para criar uma mídia adequada e inicialize a partir dela . Isso deve lhe dar uma opção para Windows e pelo menos uma opção para Linux. Se você pode inicializar o Windows e o Linux, instale o pacote Debian do rEFInd no Linux. Isso deve mudar o computador para usar rEFInd por padrão, e você poderá inicializar tudo normalmente.

Rod Smith
fonte
Eu removi o sinalizador bios_grub. Então eu usei o fsck e ele não encontrou nenhum erro. Então, tentei novamente com o Boot-Repair, mas ele sempre me dava o erro "GPT detectado". Minha inicialização está no modo UEFI, a Inicialização segura está "desativada". Se eu colocar a Inicialização segura "ativada", ocorrerá um erro na política de segurança. Como posso resolver o erro GPT?
Kurt Bourbaki
PS Ao inicializar meu PC com o SecureBoot OFF, posso acessar o menu GRUB. Mas está vazio (a única voz é "Configuração do sistema").
Kurt Bourbaki
Por favor, tente usar rEFInd, como sugerido na minha edição.
Rod Smith
Eu usei rEFInd, mas o resultado é o mesmo. Ele me mostra uma interface com 3 opções; quando escolho o Windows ou o Ubuntu, ele continua me trazendo de volta ao menu GRUB, como se o sistema estivesse reiniciando. É como se o sistema não conseguisse encontrar os arquivos certos para a inicialização (estou tentando adivinhar). De fato, mesmo se eu escolher o Ubuntu ou o Windows na inicialização do sistema, ele sempre me levará ao menu do GRUB.
Kurt Bourbaki
1
Às vezes, o Reparo de inicialização substitui o carregador de inicialização do Windows por outra cópia do GRUB, fazendo o backup do original em outro arquivo. No menu Boot Repair Advanced, existe uma opção para restaurar esses backups, para que você possa tentar executá-lo e usar o rEFInd. Também é possível que o original tenha sido perdido; nesse caso, pode ser necessário restaurá-lo a partir de um backup ou usar um disco de recuperação do Windows. Se o rEFInd estiver ativando o GRUB quando você selecionar uma vmlinuz*opção, algo está muito errado com o seu sistema. Qual marca de computador / placa-mãe você possui?
Rod Smith
2

Você pode lidar com esse problema da seguinte maneira:

  1. Inicie o Gparted.

  2. Identifique a partição de inicialização. O meu é o primeiro 16.00MiB no disco do sistema.

  3. Exclua a partição (você não deseja excluir a partição errada e perdeu todos os dados nela! Pare se não souber o que está fazendo!).

  4. Crie uma nova partição (não a formate para nenhum sistema de arquivos), aplique as configurações.

  5. Sinaliza a nova partição como bios_grub usando a opção Gerenciar Sinalizadores.

Agora, tente reparar a inicialização novamente.

yang
fonte
Eu fiz exatamente isso e o boot-repair ainda não vê a partição bios_grub ... e agora?
Magix