GRUB:向另一个分区中的 GRUB 发送命令

GRUB:向另一个分区中的 GRUB 发送命令

假设我有一个远程管理电脑有这个分区结构:

/dev/sda1   LinuxA      --> GRUB installed on /dev/sda
/dev/sda2   LinuxB
/dev/sda3   Windows

LinuxA 上安装的 GRUBGRUB 菜单上有所有三个操作系统。

如果我启动到 LinuxA 并且我这样做:

# grub-reboot 1
# reboot

然后我的计算机按照预期启动到 LinuxB。
现在,我想启动进入 Windows。
只要远程管理电脑,我知道的最好的办法是:

# reboot

然后我再次启动到 LinuxA,并且:

# grub-reboot 2
# reboot

所以我最终会启动进入Windows。

我认为,在 Windows 中,我没有机会改变这一点,但至少当我运行 LinuxB 时,有没有办法直接命令启动进入 GRUB 的第三个选项(Windows)?

我知道我可以从 LinuxB 安装 GRUB,但这样做似乎有点尴尬。

答案1

我还没有测试过,但它可能有效。

目前,您有两个 Linux 安装在两个不同的分区中,每个分区都有自己的/boot分区。如果两个 Linux 具有相同的风格或grub版本相同,下面的设置可能会起作用。

  1. 创建一个单独的分区,供/boot两个 Linux 使用,即/boot两者共用。

  2. 要使/boot两个 Linux 通用,首先安装 Windows,然后安装 Linux-A,然后安装 Linux-B。安装 Linux-B 时,不允许操作系统安装程序格式化分区,以便 Linux-A 的内核映像和 initramfs 完好无损。

  3. 安装 Windows、Linux-A 和 Linux-B 后,该/boot分区将包含所有三个操作系统的 grub 配置以及 Linux-A 和 Linux-B 的 initramfs 和内核映像。

  4. 现在,由于该/boot分区对于 Linux-A 和 Linux-B 都是通用的,因此您可以grub-reboot从这两个操作系统运行,以便在重新引导时更改临时引导顺序。

您可能首先需要在不同的设置中对此进行测试,然后继续使用您的实际系统。

由于机器是远程管理的,您还可以尝试使用/设置控制台服务器为了这。

相关内容