如何在无头系统上通过 grub 选择操作系统?

如何在无头系统上通过 grub 选择操作系统?

我有一个双启动系统(Linux 和 Windows),我通常以无头方式运行,默认情况下会启动到 Linux(我主要使用 Linux)。这一切都运行正常,只是有时当我想启动 Windows 时,我必须插入键盘和显示器才能在初始 grub 启动屏幕中选择 Windows。我想知道是否有更简单的方法可以做到这一点?我不介意先启动 Linux,我只是希望能够偶尔重新启动到 Windows,而无需插入任何外围设备。

答案1

没有真正简单的方法可以做到这一点,因为 grub 只能在启动时通过键盘控制,并且没有远程控制功能。

我想到两种解决这个问题的方法。第一种方法是基于脚本的:在重启之前编写一些简单的脚本来调整 grub.conf/menu.lst。请参阅 grub 手册中配置部分中的默认条目:

# By default, boot the first entry.
default 0

将其设置为您想要启动的条目。

此解决方案要求您在 Windows 上安装 ext2/ext3 驱动程序,以便从启动的 Windows 系统更改 crub.conf/menu.lst。

我正在考虑的第二个解决方案可能是一些调整后的 PXE 启动,其中 pxe 映像的启动菜单的配置将设置为相应的本地磁盘。

此链接提供了很多信息,包括“从第一个磁盘启动” 设置 pxe 启动

我从未尝试过但我认为这是可能的。

无论如何,这些解决方案对我来说似乎有点不靠谱。也许其他人能想出更好的方案。

答案2

我只是在研究类似的东西http://www.gnu.org/software/grub/manual/legacy/Booting-once_002donly.html看起来很有希望:

13.1.7 回退

如果设置了此变量,它将标识在默认菜单项启动失败时应该选择的菜单项...

... 但这个功能似乎在 Grub2 中被取消了... 就我而言http://www.gnu.org/software/grub/manual/grub.html#fallback可能会有效果,但对你来说可能不行:

4.3.1 仅启动一次

您可以教导 GRUB 仅在下次启动时启动一个条目。假设您有一个旧内核 old_kernel 和一个新内核 new_kernel。您知道 old_kernel 可以正确启动您的系统,并且您想测试 new_kernel。...

答案3

我认为,在重启之前,你应该先编辑 grub,让其先运行 windows - 这需要一点规划,但我认为你应该有一对备用配置文件,并在启动之前将其重命名为正确的配置文件

相关内容