The Arch wiki seems to instruct users to mount the boot partition to /boot, while Artix instructs to mount it to /boot/efi.
What is the difference between the two mount points? I was installing Artix on my desktop PC, and grub-install was not working unless I mounted the boot partition to /boot.
Specifically,
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
was failing, but
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
worked with no issue.
Additionally, I had to run the following command so that my MSI motherboard could detect the bootloader:
cp /boot/EFI/grub/grubx64.efi /boot/EFI/BOOT/bootx64.efi
Could anyone provide insight into the difference between the two mount paths? I am a little bit confused why the Artix installation wiki differs from Arch's.
Arch wiki has an extensive documentation about the EFI system partition. You can read more about the typical mount points in the following page: https://wiki.archlinux.org/title/EFI_system_partition#Typical_mount_points
Most distors that have a graphical installer, like Artix Linux and Linux Mint, mount the EFI partition to /boot/efi. The Artix Linux wiki also suggests /boot/efi. However, Arch wiki discourages this mount point and suggests /efi as a replacement. I myself use /efi as a mount point because by using /boot you are basically putting your kernel in FAT partition and I don't like this. If you are using GRUB, and not some obscure boot loader, then I also suggest using /efi as a mount point
two things - First is the /boot/efi is NOT putting your kernel in a vfat partition
flatbush:[ruben]:~$ mount|grep boot
/dev/sda3 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro
flatbush:[ruben]:~$ ls -al /boot
total 131372
drwxr-xr-x 5 root root 271 Jul 17 22:09 .
drwxr-xr-x 17 root root 226 Jul 17 22:11 ..
-rw-r--r-- 1 root root 153600 Jul 9 10:19 amd-ucode.img
drwx------ 3 root root 4096 Dec 31 1969 efi
drwxr-xr-x 6 root root 96 Apr 27 02:30 grub
-rw------- 1 root root 36746970 Jul 17 22:09 initramfs-linux-fallback.img
-rw------- 1 root root 8326604 Jul 17 22:08 initramfs-linux.img
-rw------- 1 root root 37998088 Jul 17 22:08 initramfs-linux-lts-fallback.img
-rw------- 1 root root 8296313 Jul 17 22:06 initramfs-linux-lts.img
-rw-r--r-- 1 root root 13286400 May 12 16:33 intel-ucode.img
drwxr-xr-x 2 root root 25 Jan 18 2025 memtest86+
-rw-r--r-- 1 root root 15802880 Jul 17 22:05 vmlinuz-linux
-rw-r--r-- 1 root root 13894144 Jul 17 22:05 vmlinuz-linux-lts
flatbush:[ruben]:~$ mount |grep sda2
/dev/sda2 on / type xfs (rw,noatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)
Secondly - UEFI is defined in the UEFI standard, not the arch wiki
https://uefi.org/
The other secondly is that systemd-boot likes /efi (or /boot which WOULD put your kernel in a vfat filesystem)
grub et all prefers /etc/efi . Wherever you put it through, it better conform with the NVRAM variables or you are screwed... and yes that IS the UEFI standard.