You are not logged in.

#1 2021-06-27 17:55:07

Registered: 2011-10-15
Posts: 437

[SOLVED] grub-install: error: failed to get canonical path of udev

I am trying to install Arch and I have followed the wiki installation guide. When I arrive to section to install boot loader I perform below command on UEFI systems (my case):

# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

And I get below error:

grub-install: error: failed to get canonical path of 'udev'

I have executed above command within arch-chroot environment and my EFI partition system was mounted using mount /dev/sda1 /mnt/boot
Also my EFI partition was formatted as ext4 file system.

From what I have seen it seems GRUB does not support EFI system partition formatted as ext4. I formatted EFI system partition to FAT32 and then it worked.
I have no idea why this is not working if EFI system partition is formatted to ext4 since in this link it is being said GRUB supports ext4.
Could anyone tell me why grub-install is failing when EFI system partition is formatted as ext4?

As it is stated here in the answer by Tom Yan, EFI system partition must be formatted as FAT32 using:

mkfs.fat -F32 /dev/sdaX

Where X corresponds to your EFI system partition.

Last edited by toni (2021-06-28 17:57:01)


#2 2021-06-27 18:02:34

Forum Moderator
Registered: 2012-10-16
Posts: 14,093

Re: [SOLVED] grub-install: error: failed to get canonical path of udev

An EFI system partition is always a variant of FAT. It's what your motherboard needs to be able to read to find GRUB and the only filesystems that are specified as necessary to be supported by the spec are FAT so that's what most motherboards will support.

GRUBs ext4 support is relevant for finding and booting kernel images once you actually are in GRUB, so you'd better mount the ESP to /efi and have your kernel images in /boot on your ext4 partition.

Last edited by V1del (2021-06-27 18:03:17)


Board footer

Powered by FluxBB