¿Cómo arrancar Ubuntu desde EFI / UEFI?


20

Instalé Ubuntu 11.10 en un Lenovo ThinkCentre Edge 71 (modelo: 1577-G3G) recién comprado con el arranque EFI habilitado. Opté por la opción Usar todo el disco . Aunque el proceso de instalación se realizó sin problemas / errores, al reiniciarlo ahora solo me da:

Sin sistema operativo de arranque. Inserte el disco de arranque y presione cualquier tecla ...

Me imagino que esto se debe a EFI.

Regresión:

  • He comprobado la configuración del sistema (F1 durante la POST) para encontrar una opción de BIOS para deshabilitar el arranque EFI / UEFI, sin embargo, no hay tal opción para esta máquina.
  • Esto podría deberse a una función de "Arranque seguro" en el BIOS.
  • El proveedor de hardware no conoce ninguna configuración de "arranque seguro" en el BIOS que impida el arranque de Linux.
  • El soporte de Lenovo no sabía nada sobre una configuración de BIOS llamada arranque seguro. Tampoco sabían de ninguna limitación que impidiera el arranque de Linux.
  • El manual del BIOS ThinkCentre 1577 no menciona EFI, UEFI ni arranque seguro.

¿Cómo instalo Ubuntu en una máquina con EFI? - O, dado que Ubuntu probablemente ya esté instalado: ¿cómo hago para que arranque Ubuntu?


2
Como Ubuntu ya está instalado "con éxito", solo debería reinstalar grub-efi. Eso es exactamente lo que tuve que hacer ayer: superuser.com/q/372962/37511 échale un vistazo.
Maxime R.

Intenté seguir tus instrucciones en la publicación de superuser.com. No hizo el arranque de Ubuntu :(
ervingsb

¿Podría dar algunos detalles sobre su hilo ubuntuforums.org/showthread.php?t=1901748 ? Qué funcionó y qué no, mensajes de error, etc.
Maxime R.

Respuestas:


11

Esta es una publicación modificada por Nerasezi en el Foro de Ubuntu

La fuente principal para UEFI fue la guía Ubuntu UEFI

Los siguientes son los pasos que hizo:

  1. Utilice un CD en vivo que coincida con la arquitectura UEFI. Principalmente x86-64. Inicie el live cd (xubuntu o lubuntu. Esos son equipos de escritorio livianos pero también deberían funcionar con Ubuntu y kubuntu).

    Asegúrese de que su sistema en vivo se inicie en modo UEFI. Puede verificarlo en la configuración UEFI, probablemente en la opción de arranque o similar. En mi caso, simplemente coloco el prefijo "UEFI" antes del nombre del dispositivo.

  2. Una vez que el sistema en vivo se está ejecutando, configure a través de la terminal una contraseña de root escribiendo
    sudo passwd root

    Luego, cierre la sesión del usuario de Live CD predeterminado e inicie sesión como root en modo GUI. Enchufa el disco duro. Utilizo un disco duro portátil USB3, pero en la mayoría de los casos el disco duro es un disco interno SATA. De todos modos, asegúrese de HACER UNA COPIA DE SEGURIDAD DE TODOS SUS DATOS, ya que el proceso borrará todo lo que se encuentre en la unidad. Inicie Gparted (una herramienta gui es mucho más fácil que la de texto) y seleccione la unidad en la que está dispuesto a instalar el sistema. (¡Asegúrese de seleccionar la correcta!) Apunte al menú superior y seleccione Dispositivo> Crear tabla de particiones ... Aparece un mensaje de advertencia. Haga clic en Avanzado y seleccione "gpt". Diga OK. Se ha creado un nuevo diseño de disco GPT. Ahora necesita crear particiones en él. Es muy importante que cree como la primera y principal partición, un volumen FAT32 y que necesite asignarle la etiqueta EFI. Una vez que se crea la partición, haga clic derecho sobre ella y seleccione "administrar banderas". Verifique la bandera de "arranque" y diga OK. Pase a la creación de la / partición (puede que desee separar / home y / boot. Hágalo como lo hace habitualmente. En mi caso, acabo de crear la / partición) y un área de intercambio. Siempre prefiera las particiones primarias porque con GPT se ha eliminado la limitación de 4 particiones primarias. Cerrar Gparted.

  3. Instale el sistema en la partición "/" del disco duro y recuerde señalar aquí el gestor de arranque (GRUB 1.99) para instalarlo. Si ha creado una partición "/ boot" separada, debe elegirla para la instalación del cargador de arranque.

  4. Aquí viene la parte de la guía de UEFIBooting:

    Edificio GRUB2 (U) EFI

    Descargue el último archivo ZIP del código fuente de grub2. ftp://ftp.gnu.org/gnu/grub/

    La construcción de grub2 requiere la instalación de los siguientes programas (dependencias de construcción):

    bison autoconf automake flex autogen python (serie 2.x) (para autogen.sh si se construye desde bzr repo) texinfo help2man gettext (soporte NLS) mapeador de dispositivos freetype2 (libs)

    sudo apt-get install bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev freetype2-demos texinfo efibootmgr

    efibootmgr se agregó al software que necesita instalar porque lo necesitará más adelante.

    Para EFI de 64 bits (U):

export EFI_ARCH=x86_64 ./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix="" make

En caso de que tenga una arquitectura de 32 bits, consulte la documentación en línea en el enlace que he proporcionado en la parte superior.

Instale GRUB2 en sistemas (U) EFI

Determine su PARTICIÓN DEL SISTEMA EFI. (debe ser / dev / sda1 o / dev / sdb1 si está configurado en el segundo hd)

Luego monte la partición en / mnt / EFISYS (o en cualquier punto de montaje que desee). El siguiente código supone que / dev / sda1 es una partición EFISYS.

sudo mkdir -p /mnt/EFISYS

sudo modprobe dm-mod

sudo mount -t vfat -o rw,users /dev/sda1 /mnt/EFISYS

sudo mkdir -p /mnt/EFISYS/efi/grub

Luego, cree una aplicación EFI para GRUB y cópiela junto con los otros módulos:

Ingrese al directorio "fuente compilada grub2 / grub-core" - Valor predeterminado: / usr / lib / grub / {EFI_ARCH}

grub-mkimage -O ${EFI_ARCH}-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot

sudo cp grub.efi *.mod *.lst /mnt/EFISYS/efi/grub

Nota: La opción -p "" es importante para crear una aplicación portátil grub.efi. Ahora cree un grub.cfg en / mnt / EFISYS / efi / grub:

sudo touch /mnt/EFISYS/efi/grub/grub.cfg

Haga que el firmware inicie GRUB2 (U) EFI por defecto

Para sistemas UEFI que no son Mac, efibootmgr se utiliza para modificar el Administrador de arranque de firmware UEFI. Esto requiere que el núcleo se inicie en modo UEFI y que la arquitectura del procesador del núcleo debe coincidir con la arquitectura del firmware (y 'noefi' NO se usa) para que el módulo del núcleo 'efivars' se cargue y efibootmgr para acceder a las variables del administrador de arranque. Inicialmente, el usuario debe iniciar manualmente "efi / grub / grub.efi" desde la consola del firmware si grub2-efi se instaló en modo BIOS. Luego se debe ejecutar efibootmgr para crear la entrada de arranque.

sudo modprobe efivars

Ingrese al directorio "fuente compilada grub2 / grub-core"

grub-probe --target=device /boot/efi/efi/grub/grub.efi

Suponiendo que la salida de la sonda grub sea / dev / sda1

sudo efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "GRUB2" --loader "\\EFI\\grub\\grub.efi"

En el comando anterior, / boot / efi / efi / grub / grub / efi se puede dividir como / boot / efi y /efi/grub/grub.efi, que se traduce en (/ dev / sda) -> partición 1 - > \ EFI \ grub \ grub.efi.

  1. Abra Synaptic y elimine todos los paquetes grub e instale solo los paquetes grub-efi (amd64 para mí) y todas las dependencias necesarias. Una vez finalizada la instalación, ejecute sudo update-grub en la terminal. Debería editar "grub.cfg" desde / boot / grub y verificar que el UUID del disco coincida con su disco y particiones, la voz "insmod part_" y "set root = '(hd0," tienen línea de texto "gpt". Si todo es ok, copie "grub.cfg" a "efi / grub" en la partición del sistema EFI. Si algo que mencioné antes no coincide, solo edite grub.cfg y cambie manualmente los valores. Luego copie el archivo a " directorio efi / grub "en la partición del sistema Efi (aún debe montarse en / mnt).

    Luego, cuando reinicié el sistema, apareció una nueva entrada en la pestaña Arranque en la configuración de UEFI, llamada GRUB2 y la configuré como la opción de arranque predeterminada.


¿Es posible instalar efibootmgr en una instalación que no sea EFI? ¿Sigue siendo realmente necesario compilar grub2 desde la fuente? La reparación de arranque es otra opción, pero nuevamente tiene tasas de éxito variables debido a que diferentes proveedores implementan las especificaciones UEFI de manera diferente. Lo que también significa que "Hacer que el firmware inicie GRUB2 (U) EFI por defecto" puede no ser posible para algunas máquinas.
geezanansa

Wow, esta es una vieja respuesta. Le preguntaría qué está mencionando en una nueva pregunta, ya que muchas cosas han cambiado desde entonces y la parte sobre diferentes implementaciones de proveedores se está yendo de las manos en algunos casos en los que he trabajado.
Luis Alvarado

Si la respuesta que busca no se encuentra aquí, entonces (y como usted es el OP), esto no es una trampa porque supongo que todavía no ha encontrado la respuesta que está buscando. Además de esto, hay muchas preguntas similares relacionadas con esto que en realidad difieren de una forma u otra sobre cómo solucionar todo el asunto de EFI que hemos visto en los últimos 6-12 meses.
Luis Alvarado

1
Sin embargo, una cosa es segura: denominador común = GRUB
geezanansa

Entonces, ¿cómo instalo grub habilitado para UEFI en una memoria USB desde un sistema no uefi?
trusktr

5

Para ayudar a confirmar si su máquina es compatible con U / EFI, simplemente ejecute dmesg | grep EFIdesde la Terminal en una sesión de escritorio en vivo.
Para ayudar a confirmar si su Ubuntu instalado se ha iniciado usando U / EFI, vea qué /sys/firmware/efiregresa.
Una solución que ahorra tiempo es asegurarse de que Ubuntu haya arrancado en modo UEFI en el momento de la instalación . La referencia a la más reciente sección 2.4 de la Guía UEFI de Ubuntu ilustra esto brillantemente

Identificar si la computadora inicia el CD en modo EFI

Advertencia: incluso si su PC inicia el CD en modo EFI, podría iniciar el HDD en modo Legacy (y todo lo contrario).

Al arrancar en un disco Ubuntu de 64 bits:

  • Si el BIOS está configurado para iniciar el CD en modo EFI, verá la siguiente pantalla:

Modo UEFI

  • Si el BIOS NO está configurado para iniciar el CD en modo EFI, o si el disco no es de 64 bits, verá la siguiente pantalla:

Modo BIOS

Asegúrese de utilizar la misma guía mencionada para garantizar que el disco duro se inicie utilizando UEFI también. Esto puede ser tan simple como configurar SATA a AHCI, pero depende de su firmware utilizado.

Una vez que llega a la pantalla grub, es posible pasar a la línea de comando presionando "c" y probar lsefisystabcuál debería dar una tabla de entradas EFI con GUID, que es otro método útil para identificar si UEFI se está utilizando ANTES de la instalación.

Es posible utilizar dmesg | grep EFIpara identificar si su máquina es capaz de UEFI. En una de mis máquinas que no es compatible con U / EFI, pero hacer esto me da lo UEFI capaz?
que puede ser engañoso, ya que hacer el mismo comando en una máquina con capacidad UEFI devolvería muchas más líneas (posiblemente más de 50) cuando se inicia usando EFI. Encontré este simple consejo en rodsbooks (el enlace es para rEFInd, que es una alternativa al uso de Grub2). Las páginas web de rodsbooks se actualizan regularmente y son una fuente de información muy confiable. El autor del cual es un profesor de UEFI, por decir lo menos, ¡si no un genio!

En referencia a los libros de barras en esta página, se muestra que Ubuntu 11.10 crea un ESP con un sistema de archivos FAT16 donde, como algunos firmwares UEFI, quieren un ESP con un sistema de archivos FAT32. Encontrará la explicación completa si hace Ctrl+ Fy busca Fedora en la página vinculada en este párrafo (haga clic en Siguiente una vez en "Buscar barra" para ir directamente a la información a la que se hace referencia).
Teniendo en cuenta el hecho de que la especificación UEFI requerida para el arranque seguro es => UEFI 2.2 y las máquinas preinstaladas de Windows 8 usarán UEFI 2.3.1.
Todo lo cual confirma que Ubuntu 11.10 no es un arranque seguro, por lo que el arranque seguro no es el problema.

Después de usar UEFI es posible instalar Windows, que solo puede usar GPT cuando usa UEFI; que Ubuntu instala usando BIOS / configuraciones heredadas debido a deficiencias en el instalador. es decir, Ubuntu puede instalarse en GPT utilizando BIOS o UEFI, lo que lleva a la necesidad de cambiar la configuración del firmware para iniciar cada sistema operativo.

Identificar si Windows está utilizando UEFI es usar la administración de disco para confirmar que se está utilizando GPT. Es posible convertir una instalación de Windows Bios a UEFI utilizando esta guía Conversión de la instalación del BIOS de Windows a UEFI

Una solución fácil es ejecutar Boot-repair-disk (descargar el CD .iso significará un arranque un poco más rápido en comparación con el uso completo de Ubuntu.iso y luego instalar la reparación de arranque. Verifique las opciones avanzadas antes de ejecutar la reparación recomendada teniendo en cuenta qué configuración de firmware usted ha utilizado para iniciar boot-repair. Boot-Repair instalará grub-efi y solucionará los problemas de codificación de firmware para que el sistema use UEFI y arranque Ubuntu, así como cualquier otra instalación existente que use UEFI.

Una parte importante (que puede ser específica del proveedor) es cómo arrancar en modo EFI (es decir, el mismo CD Ubuntu 14.04 LTS puede detectar dos modos diferentes y renderizar el texto diferente frente a la pantalla de arranque sin texto como se muestra arriba).

http://forum.hardware.fr/hfr/OrdinateursPortables/portable/resolu-installation-probleme-sujet_67937_1.htm

o esto:

http://rog.asus.com/220572013/rampage-motherboards/rampage-iv-uefi-boot-installation-guide-on-windows-7-or-8/

Tenga en cuenta que en la configuración del BIOS para las prioridades de arranque, generalmente hay dos opciones diferentes para DVD: Px o UEFI (o algunas otras palabras). Uno de estos es para UEFI y otro es para el arranque heredado basado en MBR.


3

Resuelto el problema EFI en mi portátil ACER 5560G, resultó que cambiar el nombre del directorio EFI y el archivo EFI en el disco USB Wubi funcionaba (gracias immerohnegott).

Forzó una instalación GRUB normal en 2 particiones prefabricadas con GParted en una memoria USB. Las particiones fueron:

  • /boot (100 mb)
  • / (70 GB)

Reinicie en Windows 7 e instale la versión gratuita de EasyBCD. Agregue una nueva entrada Linux -- >> Grub 2y buscará en todas las particiones el gestor de arranque GRUB.

De esta manera, la partición "Sistema reservado" de Windows y la Partición oculta Acer PQSERVICE no se tocan.


Gracias. Me negué a seguir los pasos de Luis Alvarado y esta simple manera lo hizo por mí. No digo que la respuesta de Luis no sea correcta, pero si tengo que meterme en tantos problemas solo para que Ubuntu arranque, prefiero usar Windows. Sí lo dije. Entonces, amigos, intenten esto antes de intentar construir su propio Linux desde cero. Es posible que evite tener que sacar su placa UEFI y su llave USB de Ubuntu por la ventana de mf.
Gabriel

La primera oración de su enlace "Esto solo se aplica a sistemas con Windows que no se ejecuta en modo EFI" ... hmmmm.
geezanansa

2

Puede hacer unidades de arranque USB que funcionen con el sistema EFI, no estoy tan experimentado como algunos de ustedes, así que descubrí una manera que es fácil y funciona :)

En una máquina que tenga la BIOS EFI, inserte un CD / DVD con Parted Magic (lo tenía en un CD de arranque HIREN que hice en un CD en lugar de un USB) Arranque desde ese CD / DVD.

Una vez que esté en Parted Magic, inserte una unidad de salto USB vacía con al menos 2 GB de memoria. Abra la utilidad Unetbooten que se incluye en Parted Magic. Ejecute el programa y elija cualquier distribución que esté intentando cargar en la unidad de salto. Siga las instrucciones y espere a que se complete.

Esa unidad USB debería arrancar en cualquier sistema EFI ahora. Al menos funcionó para mí: oP


Unetbootin es una excelente manera de crear medios de instalación USB. También puedo recomendar las utilidades de pendrivelinux que incluyen el instalador universal USB ( pendrivelinux.com/universal-usb-installer-easy-as-1-2-3 ) Estas herramientas simplemente proporcionan GUI para .iso y unidad de formateo (FAT32) que es igual de fácil de lograr mediante el uso de CLI una vez que haya practicado algunas veces. Sin embargo, esto todavía no es una solución para hacer que el instalador de Ubuntu se ejecute con U / EFI. es decir, las iso son las mismas independientemente de qué medios se utilicen, ya sea DVD o USB. El instalador es el problema, no los medios utilizados para montarlo.
geezanansa

1

Debe descubrir cómo hacer que su BIOS inicie el CD de instalación en modo efi, no en modo BIOS. Sabrá que se está iniciando en modo efi porque obtendrá un menú de grub en lugar del habitual syslinux.


Creo que ya está arrancando en modo EFI. Me sale un menú GRUB. NO es el menú semi gráfico habitual con el logotipo de Ubuntu. Solo un menú GRUB en blanco y negro con tres opciones: - Pruebe ubuntu antes de instalar - INstall ubuntu - verifique si hay defectos.
ervingsb

@ervingsb, eso debería hacerlo entonces, suponiendo que le haya dicho al instalador que use todo el disco, en lugar de la partición manual.
psusi

1
Pues no fue así. Dejé de instalar a través de USB. Alguien en los foros de Ubuntu sugirió que instalé desde un CDROM en lugar de USB. Esto lo hizo funcionar.
ervingsb

1

Por lo tanto, me encontré con un problema al instalar Ubuntu 14.04 en un Lenovo ThinkCentre M91p, y tengo una solución rápida / fácil:

  1. Antes de iniciar desde el disco de instalación / USB de Ubuntu, vaya a su BIOS y en la pestaña "Inicio" cambie el "Modo de inicio" de "Auto" a "Legacy".
  2. Instala Ubuntu.
  3. Si lo desea, cambie el Modo de arranque en el BIOS nuevamente a Automático.

Eso funciona constantemente para mí.

Estoy bastante seguro de que funciona porque el instalador de Ubuntu detecta si el BIOS es compatible con EFI o no cuando decide qué gestor de arranque instalar. Al configurar el BIOS como heredado, Ubuntu termina instalando el viejo gestor de arranque que funciona con estas máquinas Lenovo.


1

En la configuración de su BIOS, cambie el modo de su disco duro a IDE y arranque desde la unidad flash USB. Se instalará en modo no UEFI, y el arranque después de la instalación también funcionará bien.

Este método en particular me está funcionando muy bien con Ubuntu 16.04 en un Lenovo ThinkCentre Edge 71, con la última versión de BIOS.


1
Bienvenido top askubuntu! ¡Gracias por intentar ayudar! Como esta publicación tiene varios años, y la pregunta se refiere a una versión que ya no es compatible y tiene varias respuestas, estoy seguro de que la comunidad lo agradecería si pudiera enfocar sus esfuerzos [aquí] askubuntu.com/unanswered )
Elder Geek

Gracias por las reflexiones, sin embargo, me encontré con esta publicación porque me encontraba con este problema con la última versión compatible, que se solucionó siguiendo los pasos que proporcioné. Si puede sugerir una publicación más reciente que describa el mismo problema, me complacería publicar allí también.
Gregg B.

Si encontró este problema con una versión actual, edite su respuesta para indicar qué versión estaba ejecutando para ayudar a aquellos con el mismo problema y versión a encontrar su respuesta. ¡Gracias!
Élder Geek

Eso es lo que mi OP 16.04 ya hace referencia: la última y más reciente versión LTS. ¿Qué más te gustaría editar?
Gregg B.

Lo siento, me perdí eso. +1
Elder Geek

0

También tuve un problema similar.

Lo que experimenté fue que la computadora con EFI también está equipada con BIOS. Envié spam a F2 como loco, lo que sucedió fue que tuve la opción de usar EFI o BIOS estándar.

Sin embargo, tenga cuidado, si usa el BIOS, la computadora arrancará con el mensaje: "no se encontró ningún sistema operativo".

Por lo tanto, podría formatear su computadora desde allí y hacer que arranque como una PC normal.


0

Tuve el mismo problema ... compré esta nueva bestia de escritorio Lenovo y encontré un mismo problema, no quería WIN 8.1 en absoluto, (he estado tratando con Linux desde Red hat 6.1) Sin embargo, no estaba familiarizado con UEFI / EFI en absoluto. La PC ni siquiera arranca liveCD. Después de buscar información de tru en este blog, descubrí que tienes que cambiar un par de cosas en UEFI / EFI / BIOS, primero fue deshabilitar CSM y elegir "Legacy only" en las opciones de inicio de arranque. Reiniciar y boom! Yo estaba en . Instalé Ubuntu 12.04, estaba listo para comenzar. Más tarde descubrí que 12.04 NO ARRANCARÍA después de volver a cambiar esas mismas configuraciones a "UEFI Only" error "OS not found". Según tengo entendido, Ubuntu comenzó a admitir este UEFI a las 12.10, lo actualicé a 13.04, cambié las mismas configuraciones, habilité CSM. Y UEFI solamente, ¡y listo! Arranqué desde UEFI y noté que la máquina funciona mucho mejor. No tiene que realizar una nueva instalación desde UEFI, simplemente actualice a 13.04 / 10 y vuelva a UEFI, funcionó para mí, sin embargo ... No puedo esperar para ver qué hace Linux con esta característica relativamente nueva UEFI / EFI, hay algún potencial aquí


Edite su respuesta e intente hacerlo más legible agregando párrafos dentro de su cuerpo. Además, un par de referencias sería genial.
Danatela

0

Resolví este problema, uso Ubuntu 16.04 y Windows 10, y no puedo iniciar automáticamente en mi Ubuntu. Mi partición EFI es FAT32

Asegúrese de que su partición ubuntu sea el primer orden de arranque,

$ sudo su
# cd /boot/efi/EFI/Boot
# mv bootx64.efi bootx64_.efi
# cp ../ubuntu/shimx64.efi bootx64.efi
# cp ../ubuntu/grubx64.efi grubx64.efi
# update-grub
# reboot

-2

El mismo problema aqui. Lo he 'resuelto' arrancando permanentemente desde mi CD SuperGrub. No me importa hacerlo de esta manera. Lo veo como una característica de seguridad; mi CD SuperGrub es mi clave adicional. Cuando reviso mis discos duros en Ubuntu puedo ver que Ubuntu-HDD es un disco que no es MBR. Parece que volver a particionar este disco y agregar el MBR solucionaría el problema, pero soy demasiado vago para pasar por todos estos problemas.


La pregunta implícitamente pregunta "¿Cómo iniciar Ubuntu usando U / EFI?" Puede encontrar que los MBR están asociados con unidades MSDOS y U / EFI usa unidades GPT. Ubuntu tiene la capacidad de usar GPT cuando se usa una partición grub_bios, lo que significa no usar el modo UEFI para arrancar, sino el modo BIOS / heredado en una unidad GPT. Windows solo se iniciará utilizando UEFI en una unidad GPT. Esto significa que en el sistema de arranque dual que usa UEFI para Windows y bios_grub (MBR) para Ubuntu significaría que Windows arranca pero no Ubuntu, ya que la configuración del firmware necesitaría UEFI apagado para arrancar Ubuntu. Tal como lo describe OP ...
geezanansa
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.