如何以Windows主磁盘、alpine linux次磁盘grub双启动?

如何以Windows主磁盘、alpine linux次磁盘grub双启动?

我决定尝试运行 alpine linux 作为桌面系统,因为它的简约特性让我很感兴趣。

问题:我需要将 grub 写入 Windows 磁盘的 MBR sda,以便它查看辅助磁盘上的 /boot sdb,并可以从它在那里找到的 grub 菜单启动 Windows 或 Linux。目前,从 sda 启动会直接进入 Windows,从 sdb 启动确实会给我一个 Grub 菜单,但这两个选项似乎都会启动 Linux。

我的设置:

  • Windows 10 位于主驱动器 /dev/sda 上
  • alpine 3.10.1 位于辅助驱动器 /dev/sdb 上;/boot 目录位于 /dev/sdb1 分区上。

我做到了:

# removes default bootloader, I don't think handles different disks
$ apk del syslinux

# install grub, bios version
$ apk add grub grub-bios
$ grub-install /dev/sdb

我的 /etc grub 文件 40_custom 中有这个:

menuentry 'Windows 10' {
    set root='(hd0,msdos1)'
    chainloader +1
}

我看过一些文档说执行此操作grub-install /dev/sda将安装到 MBR,但我担心 grub-install 会做更多的事情,并会破坏 Windows,因为它认为那里也有一个 /boot 目录来填充它的文件。

令我感到困惑的是,我遇到过很多涉及命令的文档update-grub2,例如:https://wiki.alpinelinux.org/wiki/Installing_Alpine_on_HDD_dualbooting,即无处在我的 alpine linux 安装上。我也没有基本grub命令,只有grub-*命令。所以我觉得 grub 自从我上次直接使用它以来已经发生了变化(可能是 10 年前,所以我有点生疏了),或者 alpine 包缺少了一些东西。

我可能忽略了一些小事,因为我觉得几乎有,但不完全是。

相关内容