李智修*_*李智修 23 boot arch-linux boot-loader grub2
我正在关注官方安装教程。一切都很顺利,直到引导加载程序部分。
我遇到了错误
/usr/bin/grub-probe: error: failed to get canonical path of 'airootfs'.
Run Code Online (Sandbox Code Playgroud)
执行命令时与此问题相同:
grub-mkconfig -o /boot/grub/grub.cfg
Run Code Online (Sandbox Code Playgroud)
我正在 VirtualBox 上安装 arch,并一步一步地遵循官方的 wiki 教程GRUB部分。
我可以成功启动到 grub,但我只能看到一个 grub shell。作为推论,我认为自从生成 grub 配置文件的步骤以来它已经出轨了。希望我的信息有帮助。
BTW 其实我在上一步中也遇到过这个错误——安装grub
grub-install --target=i386-pc /dev/sda
Run Code Online (Sandbox Code Playgroud)
我添加了根目录参数,它继续运行而没有出现错误。
grub-install --root-directory=/mnt /dev/sda
Run Code Online (Sandbox Code Playgroud)
我这样做是因为我在 /mnt 上安装了我的主要 Linux 分区 /dev/sda3 但没有任何根或引导目录参数供我在 grub-mkconfig 中使用。
多谢。问候。
Joh*_*ard 25
似乎你应该grub2-mkconfig
在chroot 中做而不是在外面做。grub2-mkconfig
用于grub-probe
检测与挂载点关联的真实设备,而airootfs
(archiso's rootfs
) 已加载到 ram 中并且没有规范路径。
因此,在安装 grub 和生成配置之前,请先执行以下操作:
arch-chroot /mnt /bin/bash
Run Code Online (Sandbox Code Playgroud)