1

I'm currently trying to install arch linux alongside windows 10 on my computer which is UEFI and formatted as a GPT partition table. However, when installing grub using the command:

grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=grub

This returns

Installing for x86_64-efi platform.
grub-install: error: esp doesn't look like an EFI partition.
.

Before doing this I had created 3 partitions on my hard-drive, alongside two windows partitions. I used cgdisk to create a 2gb EFI system partition, a 4gb Linux Swap partition, a 91gb Linux filesystem partition.

I entered the commands

mkfs.fat -F32 /dev/sda3 (the efi partition)
mount /dev/sda5 /mnt (the linux filesystem)
mount /dev/sda3 /boot (to mount the efi partition in /boot as reccomended)

Then installing grub and efibootmgr, I get the errors listed above.

Any help is greatly appreciated!

  • Yes, when I made the drive a fat32, I had /dev/sda3. I'm sure I've booted into UEFI because there is an option to boot into just the "disk" or "UEFI: Disk". As for the name I thought that was just what I had to enter as the command but I also checked --efi-directory=/boot and --efi-directory=/boot/efi. – Archie Croston Jun 28 '16 at 4:23
  • If Windows is already installed, you should already have an ESP (surely /dev/sda1), also there's no need for grub with UEFI, use systemd-boot instead. – cylgalad Jun 28 '16 at 7:09
  • I have an SSD for windows 10 and I use the hard drive to store games, etc, which I want to use for arch. Would this still work? – Archie Croston Jun 28 '16 at 7:27
  • 2gb for /boot/efi is a tad too much if you don't intend to store huge kernel+initrd pile there forever, 100mb is more than enough for a bootloader these days :) simple grub-install should suffice, and it will run efibootmgr for you as well. see also rodsbooks.com/efi-bootloaders – Michael Shigorin Jun 28 '16 at 7:45
1

The problem is in this part: --efi-directory=esp.

You should not put “esp” as it is only a place holder for the directory that holds EFI.

Assuming that EFI is contained in /boot. In this case this part of the line will read:

--efi-directory=/boot

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.