Como con Maxine, encontré que la configuración de mi UEFI en el BIOS se dañó y mi máquina no arrancaba.
En mi caso, es un Lenovo ThinkServer RD430 con Linux Mint Debian y parecía que cualquier cosa que hiciera sobre actualizar-grub o cambiar cualquier disco duro en el servidor haría que no arrancara. El sistema operativo en mi caso es linuxmint-201403-mate-dvd-64bit instalado vía USB. (ver más abajo una descripción completa de los eventos que causarían que la UEFI no funcionara)
Pasar exactamente por los mismos pasos en un ThinkServer TS140 no hizo que la UEFI perdiera la cabeza ni una sola vez. Miré la página del controlador RD430 y mi biografía tiene dos versiones antiguas. Nunca he tenido que actualizar la biografía de una placa base antes, así que no soy de los que actualizan automáticamente cuando hay nuevas versiones disponibles. Después de actualizar la bios, la respuesta de Maxine anterior funcionó, sólo que con un giro…
# 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 / #
El comando efibootmgr -c
añadió dos entradas 0000
y 0002
!
La entrada Boot0002* Linux HD
primera en el orden de arranque no es correcta.
La entrada 0000
es correcta.
Para probar esto, intenté arrancar sin ninguna interrupción, que es la entrada 0002
. Como era de esperar, no funcionó. Así que reinicié el servidor, presioné F12, y elegí linuxmint
. Como era de esperar, arrancó en mi instalación LMDE.
La forma de eliminar las entradas no deseadas a través de efibootmgr es:
# efibootmgr -b 2 -B
Utilicé este comando para eliminar las entradas 0001
y 0002
. La opción 0001
fue el último de mis muchos intentos de recuperar el sistema operativo.
Notas de UEFI
Si estás leyendo esto y estás tan frustrado con UEFI como yo lo estoy/estaba, aquí hay algunas notas y recursos:
“ Arrancar a UEFI Shell es similar a usar un shell de DOS.
” Intel hizo un PDF manual de referencia para efi comandos de shell.
“ El UEFI_on_TS430 document de Lenovo es el único recurso que he visto que explica el uso del shell de efi.
” Otra referencia del shell de la UEFI de nGuía del Administrador de Particiones.
“ Puedes intentar arrancar a una partición desde el shell de efi navegando hasta el cargador y ejecutándolo.
” La UEFI quiere que el disco tenga una tabla de particiones GPT, no una tabla de partes msdos.
“ La UEFI quiere que la primera partición de tu disco sea formateada fat32 o vfat.
” Para un arranque “genérico” debe haber un directorio /EFI/boot
en la raíz con bootx64.efi
en él.
“ Algunas personas copian su grubx64.efi
desde donde fue instalado a /EFI/boot/bootx64.efi
y este engaño funcionó para ellos.
” Cada vez que hagas cambios en el grub, usa efibootmgr -v
antes y después para asegurarte de que tu reinicio está bien.
Mi experiencia con el RD430
He restablecido el sistema operativo más de 10 veces en la última semana tratando de resolver esto y configurar el servidor. Mi configuración es un SSD en este controlador RAID en la ranura PCIe 2.0 con LMDE instalado. AOC-S3008L-L8i Controlador RAID reflejado en modo IT ) en la ranura del 2º PCIe 3.0 con 6 unidades de 3TB. RAM: 12GB ECC (3x 4GB).
Estos son los cambios que haría que mi sistema no se inicie:
“ Cambiar las ranuras pci S3008L-L8i (dejando la tarjeta SSD+ solo).
” Deshabilitar el LSi software raid bios prompt para el controlador de a bordo.
“ Agregar mi vieja tarjeta HighPoint RocketRaid a una ranura PCIe abierta.
” Hacer un cambio a /etc/default/grub
y luego ejecutar update-grub
.
(quizás grub-install
necesita ser ejecutado también?)