Estoy intentando instalar Arch Linux en un nuevo (y muy malo) HP Pavillion 15 Notebook.
Esta es una máquina basada en UEFI. Después de varios cambios, he logrado llegar bastante lejos. El modo heredado está deshabilitado en la configuración del sistema, y he arrancado con EFI al Arch DVD que grabé, y progresé a través de la Guía para principiantes de Arch y la Guía de instalación más avanzada hasta el punto donde estoy instalando grub.
Mientras chroot
ed, ejecuto:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
Esto emite una tonelada de salida, que incluye:
Las variables EFI no son compatibles con este sistema
La primera vez que llegué a este punto, continué con la instalación, sin saber si era un problema real. Resulta que sí, ya que cuando reinicié la máquina no se encontró ningún medio de arranque y la máquina se negó a arrancar. En ese momento pude acceder al menú de configuración de UEFI y seleccionar un archivo EFI para arrancar, y Arch Linux se iniciaría.
Pero ahora estoy volviendo y reinstalando nuevamente, tratando de solucionar el problema anterior.
¿Cómo puedo hacer que GRUB se instale correctamente?
modprobe efivarfs
funciona, el problema descrito por el OP persiste. tal vez esta respuesta necesita una actualización? Me estoy quedando sin ideas.modprobe efivars
damodprobe: FATAL: Module efivars not found in directory /lib/modules/4.16.3-301.fc28.x86_64
(usb en vivo recién instalado)Obtendrá este error si ha arrancado usando el método heredado y no el método UEFI. Debe asegurarse de seleccionar el elemento de inicio UEFI en el menú del BIOS o seleccionar UEFI como método de inicio predeterminado.
fuente
Lo sé, ese es un hilo muy antiguo, pero tal vez ayude a alguien. La mayoría de las guías sugieren la misma solución para montar sistemas de archivos virtuales antes de chroot:
Pero ahora (tal vez relacionado con los cambios efivars / efivarfs) este bucle omite un sub-punto de montaje muy especial,
/sys/firmware/efi/efivars
y efibootmgr / grub falla.Entonces use esta línea en su lugar:
Historia de éxito real: Debian con 4.9.0-5 (efivars) guardado por Arch Linux live cd (elegido solo porque puede arrancar uefi de la caja) con 4.14.9-1-ARCH (efivarfs) simplemente por bind-mount / sys / firmware / efi / efivars
fuente
Ejecutando Fedora 27, necesitaba montar el
efivarfs
. Hice esto dentro de los chrootfs, sin embargo, esto todavía no funcionaba, ya que la entrada de inicio se mostró conefibootmgr
, pero después del reinicio no se inició ni se mostró una vez en el sistema operativo en vivo.Lo que finalmente funcionó, fue usar grub del medio en vivo, soltarlo en el shell e ingresar
linuxefi /vmlinuz-<version> root=/dev/mapper/luks-<uuid> ro initrdefi /initramfs-<version>.img boot
Desde el sistema operativo normal arrancado, podía corrergrub2-install
sinchroot
eso, y funcionó.No estoy seguro de si esto fue solo un problema con mi BIOS, o si todavía hay algo más mal en general, pero esto es lo que se
grub2-install
ejecutó sin informar ningún error.# Open encrypted root partion cryptsetup luksOpen /dev/sda4 a4 mount /dev/mapper/a4 /mnt mount /dev/sda2 /mnt/boot mount -t proc proc /mnt/proc mount -t sysfs sys /mnt/sys mount -o bind /dev /mnt/dev mount -t devpts pts /mnt/dev/pts/ mount -o bind /etc/resolv.conf /mnt/etc/resolv.conf chroot /mnt # run inside the chroot: mount /dev/sda1 /boot/efi mount -t efivarfs efivarfs /sys/firmware/efi/efivars grub2-install
fuente
No puedes! Construir e instalar son dos cosas diferentes, la máquina en la que construye debe ser capaz de funcionar. Si desea usar / instalar linux en hardware compatible con uefi, gpt ya debe existir. Puede compilar gpt / mbr en uefi pero no ambos si su hardware usa BIOS antiguas.
fuente