安装到两个独立硬盘上的两个 Linux 发行版的 grub 设置

安装到两个独立硬盘上的两个 Linux 发行版的 grub 设置

(我知道我可能重复了邮政,但不知道我应该在哪里提问)

我在我的笔记本电脑上安装了第二个硬盘,这样我就可以测试新的 Linux 发行版而不会破坏我正在使用的发行版。

我做了以下事情:

  1. 在我的第一个驱动器上安装了 Linux Mint 15 sda,并将其用作我的工作 Linux
  2. 将 Linux Mint 16 安装到我的第二个驱动器sdb并进行测试
  3. 我使用sudo update-grub引导时,sda这样我就可以双启动两个发行版
  4. 由于 Linux Mint 15 不再受支持,我进行了备份,并使用 Clonzillasdb进行克隆sda
  5. 我想sudo update-grub再次使用这个技巧,以便我可以在sda和上双启动 Linux Mint 16 发行版sdb

我进行了第 5 步,但事情并没有按预期进行,如果我插入sdb笔记本电脑,它就会自动启动到sdb,无论我选择哪个发行版。

我该如何调整 grub?

更新 01

我已经使用以下方式提取了我的 grub 信息boot-repair,可以通过以下方式访问:http://paste2.org/NG99V4Fs

答案1

如果您克隆磁盘,则会同时克隆其 UUID。此十六进制字符串用于唯一标识您的分区。由于 grub 使用这些标识符来跟踪分区,因此在这种情况下克隆磁盘不是一个好主意,因为 UUID 不再是唯一的。

编辑 2014 年 5 月 8 日以下操作很可能会破坏你的启动过程,因为配置文件将引用旧的 UUID。我将其留在这里是为了跟踪更改:解决此问题的一种方法是在目标磁盘上手动重新创建分区表,并将源分区的内容转储到目标分区。这样做将为目标分区创建新的 UUID。您可以使用 fdisk/gdisk 和 dd 命令执行此操作。

这可能有效。但我认为使用 sdb 作为标准启动驱动器并使用 sda 进行进一步实验没有问题。如果想要经常测试发行版,我建议您使用某种可视化工具,如 Virtual-box 或类似工具。这可以为您节省大量调整机器基本设置的时间。

编辑:2014 年 5 月 8 日:回答 OP 的进一步问题:

我花了一些时间来考虑你的计划。复制上述分区将修复引导加载程序中的 UUID 问题。但会破坏所有包含 UUID 的配置文件。因此,正如我上面指出的那样,这通常是一个坏主意。

如果您将新操作系统安装到驱动器,安装脚本将使用新 UUID 创建新分区。grub-update 将使两个操作系统都可以从一个引导加载程序启动。但要小心提供给 BIOS 的启动驱动器。引导加载程序通常位于安装操作系统的磁盘的 mbr 中(除非您指示它这样做)。这意味着 上的操作系统将sda保留 上的引导加载程序sda,同样 上的操作系统也将保留sdb上的引导加载程序sdb。如果您现在安装新操作系统,请对其进行测试,最后想保留它,请执行以下操作:

  1. 将 BIOS 中的默认启动盘更改为您要保留的磁盘
  2. 使用您想要保留的操作系统中的更新脚本来更新 booloader
  3. 确保两个操作系统都可以从您要保留的磁盘启动
  4. 摧毁另一个磁盘...或者做任何你想做的事情。
  5. 启动您想要保留的操作系统。
  6. 再次更新引导加载程序,使其了解另一个磁盘上的更改。

每次切换操作系统时,此过程都会切换工作磁盘。您可能希望将主目录保留在其他地方,然后通过 自动安装它/etc/fstab。或者简单地进行备份并来回复制数据

我仍然建议您使用 Virtualbox(或其他虚拟化软件)进行测试,然后将新操作系统安装到您想要使用的驱动器上。使用单独的 /home,您可以在更改操作系统的同时保留您的个人数据。

请记住:在对系统进行任何更改之前,请先备份数据!

相关内容