The below website lists 4 methods of fixing the error ;
YouTube] (arch linux- error:failed to get canonical path of 'airootfs' (grub to USB installation) - YouTube)
none of them works for me.
My usb live installation is currently ;
/dev/sda1 (EFI non encrypted)
/dev/sda2 (linux LVM)
The failure occurs @ root for the command # grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
‘chroot’ cannot find a directory!
Any help is appreciated. Thanks.
The below website lists 4 methods of fixing the error ;
Decrypt your volume, mount the root /, then /boot if applicable, then /boot/efi. Then
sudo -i # luksOpen something IIRC # vgchange -n y vol-group-name # mount /dev/mapper/vg-group-ame_lv_root /mnt # mount /dev/mapper/vg-group-ame_lv_boot /mnt/boot ## if applicable # mount /dev/sda1 /mnt/boot/efi mount --rbind /sys /mnt/sys && mount --make-rslave /mnt/sys mount --rbind /dev /mnt/dev && mount --make-rslave /mnt/dev mount --rbind /proc /mnt/proc && mount --make-rslave /mnt/proc chroot /mnt /bin/bash
And retry the grub install. Something like this.
Sorry, that’s all above my head for a newcomer. The format of your reply is difficult to understand.
Would it be possible to restate it in simpler terms?
‘i’ is presumably a configuration code that isn’t meant to work at sudo root, which I am now
permanently tied to in the installation process.
What is LuksOpen?
What does ‘something’ refer to?
What do your italics v other meant to convey?
My efi is not encrypted, as previously stated.
I assumed that because you were using arch, you may have been more familiar with linux and kept it short, so as to not bore you.
sudo -i means to become the root user. If you are already logged in as root, then you do not need to use sudo. Just wanted to make sure you are root.
It is an encryption tool, because I thought that your root partition may have been encrypted. Because you said that the boot partition is not encrypted, I assumed that the root would be, which is a typical setup (very rarely you would encrypt the boot partition, it is overkill even for businesses). Have you not mentioned encryption at all, I would have skipped this.
The commands you have to run would look something like this. The first part was implied from what I wrote above it.
It wasn’t meant to be italics, that’s just how discourse formats stuff. The pound sign would be the important bit, that is the comment mark. You can run any command with that in front of it and it will be ignored. Wanted to make it easy to copy paste everything, but still not make it so that you copy paste, the commands that need variables changed would be done by you.
In this case, you would have to run the following:
vgs ## this is used to find your volume group name vgchange -n y <your volume group> lvs ## this is used to find your logical volumes names mount /dev/<volume-group>/<root-lv> /mnt mount /dev/sda1 /mnt/boot/efi mount --rbind /sys /mnt/sys && mount --make-rslave /mnt/sys mount --rbind /dev /mnt/dev && mount --make-rslave /mnt/dev mount --rbind /proc /mnt/proc && mount --make-rslave /mnt/proc chroot /mnt /bin/bash grub-install --target=x86_64-efi --bootloader-id=grub_uefi /dev/sda1 ## if that does not work, try grub-install --target=x86_64-efi --bootloader-id=grub_uefi --boot-directory=/mnt/boot
I hope this helps, but I am not sure what the issue is until I see it with my own eyes. Also, I don’t use grub anymore, so I kinda forgot how to use it.
I highly suggest you follow the install guide, even for troubleshooting.
Using an EFISTUB bootloader is the simplest and if you are only using arch on your system, should be more than enough. If you have a windows installation, you may need grub, unless you just use your UEFI’s boot manager by hitting the corresponding key.
For grub, just follow the wiki on grub.
Thanks for your reply.
Most of my last 25 years has been occupied using Windows, but I have dabbled with Linux a number of times, finding its implementation somewhat tiresome by comparison. I rather took the view that I was not nearly nerdy enough to mostly succeed with it as it took me too much away from other important things in my life.
At 84, in retirement now, I have decided to give it fuller, more serious attention . In the last 10 weeks or so I have installed FBSD (,with two different desktops), Ubuntu & Manjaro. So I’m not a complete novice.
So now I have decided to go for broke with my Arch foray, one that I am aware is replete with complexities & difficulties, ones that are attested to by many who have attempted it & given up with failure. Distrowatch tells that story of its languishment at the near bottom of the ranking table.
I am using the Youtube video "Arch Linux: Full Installation Guide - A complete tutorial/walkthrough in one video! ’ for the current Arch installation I’m working on. I am also aware of the Wiki you refer to, but given all the other info around the place I really wondered what it’s objective was. It seems to be off beat material, somewhat in a vacuum so I dismissed it, not wanting to disrupt my attention away from the above installation guide process.
Given your recommendation I will now look into it.
Interesting that the author of the guide says he uses Grub because it’s always worked for him ,so He doesn’t see any reason to change his approach.
appro pro ‘encryption’ I was trying to convey that the whole UEFI installation I was working on was not encrypted. This was based on the author of the above guide providing detailed procedures for 3 different install scenarios viz., (1) with no ufi or encryption, (2) with ufi & no encryption & (3) with ufi & encryption
The languishing ranking of the OS (@ distrowatch) really speaks to it not being every bodies cup of tea. But still I plug on with it. I must be a masochist !
I will certainly work on your latest information with a view to succeeding.
Good luck on this. In all honesty, I understand why Arch takes this approach, as I’ve used it myself in the past. It gives a lot of customizability, like the aforementioned bootloader change. It is not needed, grub works just fine, but for some people, “just fine” is not enough. The wiki gives detailed information of the inner workings of the system, without many of the boring details.
As for performance, you will not notice much of a difference going from Arch to Debian netinstall, which I would rather recommend, than Arch, especially for beginners that want to tackle into installing linux without a GUI wizard. Linux does not need to be hard to set up, and each distro takes its own approach to this. Arch chooses customization over ease of use. Well, Arch also chooses maintainers over users, so arch would not be my first pick for anyone.
My recommendation for both beginners and advanced users alike is Fedora. It gives the best combination of update cycles, latest software versions, performance, stability and is decently easy to use. Many users also swear by OpenSUSE Tumbleweed, but I never used it, so I can’t vouch for it. FreeBSD is nice, but I wouldn’t personally use it as a desktop. Ubuntu has its issues and I hate Manjaro with a passion, it must be burned with fire, it’s the most unstable quirky linux distro I used by a longshot, astronomically more than Ubuntu. Arch was fine. If you want an easy Arch install, go with Garuda Linux, the choice is ultimately yours. I will stick to my recommendation of Fedora though. Fedora KDE Spin is working decently on slightly older computers, with XFCE Spin being the low-resource one for very old hardware. I only used KDE and the official Workstation / GNOME Shell version, the later runs very well on relatively modern hardware (past 6 years or so), the former runs well on 10 years old hardware.
Thank you for your experienced & thoughtful insights & your recommendations.
Could you indulge me, though, by continuing with your help with Arch since I would like to see out its installation to a successful conclusion, given that I have expended a tremendous amount of time on it already?
At present I am stymied by your command 'mount /dev//root-lv> /mnt
(NB: for some reason this forum won’t allow me to properly print the above full command ie., in respect to the volume-group. It doesn’t want to deal with the printing of ‘<’ or ‘>’ in the above context. Weird that !
lvs =’ lv_home’ & ‘lv root’
I’ve inserted ‘volgroup0’ for the volume-group but I am unsure how the root-lv part should read. Could you show me? Once again it will not print ‘<’ or ‘>’ there, in the context of the command.
My range of attempts to make the command work (leaving < or.> aside for the moment) have resulted in a notice that the directory to be mounted does not exist. I then tried to see the directory tree with ‘tree -d’ but it says ‘tree will not execute and completion _tree exists’. That does not seem to make sense!
Maybe the’tree’ command only works for a bootable version of Arch not in the live usb mode?
I look forward to your comments.
Thanks & have a good day.
I don’t mid. But my responses may be slow.
This is called sunk-cost fallacy, if you are going to add even more time into something, that doesn’t mean it will start working. In more general terms it’s knowing when to quit. But who am I to go between you and knowledge?
You ca use \ to escape characters like <this>, which would look something like \< and \>, but that is harder to do. With the 3 backticks before and after the command, it would look something like this.
You may also use <blockquote> command </blockquote>.
vgs will show you the volume groups you have. You named it “volgroup0” when creating.
lvs will show you the logical volumes under the volume groups. The
mount would look a little something like:
mount /dev/volgroup0/lv_root /mnt
Mapper is just the longer version,
/dev/mapper/volgroup0_lv_root should also work. You can hit the Tab key when typing for autocompletion. So
/dev/volgroup0/lv Tab Tab (double tap the Tab key) will get you the existing files beginning with that name. You keep typing, so
/dev/volgroup0/lv_ro Tab (single tap Tab) would give you the completed file name. Makes things less prone to errors.