26

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: mypartitiontable

Thx a lot. Regards.

8
  • what error? which error?
    – user137124
    Commented Feb 9, 2016 at 13:30
  • @user137124 just a mistake. Sorry for my unclear title. Still, I improved it and hope for someone to reply.
    – 李智修
    Commented Feb 9, 2016 at 14:00
  • Still unclear, please post the exact error message. Commented Feb 9, 2016 at 15:28
  • @JohnsonSteward I'm sorry, you must have been tired of those unclear questions. I again tried my best to describe the question. Please reply if you still don't understand the error I stated, then I'll post the full screen shot on here. Great thanks.
    – 李智修
    Commented Feb 10, 2016 at 11:16
  • @李智修 seems like you should do grub2-mkconfig in the chroot instead of doing it outside. grub2-mkconfig uses grub-probe to detect real devices associated with mount points, while airootfs (archiso's rootfs) is loaded into the ram and don't have a canonical path. Commented Feb 10, 2016 at 11:20

1 Answer 1

28

Seems like you should do grub2-mkconfig in the chroot instead of doing it outside. grub2-mkconfig uses grub-probe to detect real devices associated with mount points, while airootfs (archiso's rootfs) is loaded into the ram and doesn't have a canonical path.

So before installing grub and generating config, do this first:

arch-chroot /mnt /bin/bash
6
  • I get the same errors as OP. The commands listed above result in "Error failed to setup chroot...". I wouldn't be in this fine mess if Arch did not break itself after the last update. Its amazing how often this OS breaks itself. Its worse than damn Microsoft Windows.
    – user56041
    Commented Jan 26, 2017 at 14:12
  • But I am currently fine with the use of AUR from time to time without breaking my setup. Maybe limiting the use of self-build(build from source by yourself) may help? I always enter Y when pacman ask me anything lol
    – 李智修
    Commented Feb 17, 2017 at 4:04
  • 6
    But the GRUB install commands aren't available inside the chroot...
    – Sparkette
    Commented Feb 20, 2017 at 2:14
  • 3
    @flarn2006 You need to install the grub package inside the chroot.
    – chris
    Commented Apr 2, 2017 at 15:39
  • 8
    @flarn2006 pacman -S grub Commented Jul 22, 2017 at 10:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .