Instalación independiente de Grub2 EFI: ¿ubicación de grub.cfg?

Instalación independiente de Grub2 EFI: ¿ubicación de grub.cfg?

Estoy intentando utilizar Grub2 como administrador de arranque en un sistema EFI en modo independiente. (El único disco duro persistente tiene OS X; las unidades de Linux y Windows pueden estar presentes o no en ocasiones, de ahí el modo independiente).

Estoy usando SuperGrub2Disk, que es un ejecutable EFI y, según tengo entendido, el ejecutable de Grub2 en este modo tiene una imagen de disco incrustada que monta para su partición raíz, con una copia de su propio archivo de configuración en su interior.

Me gustaría anular o modificar este archivo de configuración con un grub.cfg externo. Intenté colocarlo al lado del ejecutable grub EFI o en la raíz de la partición ESP, pero no se reconoce. También intenté cargarlo desde una línea de comando de grub con el siguiente comando:

configfile (hd3,gpt1)/grub.cfg

Esto parece no tener otro efecto que borrar la pantalla, aunque el archivo de configuración está ahí, como lo confirmó ls.

¿Alguien podría decirme si hay alguna forma de utilizar un archivo de configuración externo con un blob independiente de EFI?

Respuesta1

Los archivos binarios de GRUB 2 incluyen referencias codificadas a sus archivos de configuración. Realmente no he estado al tanto de todos los detalles sangrientos, pero según tengo entendido, hay dos binarios EFI GRUB 2 para Ubuntu en sistemas AMD64/x86-64:

  • grub2-efi-amd64-- Esta es la versión de GRUB 2 que se usa en computadoras que nonoutilice el arranque seguro. Según tengo entendido, el binario en sí está vinculado ensucomputadora a partir de componentes precompilados incluidos en el paquete. El binario resultante hace referencia a un grub.cfgarchivo en el /boot/grubdirectorio de instalación de Linux. Por lo tanto, no puede utilizar el grubx64.efibinario instalado desde este paquete en una computadora en otra, porque el binario está personalizado para la computadora en la que se creó.
  • grub2-efi-amd64-signed-- Esta versión de GRUB 2 está compilada y vinculada en un sistema Canonical para que pueda firmarse con una clave de arranque seguro. Un efecto secundario del requisito de que el binario esté firmado es que no se puede personalizar para su sistema y, como resultado, esta versión de grubx64.efibusca en el mismo directorio que el binario de grub.cfg. En un sistema Ubuntu, este grub.cfgarchivo busca /boot/grub/grub.cfg, pero en principio podría personalizarse para hacer otra cosa.

Por lo tanto, en su caso no puede utilizar el binario GRUB 2 sin firmar; Si desea utilizar un binario estándar de Ubuntu GRUB 2, debe utilizar el firmado. Alternativamente, puedes construir tu propio binario, como se describeaquí,entre otros lugares.

Sin embargo, en su caso, no creo que GRUB 2 sea realmente óptimo. Ambosrepararse(que ahora está abandonado) y mi tenedor,volver a encontrar,cuentan con escaneo dinámico para cargadores de arranque disponibles. Por lo tanto, si instala rEFIt o rEFInd en sudiscos internos Partición del sistema EFI (ESP)y coloque los cargadores de arranque para sus sistemas operativos en sus respectivos medios extraíbles, rEFIt/rEFInd le brindará opciones para iniciar esos sistemas operativos si y solo si el disco apropiado está conectado. Sin embargo, este comportamiento dependerá de la administración adecuada de su arranque. cargadores, colocando cada uno en el ESP de su respectivo disco; Si todos sus cargadores de arranque están almacenados en el ESP de su disco interno, rEFIt/rEFInd mostrará opciones de sistema operativo no funcionales en todo momento, tal como lo haría GRUB 2. En cualquier caso, usar rEFIt o rEFInd evitará la necesidad de profundizar en el marasmo de la configuración manual de GRUB 2.

Respuesta2

Esperaría que un grub.cfg colocado en el mismo directorio sea leído y ejecutado por una imagen GRUB UEFI y que ambos generalmente se almacenen en el ESP, pero no sé mucho sobre las configuraciones de Mac. (Por otra parte, la configuración integrada tiene una funcionalidad muy limitada).

Es posible que crear la imagen de GRUB usted mismo sin una configuración integrada le lleve un paso más hacia una solución; estas publicaciones pueden ayudar:

Respuesta3

Se puede crear una aplicación GRUB 2 UEFI independiente que contenga una instalación de GRUB 2 aislada que lea un archivo de configuración en el mismo directorio que el binario de la aplicación.

Este proceso esdescrito en la wiki de Arch Linux, pero se puede hacer en cualquier distribución (siempre que las rutas se ajusten en consecuencia).

información relacionada