Histórico: fiz backup do Windows 10 e reiniciei meu laptop em uma unidade de inicialização carregada com o Arch linux iso que foi criado com Rufus. Entrei no cfdisk e excluí todas as partições, exceto as partições "EFI System" e "Lenovo boot partition". Quando tentei instalar os pacotes básicos com pacstrap, ele me disse que o tamanho do bloco de partição era muito pequeno, então expandi a partição do sistema EFI para cima (havia um gigabyte de espaço extra e pensei que isso poderia ajudar). Não funcionou e um tempo depois tentei remontar meu sistema de arquivos linux (/dev/sda4) e funcionou. Eu pulei várias outras etapas que dei, mas achei que essas seriam as mais relevantes.
Sempre que tento executar o comando para instalar o grub:
grub-install --target=x86_64-efi --efi-directory=/dev/sda1 --bootloader=arch_grub
Ele apenas emite:
Installing for x86_64-efi platform.
grub-install: error: cannot read `/dev': Is a directory.
Mesmo que o caminho que estou dando seja a partição efi (/dev/sda1). Eu tentei dar /boot para o parâmetro do diretório efi, mas se eu tentar, ele apenas gera:
Installing for x86_64-efi platform.
grub-install: error: /boot doesn't look like an EFI partition.
Sou relativamente novo neste tipo de distribuições 'faça você mesmo' e gostaria de receber todos os comentários que puder, obrigado!
Editar: Saída de fdisk -l /dev/sda:
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type gpt
Disk identifier: 6393AD85-37EA-4C44-888C-C5908FC9AE82
Device Start End Sectors Size Type
/dev/sda1 2048 2582527 2580480 1.2G EFI System
/dev/sda2 2582528 4630527 2048000 1000M Lenovo boot partition
/dev/sda3 4630528 25602047 20971520 10G Linux swap
/dev/sda4 25602048 2550069646 224467599 107G Linux filesystem
Encontrei esse problema recentemente, pois nunca tive um sistema / laptop com um firmware UEFI antes. Presumo que você esteja começando do zero e usando uma versão recente do Arch Linux (a minha é
4.15.9-1-ARCH
).Vamos supor que:
/dev/sda
/dev/sda1
/dev/sda1
commkfs.fat -F32 /dev/sda1
Durante a instalação, depois de montar root (
/
) em/mnt
, você precisamkdir -p /mnt/boot/efi
continuar com o processo de instalação:arch-chroot /mnt
, localidades, etc.Instale
efibootmgr
,grub
(talvezintel-ucode
) e monte/dev/sda1
em/boot/efi
, executegrub-install --bootloader-id=Arch_Linux --efi-directory=/boot/efi --recheck --target=x86_64-efi
... e não se esqueça de gerar/atualizar a configuração do GRUB (grub-mkconfig -o /boot/grub/grub.cfg
). Você deve estar pronto!Observe que você pode realmente usar apenas
/boot
e não necessariamente/boot/efi
. Como sempre, dê uma olhada no Wiki .