Tal como a Maxine, encontrei as minhas definições UEFI na BIOS para ficar danificada e a minha máquina não arrancava.
No meu caso, é um Lenovo ThinkServer RD430 com Linux Mint Debian e parecia qualquer coisa que eu fizesse em relação ao update-grub ou mudar qualquer disco rígido no servidor faria com que ele não arrancasse. O SO no meu caso é linuxmint-201403-mate-dvd-64bit instalado via USB. (veja abaixo uma descrição completa dos eventos que fariam com que a UEFI não funcionasse)
Passar exactamente pelos mesmos passos num ThinkServer TS140 não fez com que a UEFI perdesse a cabeça nem uma vez. Olhei para a página do driver RD430 e a minha bios é duas versões antigas. Nunca tive de actualizar bios numa motherboard, por isso não sou de actualizar automaticamente quando há novas versões disponíveis. Depois de actualizar a bios, a resposta da Maxine acima funcionou, apenas com uma reviravolta…
# efibootmgr -c --disk /dev/sdX --part Y
# efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0002,0000,0003,0001,0004
Boot0000* linuxmint HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\EFI\linuxmint\grubx64.efi)
Boot0001* LMDE Linux Mint Debian HD(1,800,15d505800,934c598c-fe3c-fd43-84a1-fa38e4f72552)File(\EFI\linuxmint\grubx64.efi)
Boot0002* Linux HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\elilo.efi)
Boot0003* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)AMBO
Boot0004* UEFI: VerbatimSTORE N GO 1.00 ACPI(a0341d0,0)PCI(1a,0)USB(1,0)USB(4,0)HD(1,80,1d70780,00000000)AMBO
mint / #
O comando efibootmgr -c
adicionou duas entradas 0000
e 0002
!
A entrada Boot0002* Linux HD
primeiro na ordem de arranque ** não está correcta**.
A entrada 0000
_ está correcta._
Para testar isto, tentei arrancar sem qualquer interrupção, que é a entrada 0002
. Como esperado, não funcionou. Por isso reiniciei o servidor, carreguei em F12, e escolhi linuxmint
. Como era de esperar, ele arrancou para a minha instalação LMDE.
A forma de remover entradas indesejadas via efibootmgr é:
# efibootmgr -b 2 -B
Eu usei este comando para remover as entradas 0001
e 0002
. A opção 0001
foi da última das minhas muitas tentativas para recuperar o SO.
Notas UEFI
Se está a ler isto e tão frustrado com o UEFI como eu estou/foi, aqui estão algumas notas e recursos:
“ Booting to UEFI Shell is akin to using a DOS shell.
” A Intel fez um manual de referência PDF para os comandos efi shell.
“ Lenovo’s UEFI_on_TS430 document é o único recurso que vi explicando o uso da efi shell.
” Outra referência uefi shell do nPartition Administrator’s Guide.
“ Pode tentar arrancar para uma partição a partir da efi shell navegando até ao carregador e executando-o.
” UEFI quer que o disco tenha uma tabela de partições GPT, não uma tabela de partes msdos.
“ UEFI quer que a primeira partição no seu disco seja formatada fat32 ou vfat.
” Para um arranque “genérico” tem de haver um directório /EFI/boot
na raiz com o bootx64.efi
nele.
“ Algumas pessoas copiam o seu grubx64.efi
de onde foi instalado para o /EFI/boot/bootx64.efi
e este batoteiro funcionou para eles.
” Sempre que fizer alterações ao grub, use o efibootmgr -v
antes e depois para garantir que o seu reinício está ok.
A minha experiência RD430
Eu instalei o SO 10+ vezes na semana passada a tentar resolver isto e configurar o servidor. A minha configuração é um SSD em este controlador RAID no slot PCIe 2.0 com LMDE instalado no mesmo. AOC-S3008L-L8i RAID controller reflashed to IT mode ) na 2ª ranhura PCIe 3.0 com 6x unidades de 3TB. RAM: 12GB ECC (3x 4GB).
Aqui estão as alterações que eu faria para que o meu sistema não arrancasse:
“ Troca de slots S3008L-L8i pci (deixando o SSD+card em paz).
” Desactivar o LSi software raid bios prompt para o controlador onboard.
“ Adicionar a minha antiga placa HighPoint RocketRaid a um slot PCIe aberto.
” Fazer uma alteração ao /etc/default/grub
e depois executar o update-grub
.
(maybe grub-install
também precisa de ser executado?)