Eu não confio no efibootmgr, então eu gosto de fazer isso manualmente, se eu estiver faltando alguma coisa, por favor, escreva um comentário.
Primeiro, você precisa inicializar a partir da mídia de instalação USB no modo UEFI. Eu tento destacar a parte do processo de instalação do arco UEFI.
A inicialização do UEFI exigiu não apenas efi, mas também uma partição de inicialização.
As duas primeiras partições devem ficar assim: inicialize o tamanho de 1M e comece no primeiro setor. então uma partição de 500 M efi.
fdisk -l
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 1028095 1024000 500M EFI System
Eu recomendo o gdisk para criá-los.
Ambos devem ser formatados como FAT:
mkfs.vfat /dev/sda1
mkfs.vfat /dev/sda2
Monte o FS raiz em / mnt como você faria, então crie uma pasta esp na partição / mnt e mount efi da seguinte forma:
mkdir /mnt/esp
mount -o rw,relatime,fmask=0033,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro /dev/sda2 /mnt/esp
Neste ponto, o pacstrap e, em seguida, o genfstab podem ser feitos a partir do ponto UEFI de veiw.
adicione o seguinte ao final do arquivo / mnt / etc / fstab.
/esp/EFI/arch /boot none bind 0 0
Isso é necessário porque o pacman atualiza o / boot enquanto o gerenciador de partida procura os arquivos em / esp / EFI / arch para que o sistema não seja inicializado após uma atualização.
agora você tem que editar o /etc/mkinitcpio.conf HOOKS = seção, deve ficar assim:
HOOKS='base systemd autodetect modconf block sd-lvm2 filesystems keyboard fsck sd-shutdown'
sd-lvm2 só é necessário se você estiver usando partições lvm.
Agora, neste ponto, precisamos fazer o chroot em / mnt
execute estes comandos:
mkinitcpio -p linux
bootctl --path=/esp install # install boot loader
echo -e "# Load vfat at boot\nvfat\n" > /etc/modules-load.d/vfat.conf # Load vfat module at boot
Crie um arquivo /esp/loader/entries/arch.conf contendo o seguinte:
title Arch Linux
linux /EFI/arch/vmlinuz-linux
#initrd /EFI/arch/intel-ucode.img
initrd /EFI/arch/initramfs-linux.img
options root=/dev/sda3 rw
initrd /EFI/arch/intel-ucode.img
linha deve ser descomentado se você estiver usando intel cpu você também tem que instalar pacman -Sy intel-ucode
para intel cpu, root = deve conter a partição raiz do sistema.
o arquivo de configuração procura arquivos em / EFI / arch / então criamos o diretório e copiamos todos os arquivos de / boot e então apagamos / boot / * já que ligaremos o mount / EFI / arch / to / boot quando o sistema for inicializar para cima.
mkdir -p /esp/EFI/arch
cp /boot/* /esp/EFI/arch/
rm /boot/*
Se tudo o mais for feito, você gosta de configurar no chroot, você pode tentar inicializar o novo sistema.