EFI y GRUB2 dónde conseguir binarios y cómo montar el sistema de arranque

EFI y GRUB2 dónde conseguir binarios y cómo montar el sistema de arranque

UEFI y GRUB2

Alguien conoce el sitio para obtener los binarios
(bootia32.efi y bootx64.efi) para arrancar grub2...
también los binarios de GRUB2... y un buen tutorial de ayuda sobre esto...

Quiero hacer un disco de arranque múltiple algo como esto...

EFI
    \BOOT
        \bootia32.efi
        \bootx64.efi
        \<grub-binaries>
        \<grub-background-image>
        \<grub-configuration-file>

    \AndroidX86v6
    \Microsoft
    \Ubuntu
    \Tails
    \Kali
    ...

Respuesta1

Los nombres bootx64.efiy bootia32.efise refieren al programa de cargador de arranque alternativo de EFI. Este programa puede sercualquier cosa-- GRUB, el cargador de arranque de Windows, un shell EFI, malware, etc. Por lo tanto, no debes buscar un programa con ese nombre; más bien, debe buscar un programa por su nombre real (GRUB en su pregunta) y cambiarle el nombre EFI\BOOT\bootx64.efi( EFI\BOOT\bootia32.efisegún la plataforma) a su medio de arranque. De hecho, si está realizando la instalación en el disco duro interno de una computadora, probablemente no debería usar ese nombre en absoluto; en su lugar, debería confiar en el administrador de arranque integrado de EFI para recordar el nombre del binario que desea. lanzar. (Una excepción sería si su firmware está muy dañado, como algunos todavía lo están). Los boot{arch}.efinombres de archivos originalmente estaban destinados exclusivamente para su uso en discos extraíbles de arranque, como instaladores de sistemas operativos y herramientas de recuperación de emergencia; pero también se utilizan para cargadores de arranque de último recurso en discos duros internos, por ejemplo, cuando las entradas NVRAM han sido dañadas.

En cuanto a la parte principal de su pregunta, los binarios de GRUB tienden a ser creados por y para distribuciones individuales; AFAIK, no existe una fuente oficial para "el" binario GRUB para EFI. La forma habitual de obteneraEl binario GRUB consiste en instalar una distribución de Linux que lo utilice. Normalmente se instalará como /boot/efi/EFI/{distname}/grubx64.efi, donde {distname}hay un código utilizado por la distribución, como por ejemplo ubuntuUbuntu o fedoraFedora. Sin embargo, tenga en cuenta que simplemente mover y cambiar el nombre de este binario podría no funcionar, ya que puede tener rutas codificadas a su archivo de configuración. Si la computadora de destino también usa arranque seguro, deberá cambiar el nombre del archivo shimx64.efio shim.eficomo nombre de archivo alternativo y copiarlo grubx64.efi, usando ese nombre, en el mismo directorio que Shim. Si está instalando en una computadora, no debería necesitar molestarse en mover o cambiar el nombre de GRUB; simplemente instálelo normalmente y debería hacerse cargo del proceso de inicio, al menos, hasta que instale la siguiente distribución o algo reconfigure el orden de inicio.

Para un sistema con múltiples distribuciones de Linux, GRUB puede resultar un poco engorroso. Esto se debe a que GRUB se basa en un archivo de configuración complejo para crear su menú de opciones de inicio, y ese archivo de configuración se mantiene dentro de la distribución que instaló GRUB. Esto funciona bien cuando instalas solo una distribución de Linux, pero con varias distribuciones, debes actualizar GRUB en la distribución de donde vino para presentar los nuevos kernels instalados desde tuotrodistribuciones. La alternativa es cargar en cadena un GRUB desde otro, lo que puede funcionar mejor, pero es más complicado en el momento del arranque.

Otro enfoque es utilizar un administrador de arranque que implique una configuración menos compleja. Míoreencontrarpuede hacer esto; detecta los kernels de Linux en cada inicio, por lo que una vez configurado, puede iniciar el kernel más reciente sin realizar cambios en su propia configuración. Otros cargadores de arranque, como SYSLINUX y ELILO, requieren una configuración estilo GRUB en un archivo de configuración centralizado, pero ese archivo es más simple y, por lo tanto, más fácil de mantener a mano. Si utiliza alguna de estas herramientas en un disco extraíble, deberá copiarla al boot{arch}.efinombre del archivo.

Hay muchas otras advertencias y peculiaridades en todo esto, pero sin saber más sobre el uso previsto y el hardware, no puedo analizarlas todas aquí sin escribir un pequeño libro. Es posible que desee consultar uno o más de los siguientes sitios para obtener más información:

Respuesta2

Si solo está intentando usar grub para el arranque UEFI PXE o el arranque UEFI HTTP, aquí obtendrá los archivos binarios prediseñados sin ninguna instalación: https://images.maas.io/ephemeral-v3/stable/bootloaders/uefi/amd64/20230222.0/

shim-signed.tar.xz
grub2-signed.tar.xz

Descomprímelos y obtendrás

bootx64.efi
grubx64.efi

Luego, prepara un servidor TFTP y un servidor HTTP para servirlos, y prepara grub/grub.cfg a través de TFTP/HTTP.

He estado usando el método anterior con éxito.

También hay otro lugar conveniente que le permite obtenerlos sin necesidad de instalación. http://archive.ubuntu.com/ubuntu/dists/jammy/main/uefi/grub2-amd64/current/

(puedes cambiar el jammy a focal o biónico)

...
grubnetx64.efi
grubnetx64.efi.signed
grubx64.efi
grubx64.efi.signed

No lo he probado, supongo que grubnetx64.efi.signedsignifica versión neta de grubx64.efi.signed. Pero no tengo clara la diferencia entre *.efi.signed y *.efi.

Y el bootx64.efi se puede encontrar aquí http://archive.ubuntu.com/ubuntu/dists/jammy/main/signed/shim-amd64/current/, simplemente cambie el nombre del archivo descomprimido a bootx64.efi.

información relacionada