¿Cómo crear una partición del sistema EFI?

34

TL; DR ¿Cómo creo una partición del sistema EFI desde cero? ¿Cómo pongo el firmware EFI una vez que se crea?

Versión larga

Tengo una computadora portátil Toshiba T430. Lo recibí con Windows 7 instalado (pero creo que originalmente se envió con Windows 8). Instalé Ubuntu en él, pero eliminé algunas particiones en el disco, así que terminé borrando Windows y solo teniendo Ubuntu. Entre las particiones eliminadas estaba la partición del sistema EFI. Descubrí que Ubuntu ahora arranca en modo Legacy (y no UEFI). Estoy tratando de seguir esta guía para convertir mi instalación de Ubuntu de Legacy a UEFI. El problema: dado que no hay partición EFI cada vez que elijo BIOS para arrancar usando UEFI, no puedo arrancar. Eso cuenta no solo para el disco duro, sino también para USB y DVD. Creo que esto es lógico: espera una partición EFI y, dado que no puede encontrarla, no puede continuar arrancando más, ya sea desde HDD o DVD. Entonces, ¿cómo puedo recrear la partición EFI?

La guía anterior dice:

Crear una partición EFI

Si está particionando manualmente su disco en el instalador de Ubuntu, debe asegurarse de tener una partición EFI configurada.

  1. Si su disco ya contiene una partición EFI (por ejemplo, si su computadora tenía Windows8 preinstalado), también se puede usar para Ubuntu. No lo formatee. Se recomienda encarecidamente tener solo 1 partición EFI por disco.

  2. Se puede crear una partición EFI a través de una versión reciente de GParted (la versión Gparted incluida en el disco 12.04 está bien) y debe tener los siguientes atributos:

    1. Punto de montaje: / boot / efi (comentario: no es necesario establecer este punto de montaje cuando se utiliza la partición manual, el instalador de Ubuntu lo detectará automáticamente)

    2. Tamaño: mínimo 100Mib. Se recomiendan 200MiB.

    3. Tipo: FAT32

    4. Otro: necesita una bandera de "arranque".

Tuve algunos problemas para crear esta partición:

  • Arranco desde un DVD Ubuntu en vivo, abro GParted, creo una partición de 200MB y la formateo en FAT32.
  • En GParted no puedo establecer el punto de montaje y, por lo tanto, no puedo configurar el indicador de arranque.
  • No configuré el punto de montaje /etc/fstabya que es un CD en vivo y fstab se veía muy diferente de lo que esperaba en comparación con un arranque normal. De todos modos, simplemente no sabía qué valores establecer.

Arranqué nuevamente a través del DVD en vivo y luego elegí instalar Ubuntu. Luego creé una partición con los criterios mencionados: punto de montaje, 200 MB, FAT32, bandera de arranque.

Sin embargo, sigo teniendo este problema y supongo que es porque en esa partición no hay firmware EFI, es solo una partición vacía, que es adecuada para tener firmware EFI.

Entonces, de nuevo, ¿cómo creo una partición EFI, que tiene el software EFI, para que la computadora portátil pueda volver a arrancar en modo UEFI?

SOLUCIÓN Gracias a ambos por las respuestas. Lo que hice fue instalar Windows 8.1 desde cero formateando todo el disco y luego instalando (esta vez correctamente) Ubuntu al lado. Estas son mis particiones ahora:

Particiones de disco

Durante la instalación de Win 8, tan pronto como eliminé todas las particiones existentes y dejé que Windows formateara el disco, creó automáticamente, además de la partición de instalación principal, tres particiones adicionales, a saber, 1, 2, 3. Ahora, después de tener un ESP adecuado , Podría arrancar desde HDD o DVD en modo UEFI.

Dices que el ESP no almacena ninguna información de forma predeterminada, pero supongo que cuando se instala un sistema operativo, pone algo de información allí. Así que supongo que mi caso fue el siguiente: lo había borrado y, aunque lo recreé, no estaba lleno de información, ya que la creación del ESP se realizó después de instalar un sistema operativo. Perdí la instalación de Ubuntu (no es gran cosa, de todos modos fue una instalación nueva), pero supongo que para guardarla, debería haber seguido el consejo de Grawity . Sin embargo, no tuve tiempo, pero felizmente todo está bien ahora.

Alex Popov
fuente
1
El ESP almacena cargadores de arranque. Por lo tanto, si tiene una instalación existente y elimina el ESP, perderá la capacidad de iniciar la computadora. Este tipo de problema es bastante sencillo de solucionar, ¡ SI sabe cómo hacerlo !
Rod Smith
Bueno, de eso se trataba mi pregunta :)
Alex Popov

Respuestas:

37

Primero, no establece el punto de montaje en GParted; Eso se hace manualmente (y temporalmente) a través de la mountorden o de forma permanente mediante la edición /etc/fstab. Por lo tanto, su preocupación por este problema está fuera de lugar.

En segundo lugar, una partición de sistema EFI (ESP) es simplemente una partición FAT con un código de tipo particular (a saber, C12A7328-F81F-11D2-BA4B-00A0C93EC93B en discos GPT). Tenga en cuenta que el punto de montaje /etc/fstabno es parte de la definición del ESP; es simplemente convencional (pero no obligatorio) en Linux acceder al ESP montándolo en /boot/efi, generalmente a través de una /etc/fstabentrada. La forma en que configura el código de tipo varía de un programa a otro:

  • En gdisk, establece el código de tipo en EF00. ( gdiskutiliza códigos de tipo de dos bytes que se expanden a los códigos de tipo real en el disco; "EF00" es solo un mnemónico para "C12A7328-F81F-11D2-BA4B-00A0C93EC93B").
  • En GParted o parted, establece la "bandera de arranque". Sin embargo, tenga en cuenta que esto solo funciona en discos GPT; no puede configurar el código de tipo ESP en discos MBR con estos programas. (Esto normalmente no es un gran problema, ya que las computadoras basadas en EFI generalmente arrancan desde discos GPT).
  • En el instalador de Ubuntu, identifica la partición como una "partición de arranque EFI". Luego establece el código de tipo y se configurará /etc/fstabadecuadamente.
  • En versiones recientes de Linux fdisk, configura el tipo de partición por su número (1 para "Sistema EFI" en discos GPT o 0xEF en discos MBR) o ingresando el código de tipo completo en discos GPT.

En tercer lugar, el ESP no tiene firmware: el firmware, por definición, se almacena en chips en la placa base. Por lo tanto, su esfuerzo por instalar el firmware de EFI en el ESP es una persecución salvaje. (Hay dos excepciones a esta regla. Primero, puede almacenar un archivo de firmware en el ESP para actualizar el firmware en su computadora. Sin embargo, esto es solo un área de retención temporal. En segundo lugar, el cargador de arranque DUET o Clover , el EFI se carga como un programa regular, por lo general desde el ESP Estas herramientas son de BIOS gestores de arranque, sin embargo, que permiten la BIOS sólo los equipos de arranque como si fueran máquinas EFI;. que son nonormalmente se usa en computadoras con firmware EFI, que usted afirma que tiene su computadora. Técnicamente, ni DUET ni Clover son firmware; son cargadores de arranque de BIOS que hacen el mismo trabajo que EFI).

Finalmente, puedo pensar en una serie de posibles causas de su problema, pero sin más información, necesitaría escribir medio libro para cubrirlas todas. Le recomiendo que ejecute el Boot Info Script en la computadora. Esto producirá un archivo llamado RESULTS.txt. Publicarla en un sitio Pastebin y la espalda post con la URL al documento. Eso proporcionará datos concretos sobre su configuración, lo que reducirá en gran medida el rango de posibles causas de su problema.

Rod Smith
fuente
¿Cómo usar gdiskpara "configurar el código de tipo EF00"?
B Seven
@BSeven t, 1, ef00.
hobbs
11

La partición EFI no conserva el firmware (que se almacena en un chip en la placa base); mantiene los cargadores de arranque para los sistemas operativos instalados. Básicamente es la alternativa EFI de colocar el gestor de arranque en el sector 0 de su disco, como fue el caso de las PC con BIOS.

Esto significa que una vez que tenga dicha partición, debe llenarse automáticamente cuando instale el sistema operativo. (Sin embargo, es muy probable que el disco de instalación en sí mismo deba arrancarse en modo EFI, de lo contrario no se molestará en configurar el arranque UEFI ... de hecho, ciertas partes de la configuración ni siquiera pueden realizarse desde el modo BIOS).

Si ya tiene Ubuntu instalado, necesitará:

  1. Instale la versión UEFI de GRUB; Creo que está en el grub-efi-amd64-signedpaquete.

    grub-install --target=x86_64-efi-signed
    

    (Para la grub-efi-amd64versión sin firmar , es x86_64-efi).

  2. Asegúrese de que GRUB se haya instalado como \EFI\Boot\bootx64.efien la partición del sistema EFI. (Estoy usando la sintaxis de ruta EFI aquí; si montas la partición en /bootLinux, sería /boot/EFI/Boot/bootx64.efi).

    Si no es así, copie grubx64.efimanualmente a esa ubicación.

    Esto es necesario porque grub-installno puede agregarse al menú de arranque EFI a menos que el sistema ya haya arrancado en modo EFI. (Las "variables EFI" son imposibles de acceder en el modo BIOS). Por lo tanto, la única forma de iniciar GRUB es colocarlo en la ubicación del "cargador de arranque alternativo".

  3. Reiniciar. Intente seleccionar algún tipo de modo EFI en el menú de inicio de su firmware (los firmwares EFI tienen un menú de inicio propio, incluso antes de GRUB).

  4. Compruebe si dmesg | grep "efi:"muestra algo, para confirmar que está en modo EFI.

Gravedad
fuente
1
No me refiero a abrir un hilo antiguo, pero estoy tratando de encontrar una solución a mi problema y encontré este hilo. Estoy tratando de actualizar el firmware del BIOS en mi computadora Dell y Dell lo proporciona como EXE en formato Windows o algún archivo que uno debe poner en una partición formateada EFI. es decir, se me pide que "descargue el archivo a la partición EFI en un dispositivo de medios extraíbles". No sé si el OP quiso decir esto, pero solo quería señalar lo que dijiste en tu primer párrafo.
Ray
@Ray: Estás descargando el firmware futuro en esta partición. Todavía no se usa como firmware real cuando enciende la computadora; se usa simplemente como un archivo de datos para el programa "actualizador de firmware" que lo escribirá / flasheará en la placa base. (¿Recuerda cuando esas instrucciones solían decir "descargue el archivo a un disquete de arranque de MS-DOS" o algo así? Bueno, ese disco tampoco contenía su BIOS principal. Solo contenía el programa de actualización y los datos que se supone que parpadean Lo mismo aquí.)
Grawity
1
Sí, lo sé. Supongo que solo digo que el OP puede no haber sido necesariamente incorrecto, sino simplemente impreciso. Del mismo modo, tiene razón en que el firmware se almacena en el chip y ahora se me pide que almacene un firmware futuro en la partición EFI. Pero, alguien podría decir que el firmware se almacena en el EFI si no tienen cuidado con su descripción. (es decir, no está completamente equivocado pero está medio equivocado)
Ray
2

Cree dos archivos con el bloc de notas y guárdelos en su unidad de instalación USB de Windows.
SaveAs: CreatePartitions-UEFI.txt

select disk 0  
clean  
convert gpt  
rem == 1. System Partition  =====================  
create partition efi size=210  
format fs=fat32 quick label=”SYSTEM”  
active  
rem == 2. Microsoft Reserved (MSR) partition  ======  
create partition msr size=16  
rem == 3.  Windows partition  ===================  
create partition primary size=xxxxxx   
format fs=ntfs quick label=”Windows”   
assign letter=”W”  
rem == 4. Recovery tools partition  ================  
create partition primary size=460  
format fs=ntfs quick label=”Recovery”  
assign letter=:R”  
list volume

Cree otro archivo de texto con el Bloc de notas:
SaveAs: diskpart-UEFI.txt

diskpart /s D:\CreatePartitions-UEFI.txt   

REM where D:/ is the usb drive. This command runs the text file to install the partitions.

Si está utilizando MBR, el comando será, convertir mbr.

Para obtener el tamaño de la partición de Windows, multiplique su tamaño de HD por 1024, un disco duro de 100 conciertos multiplicado por 1024 es igual a 102400 menos 210 (tamaño efi) menos 16 (tamaño msr) menos 460 (tamaño reservado) es igual al tamaño que colocará El tamaño de la partición de Windows. (xxxxxx)

Puede cambiar el tamaño de las particiones desde el terminal (símbolo del sistema) cd / d D:> notepad CreatePartitions-UEFI.txt

Mientras está en la unidad USB, abra el bloc de notas diskpart-UEFI.txt y deje abierto o escriba el comando para que no se equivoque. Una vez que haya cambiado el tamaño de las particiones a su gusto, ciérrelo, luego cd / dx: / Sources y luego ejecute el diskpart / s D: \ CreatePartitions-URFI.txt.
enumere el volumen ya que el último comando le muestra las particiones, si está satisfecho, salga> apague la computadora> reinicie> instale

Dave Vian
fuente
-2

use gnome-disks, paquete "gnome-disk-utility", es muy útil.

dotbit
fuente
2
¡Bienvenido a Super User! No soy el DV-er, pero aunque las respuestas de una línea a veces pueden funcionar, pero si editas tu respuesta para incluir una explicación, funcionaría mejor :) ¿Cómo crearían una partición del sistema EFI en gnome-disk-utility?
bertieb