Como alterar o hex minúsculo para maiúsculo com efibootmgr?

-1

O hexágono em minúsculas parece ser um problema para o grub2:

:~$ sudo grub-install --recheck /dev/sdb'

Installing for x86_64-efi platform.
** Warning ** : Boot000a is not EFI 1.10 compliant (lowercase hex in name)
** Warning ** : Boot000b is not EFI 1.10 compliant (lowercase hex in name)
** Warning ** : please recreate these using efibootmgr to remove this warning.
** Warning ** : Boot000a is not EFI 1.10 compliant (lowercase hex in name)
** Warning ** : Boot000b is not EFI 1.10 compliant (lowercase hex in name)
** Warning ** : please recreate these using efibootmgr to remove this warning.
Installation finished. No error reported.

Portanto, hexadecimal em minúsculas é usado e isso impede a inicialização do Grub2.

:~$ modprobe efivars

:~$ sudo efibootmgr

** Warning ** : Boot000a is not EFI 1.10 compliant (lowercase hex in name)
** Warning ** : Boot000b is not EFI 1.10 compliant (lowercase hex in name)
** Warning ** : please recreate these using efibootmgr to remove this warning.
BootCurrent: 000B
Timeout: 1 seconds
BootOrder: 0001,000B,000A,0000,0004
Boot0000* Windows Boot Manager
Boot0001* ubuntu
Boot0004  CD/DVD Drive
Boot000a* Hard Drive
Boot000b* UEFI: TSSTcorp CDDVDW SH-222BB

As páginas do manual dizem :~$ sudo efibootmgr -b , mas não como implementar isso.

Informação adicional:

O problema de não conseguir inicializar a partir do grub2 começou após uma atualização regular de pacotes (que incluía um pacote Grub2).

Ubuntu 14.04 2 64bit foi inicializado com o programa ReFind em um CD: Boot000b * UEFI: TSSTcorp CDDVDW SH-222BB

Acima, vemos BootCurrent pode ser capitalizado automaticamente: BootCurrent: 000B. Então, o processo poderia ter sido automatizado. No entanto, Boot000a eb permanecem em letras minúsculas.

A situação mudou: quando executei o efibootmgr com a opção verbosa -v, notei que a ordem de inicialização foi alterada (não mostrada). Acima você vê que o gerenciador de boot do windows e o ubuntu não possuem um hexágono em minúsculas. Eu tentei a configuração original do UEFI com o Ubuntu primeiro e windows segundo e nenhum CD REFIND. Agora posso inicializar no Ubuntu, mas apenas via modo de recuperação.

:~$ sudo efibootmgr -v

** Warning ** : Boot000a is not EFI 1.10 compliant (lowercase hex in name) ** Warning ** : please recreate these using efibootmgr to remove this warning. BootCurrent: 0001 Timeout: 1 seconds BootOrder: 0001,0000,0004,000A Boot0000* Windows Boot Manager HD(1,800,84000,7e32cd58-blabla)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS... blabla Boot0001* ubuntu HD(1,800,84000,7e32cd58-blabla)File(\EFI\ubuntu\shimx64.efi) Boot0004 CD/DVD Drive BIOS(3,0,00)P4: TSSTcorp CDDVDW SH-222BB . Boot000a Hard Drive BIOS(2,0,00)P1: Samsung SSD 840 EVO 250GB .

É intrigante que o Ubuntu possa inicializar no modo de recuperação agora (não fiz nada para afetar o grub). Algum comentário? Isso não resolve a questão do hexágono em minúsculas.

    
por Bwog 05.06.2015 / 12:42

1 resposta

2

Eu suspeito que o aviso que você está vendo é um arenque vermelho. As mensagens Boot000a is not EFI 1.10 compliant (lowercase hex in name) e relacionadas estão claramente marcadas como avisos, não erros. (Em computadores, um "aviso" é quase sempre uma notificação aos usuários de que algo está abaixo do ideal ou que isso pode causar problemas em algumas situações, enquanto um erro indica um problema de parada de exibição. ) Observe que sua saída de exemplo inclui a seguinte instrução:

Installation finished. No error reported.

Em outras palavras, tudo deve estar funcionando; os avisos não impediram a instalação do GRUB.

Eu também tentei rastrear o que está causando os avisos, e é o utilitário efibootmgr :

link

O código que gera o aviso não faz nada além de exibir a mensagem de aviso; ele não define sinalizadores que teriam outros efeitos negativos subsequentes.

Dito isso, é possível que algum programa subseqüente, como o binário GRUB, também possa ter problemas com números hexadecimais minúsculos, não geram um aviso, mas falham quando o visualizam. Isso parece improvável, no entanto; AFAIK, o GRUB não consulta as variáveis Boot#### do EFI, portanto, se o GRUB estiver sendo lançado, você provavelmente já passou do ponto em que elas devem ser importantes.

Outro ponto sobre isso é que os nomes das opções de inicialização com números hexadecimais minúsculos sugerem que eles foram criados pelo seu firmware. Assim, mesmo se você excluir essas opções de inicialização, elas ou outras opções com números hexadecimais minúsculos poderão ser (re) criadas pelo firmware no futuro. O aviso diz que os valores não são compatíveis com o EFI 1.10, mas a maioria dos computadores modernos é fornecida com o EFI 2.x (também conhecido como UEFI). Assim, o aviso deve importar apenas para essas EFIs mais antigas.

Isso me leva ao verdadeiro âmago da questão: você descreveu o aviso assustador, mas provavelmente o arenque vermelho, mas você não descreveu qual é o problema real , pelo menos não com detalhes suficientes para ser útil. Você percebe que perdeu a capacidade de inicializar após atualizar alguns pacotes, mas essa é uma descrição muito vaga do problema. O GRUB surge de alguma forma? Se o GRUB aparecer, mostra um menu? Se o GRUB tentar iniciar um kernel, ele trava e, em caso afirmativo, que tipo de saída aparece primeiro? Você mencionou o uso do rEFInd, mas ele permitiu que você inicializasse o Linux melhor? Se não, quais sintomas apareceram quando você inicializou com o rEFInd? As respostas a essas perguntas são críticas para solucionar seu problema real. Sugiro que você publique uma nova pergunta com essas informações e preste menos atenção ao aviso (aparentemente inofensivo) efibootmgr .

    
por Rod Smith 06.06.2015 / 21:54