Arch Linux grub安装错误“ airootfs”


17

我正在关注官方安装教程。一切顺利,直到启动加载程序部分为止。

我遇到了错误

/usr/bin/grub-probe: error: failed to get canonical path of 'airootfs'.

执行命令时与此问题相同:

grub-mkconfig -o /boot/grub/grub.cfg

我在VirtualBox上安装了arch,并逐步遵循了官方的Wiki教程GRUB部分。

我可以成功启动到grub,但是我只能看到grub外壳。可以推断,自从生成grub配置文件的步骤以来,它就脱轨了。希望我的信息对您有所帮助。


顺便说一句,实际上,我在上一步中也遇到了此错误-安装grub

grub-install --target=i386-pc /dev/sda

我添加了根目录参数,它继续运行而没有出现错误。

grub-install --root-directory=/mnt /dev/sda

我这样做是因为我在/ mnt上安装了我的主要Linux分区/ dev / sda3,但在grub-mkconfig中没有供我使用的任何根目录或引导目录参数。

这是fdisk实用程序显示的分区表: mypartitiontable

多谢。问候。


什么错 哪个错误?

@ user137124只是一个错误。对不起,我的头衔不清楚。尽管如此,我还是对其进行了改进,并希望有人回复。
李智修2016年

仍不清楚,请发布确切的错误消息。
约翰逊·史蒂夫

@JohnsonSteward对不起,您一定对这些不清楚的问题感到厌倦。我再次尽力描述这个问题。如果您仍然不明白我所说的错误,请回复,然后将全屏截图发布在这里。太谢谢了。
李智修2016年

@李智修似乎应该grub2-mkconfig chroot中执行而不是在外部执行。grub2-mkconfig用于grub-probe检测与安装点关联的实际设备,而airootfs(archiso的rootfs)已加载到ram中且没有规范路径。
约翰逊·史蒂夫

Answers:


18

似乎您应该grub2-mkconfig chroot中执行而不是在外部执行。grub2-mkconfig用于grub-probe检测与安装点关联的实际设备,而airootfs(archiso的rootfs)已加载到ram中并且没有规范的路径。

因此,在安装grub并生成配置之前,请先执行以下操作:

arch-chroot /mnt /bin/bash

我得到与OP相同的错误。上面列出的命令导致“错误无法设置chroot ...”。如果Arch在上次更新后没有自行中断,我不会陷入困境。令人惊讶的是,此操作系统经常崩溃。它比该死的Microsoft Windows更糟糕。

但是我目前可以不时使用AUR,而不会破坏我的设置。也许限制使用自我构建(自己从源构建)可能会有所帮助?当
吃豆人

5
但是GRUB安装命令在chroot内部不可用...
flarn2006 '17

2
@ flarn2006您需要在chroot中安装grub软件包。
克里斯(Chris)2007年

6
@ flarn2006pacman -S grub
Vitaly Zdanevich
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.