Estou tentando instalar o Arch linux em um novo (e muito ruim) notebook HP Pavillion 15.
Esta é uma máquina baseada em UEFI. Depois de várias mudanças, consegui chegar bem longe. O modo legado está desativado na configuração do sistema, e eu inicializei o EFI no Arch DVD que gravei e progredi no Guia do Iniciante do Arch e no Guia de Instalação mais avançado até o ponto em que estou instalando o grub.
Enquanto chroot
ed, eu executo:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
Isso emite uma tonelada de produção, incluindo:
Variáveis EFI não são suportadas neste sistema
A primeira vez que cheguei a esse ponto, continuei com a instalação, sem saber se era um problema real. Acontece que, como quando eu reiniciei a máquina, nenhum meio inicializável foi encontrado e a máquina se recusou a inicializar. Eu era capaz de acessar o menu de configuração UEFI e selecionar um arquivo EFI para inicializar, e o Arch Linux inicializava.
Mas agora estou voltando e reinstalando novamente, tentando corrigir o problema acima.
Como posso instalar o GRUB corretamente?
modprobe efivarfs
funciona, o problema descrito pelo OP persiste. talvez esta resposta precise de uma atualização? Estou totalmente sem idéias.modprobe efivars
dámodprobe: FATAL: Module efivars not found in directory /lib/modules/4.16.3-301.fc28.x86_64
(recém-instalado Live USB)Você receberá esse erro se inicializar usando o legado e não o método UEFI. Você precisa selecionar o item de inicialização UEFI no menu BIOS ou selecionar UEFI como o método de inicialização padrão.
fonte
Eu sei, esse é um tópico muito antigo, mas talvez ajude alguém. A maioria dos guias sugere a mesma solução para montar sistemas de arquivos virtuais antes do chroot:
Mas agora (talvez relacionado a alterações efivars / efivarfs) esse loop ignora um sub-ponto de montagem muito especial -
/sys/firmware/efi/efivars
e o efibootmgr / grub falha.Então use esta linha:
História de sucesso real: Debian com 4.9.0-5 (efivars) salvo pelo live cd do Arch Linux (escolhido apenas porque pode inicializar o uefi imediatamente) com 4.14.9-1-ARCH (efivarfs) apenas por bind-mount / sys / firmware / efi / efivars
fonte
Executando o Fedora 27, eu precisava montar o
efivarfs
. Eu fiz isso dentro dos chrootfs, no entanto, isso ainda não estava funcionando, pois a entrada de inicialização foi mostrada comefibootmgr
- mas, após a reinicialização, ela foi inicializada novamente e não foi mostrada novamente no SO ao vivo.O que finalmente funcionou, foi usar o grub do meio ativo, soltar no shell e entrar
linuxefi /vmlinuz-<version> root=/dev/mapper/luks-<uuid> ro initrdefi /initramfs-<version>.img boot
. No sistema operacional normal inicializado, eu poderia executargrub2-install
semchroot
, e funcionou.Não tenho certeza se isso foi apenas um problema no meu BIOS ou se ainda há algo errado de maneira geral, mas foi o que foi
grub2-install
executado sem relatar nenhum erro.# 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
fonte
Você não pode! Construir e instalar são duas coisas diferentes: a máquina em que você constrói deve ser capaz de usar o uefi. Se você deseja usar / instalar o linux no hardware compatível com uefi, o gpt já deve existir. Você pode criar gpt / mbr no uefi, mas não ambos, se o seu hardware usar bios antigo.
fonte