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 ungrub.cfg
archivo en el/boot/grub
directorio de instalación de Linux. Por lo tanto, no puede utilizar elgrubx64.efi
binario 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 degrubx64.efi
busca en el mismo directorio que el binario degrub.cfg
. En un sistema Ubuntu, estegrub.cfg
archivo 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:
- 2.1. Creando el binarioy2.2. Creando el archivo de configuraciónen¿Cómo crear medios en vivo USB de arranque solo UEFI?
- Agregue una partición (de arranque) para Mac
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).