O que devo fazer para mudar de BIOS para (U) EFI após a instalação?

2

Eu tenho aqui um novo laptop comprado. É o primeiro dispositivo com o (E) EFI com o qual eu estava trabalhando. No começo eu não obtive a instalação rodando, então voltei para o modo legado do BIOS e instalei o ubuntu nesse modo.

Tudo bem. Agora eu quero adicionar as janelas pré-instaladas de volta ao gerenciador de inicialização para permitir multiboot. Isso funciona apenas via EFI. Então eu pesquisei e encontrei este link . Eu modifiquei as coisas um pouco como eu estava após algum degustação capaz de inicializar no modo efi o grub no live cd e então inicializar manualmente no linux.

Então, no final, tenho um grub instalado na partição do sistema EFI e consigo inicializar no linux diretamente do EFI. Agora eu vi que o grub.cfg tem dois locais: /boot/grub/ e /boot/efi/EFI/grub/ . Na execução de update-grub , somente a versão em /boot/grub/ será afetada. Para a instalação (manual), isso não é um problema, mas qualquer atualização do kernel NÃO alterará o /boot/efi/EFI/grub/grub.cfg importante. Eu tentei criar um link simbólico, mas parece que o arquivo é excluído antes de reescrever. Então o link está perdido.

Então, minhas perguntas em detalhes:

  • O que devo fazer para atualizar automaticamente? Eu deveria mount -o bind o diretório /boot/efi/EFI/grub to /boot/grub ? Alguma melhor solução?
  • É possível fazer com que o grub olhe para outra posição?
  • Onde um grub.efi atualizado será instalado?
  • Existem outras questões que esqueci até agora?
por Christian Wolf 10.05.2013 / 12:25

2 respostas

1

Se o grub não tiver configuração na partição EFI, parece estar sob /boot/grub .

boot-repair travou minha partição EFI. Não consegui mais inicializar nenhuma das opções de inicialização EFI. Infelizmente eu não tenho idéia do que exatamente resultou na falha, então não posso registrar um bug.

Como eu bati toda a minha configuração EFI, eu tive que reinstalar o Windows e Ubuntu uma vez para ficar tudo em execução, mas agora parece que tudo está configurado corretamente.

    
por Christian Wolf 14.05.2013 / 11:10
4

A última vez que verifiquei, a versão do Ubuntu do GRUB 2 coloca um binário do GRUB na partição de sistema EFI (ESP), que é montada em /boot/efi no Linux. Os arquivos de configuração do GRUB ( grub.cfg e vários arquivos de suporte) permanecem em /boot/grub , que está em outra partição. (IMO, isso é um projeto ruim, mas isso é outra questão ....) Assim, se você usar o binário GRUB do Ubuntu, o menu do GRUB deve ser atualizado automaticamente.

Se você instalou o GRUB a partir do código-fonte, ou talvez do binário de outra pessoa, ele poderia funcionar de forma diferente, com grub.cfg e seus arquivos de suporte no ESP juntamente com o binário do GRUB. Esta configuração é realmente mais segura, mas os scripts do Ubuntu não suportam isso, então você teria que atualizar manualmente as coisas após cada atualização do kernel. A partir de sua descrição, você parece ter essa configuração, embora o site ao qual você vinculou pareça descrever a configuração usando os binários do Ubuntu, o que é uma inconsistência intrigante. Você tentou alguma outra coisa em algum momento, ou se desviou das instruções do site para fazê-lo funcionar? Você poderia testar fazendo uma alteração na descrição de uma opção de inicialização em um dos arquivos grub.cfg (supondo que você tenha dois deles) e verificando se essa alteração aparece no menu do GRUB quando você reinicia.

Supondo que você realmente tenha um binário GRUB que analise o ESP para seu arquivo grub.cfg , há várias soluções possíveis, incluindo:

  • Instale a versão do Ubuntu do GRUB sobre o que você tem agora. Isso é arriscado porque pode não funcionar e, portanto, pode deixar você com uma instalação não inicializável. (Sua descrição inicial diz que sua instalação inicial no modo EFI não foi inicializada, o que sugere que você pode ter um problema com a versão do GRUB do Ubuntu.)
  • Mude do GRUB para outro gerenciador de inicialização / gerenciador de inicialização como seu programa de inicialização principal. É provável que meu próprio rEFInd seja fácil de ser executado, e ele cuidará das atualizações do kernel automaticamente. Há algum risco de criar uma instalação não inicializável se você tentar isso, mas o risco é menor do que substituir o seu GRUB funcional por outro, já que você deve poder usar o gerenciador de inicialização do firmware para inicializar através do GRUB mesmo se o novo programa de inicialização falha completamente.

Mais um comentário: os novos computadores invariavelmente são fornecidos com o Secure Boot ativo, o que cria um obstáculo extra a ser superado. O Ubuntu 12.10 e versões posteriores vêm com suporte a Boot Seguro, mas isso nem sempre funciona. A maioria dos carregadores de boot de terceiros, incluindo o rEFInd, exigem trabalho extra para trabalhar com o Secure Boot. Assim, se você ainda não o fez, recomendo que desabilite o Secure Boot no seu firmware. Se você deseja inicializar com o Secure Boot ativo, é melhor ativá-lo após a instalação do gerenciador de inicialização, pois será possível testar o carregador de inicialização sem Inicialização segura primeiro e, em seguida, adicionar inicialização segura a a imagem e depurá-lo com o conhecimento de que sua configuração básica do gerenciador de inicialização está funcionando.

    
por Rod Smith 10.05.2013 / 19:02