GRUB2:启动到第二个(另一个)硬盘

Sop*_*rez 14 dual-boot grub2

我已经研究过这个问题,但一直无法找到明确的答案……甚至是一个明确的问题。所以我会用一个简单的例子。

我的电脑有**两个硬盘:**

  • 硬盘 1MBR上带有GRUB2 的Ubuntu Linux 。
  • 硬盘 2任何其他操作系统(是否打扰哪个操作系统?)以及其他一些 MBR 加载程序。

GRUB2 仅引导至 Ubuntu(在我的示例中,在第一个硬盘上)。
发行update-grub检测不到第二硬盘上的操作系统,但我知道有一个。
如果我在启动时进入BIOS并将启动顺序更改为 Hard Disk 2,则第二个操作系统启动 OK

如何向 GRUB2 添加引导至第二个硬盘的条目

(事实是:我认为这个问题可以指定哪个是第二个硬盘中的操作系统。还是不是?)

os-prober使用此配置添加示例机器的请求输出:

luis@threepwood:~$ sudo os-prober
/dev/sdb1:Windows 7 (loader):Windows:chain
/dev/sdb7:Ubuntu 14.04.3 LTS (14.04):Ubuntu:linux
Run Code Online (Sandbox Code Playgroud)

在这个特定示例中(我在 BIOS 中更改了引导顺序)案例:

  • sdb 是 HDD-1。
  • sda 是 HDD-2。

小智 9

我通常grub.cfg手动编写,从不使用,update-grub并且有一个所谓的主 Grub2 引导加载程序,我可以在其中选择从哪里启动,然后我让每个 Linux 发行版在自己的根分区上安装自己的引导加载程序,这样 Linux 就可以编辑自己的引导加载程序而无需接触我的主 grub2 引导加载程序。

为了跳转到其他磁盘 MBR,我为普通操作系统设置了此类条目grub.cfg,不需要将磁盘视为第一个磁盘:

menuentry "Boot from second disk" {
   chainloader (hd1)+1
}
menuentry "Boot from third disk" {
   chainloader (hd2)+1
}
menuentry "Boot from fourth disk" {
   chainloader (hd3)+1
}
Run Code Online (Sandbox Code Playgroud)

所以它只是将 MBR 加载到我想要的另一个磁盘上。

但对于一些棘手的 Linux(以及一些 Windows),希望看到另一个磁盘就像第一个磁盘一样,我还向 grub 菜单项添加了一些命令,所以它看起来像这样:

menuentry "Boot from second disk and see it as first disk" {
   set root=(hd1)
   drivemap -s hd0 hd1
   chainloader +1
}
menuentry "Boot from third disk and see it as first disk" {
   set root=(hd2)
   drivemap -s hd0 hd2
   chainloader +1
}
menuentry "Boot from fourth disk and see it as first disk" {
   set root=(hd3)
   drivemap -s hd0 hd3
   chainloader +1
}
Run Code Online (Sandbox Code Playgroud)

全部详细解释:

  • (hd#)代表磁盘,其中#从零开始

  • drivemap 进行驱动器交换,因此任何磁盘都可以被视为第一个磁盘,或者您想要的任何数字(它交换所看到的两个磁盘上的顺序)

  • chainloader (hd#)+1 跳转到磁盘的MBR

  • chainloader +1 跳转到存储在(根)上的第一个扇区

  • set root=... 设置(root)拥有什么。

  • (root)就像一个变量,可以用来少输入

有关grub.cfg文件的完整文档,您可以查看官方网页:

https://www.gnu.org/software/grub/manual/grub/grub.html


Ija*_*han 0

我认为您应该在 grub 配置中为第二个 hdd 添加一个条目。

\n\n

\xe2\x80\x99 是哪个操作系统并不重要。

\n\n

我在 Windows HDD 上使用带有 grub2 的双本书。它可以检测 Windows 和 Linux,并为我提供一个菜单来选择要启动的操作系统。

\n\n

如需高级配置、链式加载以及向 grub 添加手动条目,请点击以下链接:

\n\n

https://help.ubuntu.com/community/Grub2/CustomMenus

\n