0

我有 Arch Linux/dev/sdb1和 NetBSD-7.0 /dev/sdb2

在 Arch Linux 上,当我运行时sudo grub-mkconfig -o /boot/grub/grub.cfg我收到一条消息,Found unknown Linux distribution on /dev/sdb2但是当我重新启动时,对于那个未知的 Linux 发行版没有 grub 选项,我知道它是 NetBSD-7.0。

重新启动时如何将 NetBSD-7.0 添加到我的 grub 菜单选项中。

有一个类似的帖子,目前正在研究它。

sudo mount -t ufs -o ro,ufstype=ufs2 /dev/sdb2 /mnt/更新:我用(ufstype=44bsd没有工作)安装 NetBSD 分区,然后运行grub-mkconfig -o /boot/grub/grub.cfg,但问题仍然存在。

更新:重新启动并按下c以获取 grub 命令行。以下命令启动 NetBSD-7.0:

ls

跑去ls查看磁盘和分区的正确名称,/dev/sdb2在 Linux 上是(hd0,gpt2)在 Grub 上。然后运行以下内容:

insmod ufs2
set root=(hd0,gpt2)
knetbsd /netbsd
boot

并启动了 NetBSD-7.0。

要将 NetBSD 选项添加到 Grub 菜单,请/etc/grub/40_custom在 Arch Linux 上修改文件,如下所示:

menuentry "NetBSD-7.0"{
insmod ufs2
set root=(hd0,gpt2)
knetbsd /netbsd
}

但是,经过40_custom如上修改后,Grub 菜单上不会出现 NetBSD 选项。我不知道为什么。

4

1 回答 1

1
  • 除非您有拼写错误,否则 40_custom 文件似乎位于错误的目录中。它应该位于/etc/grub.d/40_custom,请注意.d

  • 如果您/boot位于单独的分区上,请确保mount /boot在生成 grub.cfg 之前已安装它。否则你的新 grub.cfg 将不会被使用。

  • echo ${prefix}通过在 grub 命令行中运行来检查 grub 正在从哪个分区加载配置。grub 可能正在从您不期望的分区加载配置。

  • 在重新启动之前验证 netbsd 是否已添加到配置中,grep -i netbsd /boot/grub/grub.cfg以避免在生成 grub.cfg 后出现一些挫败感

于 2016-03-18T17:10:31.280 回答