我决定尝试运行 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 包缺少了一些东西。
我可能忽略了一些小事,因为我觉得几乎有,但不完全是。