Início
» LINUX
»
Como remover entradas de inicialização GRUB corrompidas no Linux
Como remover entradas de inicialização GRUB corrompidas no Linux
Para remover uma entrada de inicialização GRUB corrompida, primeiro identifique o que a criou e, em seguida, regenere o menu do GRUB a partir de seus arquivos de origem. No Ubuntu e Debian, execute sudo update-grub`sudo apt-get install grub`; no Fedora e Arch, use comandos diferentes. Não exclua uma linha diretamente do arquivo `.grub` gerado grub.cfg: uma atualização posterior pode recriá-la e uma edição no lugar errado pode dificultar a inicialização do sistema.
Identifique o tipo de entrada de inicialização.
O menu GRUB pode exibir kernels Linux, outros sistemas operacionais detectados, entradas personalizadas e uma opção de configuração de firmware. O último item, geralmente chamado de Configurações de Firmware UEFI , não se refere a um sistema operacional corrompido. Kernels e opções de recuperação mais antigos também são diferentes da entrada de um sistema operacional desinstalado. Mantenha pelo menos um kernel funcional e sua opção de recuperação até confirmar que o sistema inicializa normalmente.
Verifique se o rótulo indesejado é uma entrada do sistema operacional ou uma opção de configuração de firmware separada.
O GRUB normalmente constrói seu menu a partir de configurações como `<nome_do_arquivo>` /etc/default/grube scripts em `<caminho_do_arquivo>` /etc/grub.d/. O menu principal grub.cfgé gerado automaticamente. O manual do GNU GRUB descreve esse fluxo de configuração gerada.
Regenerar o GRUB após remover um sistema operacional
Se você acabou de desinstalar outro sistema operacional ou remover um pacote do kernel, reconstrua o menu primeiro. Abra um terminal na instalação do Linux cujo menu GRUB você utiliza e execute o comando correspondente a essa distribuição:
Distribuição
Regenerar o menu
Ubuntu ou Debian
sudo update-grub
Fedora (versões atuais)
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Arch Linux
sudo grub-mkconfig -o /boot/grub/grub.cfg
Ubuntu e Debian documentam o GRUB update-grubcomo um auxiliar que executa o comando grub-mkconfigpara escrever o arquivo de menu. O Fedora 34 e versões posteriores usam /boot/grub2/grub.cfgo GRUB como configuração principal; evite sobrescrever o pequeno arquivo de ponteiro UEFI em `/etc/uufi/uufi` /boot/efi/EFI/fedora/grub.cfg. O Arch Linux documenta o /boot/grub/grub.cfgcaminho de saída. Para outras distribuições, siga a documentação atual do GRUB e use o caminho de saída configurado por elas.
As mensagens exatas de verificação e status variam de acordo com o sistema; este comando recria o menu gerado no Ubuntu e no Debian.Nas versões atuais do Fedora, grave a configuração gerada em /boot/grub2/grub.cfg.O Arch Linux usa grub-mkconfigo /boot/grub/grub.cfgcaminho de saída.
Analise a saída do comando em busca de erros e referências ao sistema operacional que você removeu. Reinicie somente após a conclusão bem-sucedida do comando. Se a entrada indesejada tiver sido removida, não será necessário editar o menu manualmente.
Se a entrada retornar
Desative a detecção automática somente se não precisar dela.
O GRUB pode usar o comando `/ os-proberetc/grub/` para encontrar outros sistemas operacionais e adicioná-los ao seu menu. Se ele continuar encontrando uma instalação obsoleta, verifique se outra partição conectada ou montada não está apresentando essa instalação. Se você não quiser que o GRUB liste outros sistemas operacionais detectados, faça um backup /etc/default/grubdo seu arquivo `/etc/grub/` e defina esta opção nele:
Essa configuração desativa a detecção automática de outros sistemas operacionais, portanto, use-a somente se você não quiser mais essas entradas.
GRUB_DISABLE_OS_PROBER=true
Salve o arquivo e regenere o GRUB com o comando correspondente à sua distribuição, conforme indicado acima. Essa configuração remove todos os sistemas não atuais detectados automaticamente do menu, incluindo uma instalação do Windows que você ainda possa usar. Se precisar de dual boot, mantenha a detecção de SO ativada e corrija a partição desatualizada ou a fonte de detecção. O guia do GRUB para Arch Linux explica como os-proberas partições montadas afetam as entradas geradas.
Remova uma entrada que você adicionou manualmente.
Uma entrada personalizada pode ser armazenada em /etc/grub.d/40_customum arquivo de configuração ou em um arquivo de origem, como o arquivo /boot/grub/custom.cfg`.bashrc`. Inspecione esses arquivos em busca do menuentrybloco obsoleto. Remova apenas esse bloco; se você editar 40_customo arquivo `.bashrc`, mantenha o cabeçalho e as linhas de script executáveis existentes. Em seguida, regenere a configuração principal. O guia do Arch documenta ambos os locais de entrada personalizada.
As entradas adicionadas manualmente devem estar em seu arquivo de origem, como 40_custom, e não no arquivo gerado grub.cfg.
Para inspecionar o menu gerado sem alterá-lo, procure pelas linhas de entrada do menu. Ajuste o caminho para sua distribuição; o arquivo principal do Fedora está em /boot/grub2/.
Esta verificação somente leitura pode ajudar a associar um rótulo de menu exibido à configuração gerada. Ela não remove entradas.
grep -n 'menuentry' /boot/grub/grub.cfg
Para uma entrada de kernel obsoleta
As entradas do kernel geralmente são criadas a partir de kernels ainda instalados no sistema. Remova um kernel desnecessário através do gerenciador de pacotes da sua distribuição, e não excluindo /bootmanualmente o texto ou os arquivos do menu. Mantenha o kernel em execução e pelo menos um kernel de fallback confiável. Em seguida, regenere o GRUB e verifique o menu novamente.
Quando a entrada estiver no menu de inicialização UEFI
Se o rótulo aparecer no seletor de inicialização do firmware do computador em vez de dentro do GRUB, trata-se de um registro do gerenciador de inicialização UEFI armazenado separadamente do menu do GRUB. Você pode inspecionar esses registros em sudo efibootmgr -vum sistema Linux inicializado via UEFI:
Os registros de firmware UEFI são separados das entradas no menu na tela do GRUB.
O manual do efibootmgr documenta que a ferramenta pode excluir registros de inicialização UEFI. Não remova uma entrada apenas porque seu rótulo parece desconhecido: primeiro identifique o carregador e confirme se ele não é o caminho de inicialização Linux atual ou o único em funcionamento. Se você confirmar que um registro obsoleto específico foi excluído, o comando de exclusão descrito no manual é `efibootmgr -e <número_de_inicialização>` sudo efibootmgr -b XXXX -B, substituindo ` XXXX<número_de_inicialização>` pelo número de inicialização hexadecimal exato. Esse comando altera os dados do firmware; ele não edita o menu do GRUB.
Verifique o resultado
Após reconstruir o menu ou remover uma entrada de origem personalizada, reinicie e confirme se o sistema Linux pretendido inicializa. Se a entrada do sistema operacional desatualizada retornar, verifique sua origem: detecção do sistema operacional, um arquivo de menu personalizado, um pacote do kernel instalado ou um registro de firmware UEFI separado. Evite editar a configuração gerada diretamente; corrigir a origem e regenerá-la é a solução definitiva.