15

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.

  • what error? which error? – user137124 Feb 9 '16 at 13:30
  • @user137124 just a mistake. Sorry for my unclear title. Still, I improved it and hope for someone to reply. – 李智修 Feb 9 '16 at 14:00
  • Still unclear, please post the exact error message. – Johnson Steward Feb 9 '16 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. – 李智修 Feb 10 '16 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. – Johnson Steward Feb 10 '16 at 11:20
17

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
  • 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 Jan 26 '17 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 – 李智修 Feb 17 '17 at 4:04
  • 5
    But the GRUB install commands aren't available inside the chroot... – flarn2006 Feb 20 '17 at 2:14
  • 2
    @flarn2006 You need to install the grub package inside the chroot. – chris Apr 2 '17 at 15:39
  • 6
    @flarn2006 pacman -S grub – Vitaly Zdanevich Jul 22 '17 at 10:35

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.