I was following the official installation tutorial. Everything was smooth until the boot loader section.
I had encountered the error of
/usr/bin/grub-probe: error: failed to get canonical path of 'airootfs'.
same as this question while executing the command:
grub-mkconfig -o /boot/grub/grub.cfg
I was installing arch on VirtualBox and was following the official's wiki tutorial GRUB section step by step.
I can boot into grub successfully but all that I can see is only a grub shell.
As a inference, I think it has derailed since the step to generate the grub configuration file.
Hope that my info is helpful.
BTW in fact, I had also encountered this error in the previous step – installing the grub
grub-install --target=i386-pc /dev/sda
I added the root directory parameter and it went on without appearing error.
grub-install --root-directory=/mnt /dev/sda
I did so because I mounted my main Linux partition /dev/sda3 on /mnt
but there isn't any root or boot directory parameter for me to use in grub-mkconfig.
Here is my partition table displayed by fdisk utility:
Thx a lot.
Regards.
Best Answer
Seems like you should do
grub2-mkconfig
in the chroot instead of doing it outside.grub2-mkconfig
usesgrub-probe
to detect real devices associated with mount points, whileairootfs
(archiso'srootfs
) is loaded into the ram and doesn't have a canonical path.So before installing grub and generating config, do this first: