我是按照官方的安装教程来的。一切都很顺利,直到引导加载程序部分。
我遇到了以下错误
/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 shell。作为一个推论,我认为自从生成 grub 配置文件的步骤以来它就已经脱轨了。希望我的信息有帮助。
顺便说一句,事实上,我在上一步安装 grub 时也遇到过这个错误
grub-install --target=i386-pc /dev/sda
我添加了根目录参数,它继续运行,没有出现错误。
grub-install --root-directory=/mnt /dev/sda
我这样做是因为我将我的主 Linux 分区 /dev/sda3 安装在 /mnt 上,但是没有任何根目录或引导目录参数可供我在 grub-mkconfig 中使用。
多谢。问候。
答案1
看来你应该这样做grub2-mkconfig
在chroot 而不是在外面做。grub2-mkconfig
用于grub-probe
检测与挂载点关联的真实设备,而airootfs
(archiso's rootfs
) 已加载到 ram 中并且没有规范路径。
因此,在安装 grub 并生成配置之前,请先执行以下操作:
arch-chroot /mnt /bin/bash