(我知道我可能重复了邮政,但不知道我应该在哪里提问)
我在我的笔记本电脑上安装了第二个硬盘,这样我就可以测试新的 Linux 发行版而不会破坏我正在使用的发行版。
我做了以下事情:
- 在我的第一个驱动器上安装了 Linux Mint 15
sda
,并将其用作我的工作 Linux - 将 Linux Mint 16 安装到我的第二个驱动器
sdb
并进行测试 - 我使用
sudo update-grub
引导时,sda
这样我就可以双启动两个发行版 - 由于 Linux Mint 15 不再受支持,我进行了备份,并使用 Clonzilla
sdb
进行克隆sda
- 我想
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
。如果您现在安装新操作系统,请对其进行测试,最后想保留它,请执行以下操作:
- 将 BIOS 中的默认启动盘更改为您要保留的磁盘
- 使用您想要保留的操作系统中的更新脚本来更新 booloader
- 确保两个操作系统都可以从您要保留的磁盘启动
- 摧毁另一个磁盘...或者做任何你想做的事情。
- 启动您想要保留的操作系统。
- 再次更新引导加载程序,使其了解另一个磁盘上的更改。
每次切换操作系统时,此过程都会切换工作磁盘。您可能希望将主目录保留在其他地方,然后通过 自动安装它/etc/fstab
。或者简单地进行备份并来回复制数据
我仍然建议您使用 Virtualbox(或其他虚拟化软件)进行测试,然后将新操作系统安装到您想要使用的驱动器上。使用单独的 /home,您可以在更改操作系统的同时保留您的个人数据。
请记住:在对系统进行任何更改之前,请先备份数据!