多操作系统和 GRUB 链式加载

多操作系统和 GRUB 链式加载

我想安装多个操作系统,而且我已经建议使用 GRUB 进行链式加载是处理此问题的一种好方法。我在网上查看了教程,但在开始之前我还有一些问题。

我想:

  • Windows XP:20 GB。用于运行一些学校软件和无法通过 WINE 运行的游戏。
  • Xubuntu 9.04:85 GB。我的主要操作系统。
  • 另一个 Linux 发行版:15 GB。用于实验和试用 Linux 发行版。

我会:

  • 在 15 号经常清除并安装各种发行版
  • 安装 Windows 分区并按我期望的方式运行后,使用 dd 复制该分区。我的经验是,Windows 可能需要每年重新安装一次,以免变得臃肿和缓慢。

有人告诉我:

  • 使用 GRUB 链式加载。这将使 Linux 发行版中的内核升级更加容易,因为它们会修改 GRUB 启动菜单。

据我了解,我需要:(我很可能弄错了)

  1. 首先安装 Windows。
  2. 然后安装 Xubuntu 并让它用 GRUB 覆盖 MBR(我猜这是默认的)。
  3. 如果我想启动 Windows XP(默认情况下会这样做),则获取 MBR 上的 GRUB,使用我选择的内核启动 Xubuntu,或者将执行推迟到其他 Linux 发行版的引导扇区。实际的链式加载仅在我想启动 Linux 的实验性安装时才会发生。

我想知道:

  • 上述第 3 步是否正确并且是处理此问题的好方法?
  • 对于 Xubuntu 和我的实验性 Linux 安装来说,使用链式加载也是一个好方法吗?
  • 如何让 Linux 发行版将其附带的引导加载程序安装到其分区的引导扇区而不是 MBR?
  • 如果我无法让它不接触 MBR。那么我可以使用 dd 备份 MBR,然后在安装我的实验性 Linux 安装后将其写回。但是,我该如何将引导加载程序(比如说 GRUB)放入实验性 Linux 安装的引导扇区?如果所述 Linux 安装获得新的内核更新并需要更新 GRUB 菜单,它将如何工作?

答案1

我的新上网本也遇到了类似的问题。我安装了 Windows、Ubuntu Netbook Remix 和另一个 Linux 操作系统。因为前两个没有变化,但第三个可能会变化,所以我使用了这些说明如何修复我的 GRUB

基本上,我们假设您的 Xubuntu 位于硬盘的第二个分区 (/dev/hda2 或 (hd0,1))。该链接中的说明归结为:

$>grub
grub>root (hd0,1)
grub>setup (hd0)
grup>quit

唯一需要记住的是,GRUB 将始终引用 Xubunut 分区上的 /boot/grub/menu.lst。因此,每当您更改 Linux 操作系统时,您都需要查看其 /boot/grub/menu.lst 并将自身的条目复制到 Xubunut 中的条目中。除此之外,您应该没问题。

如果您还有其他需要或者我可以更清楚地解释任何事情,请告诉我。

答案2

上述第 3 步是否正确并且是处理此问题的好方法?

不,您应该在 xubuntu 的 menu.lst 中为实验性 Linux 发行版添加一个条目。

对于 Xubuntu 和我的实验性 Linux 安装来说,使用链式加载也是一个好方法吗?

正如我所说,不需要链式加载。那只会让事情变得复杂。

如何让 Linux 发行版将其附带的引导加载程序安装到其分区的引导扇区而不是 MBR?

您不希望出现这种情况,您希望根本不安装它。当然,如何做到这一点取决于发行版。

如果我无法让它不接触 MBR。那么我可以使用 dd 备份 MBR,然后在安装我的实验性 Linux 安装后将其写回。但是,我该如何将引导加载程序(比如说 GRUB)放入实验性 Linux 安装的引导扇区?如果所述 Linux 安装获得新的内核更新并需要更新 GRUB 菜单,它将如何工作?

再次强调,无需备份 MBR。如果出现问题,只需从 Live CD 重新安装 grub。zodoz 很好地解释了这一部分。

答案3

使用 Grub 时的一般建议:首先为自己制作一个 grub 启动盘。您可以在 Ubuntu 软件包中找到一个 iso 映像grub-rescue-pc,安装后您可以在 中找到该文件/usr/lib/grub-rescue/grub-rescue-cdrom.iso。当 MBR 出现问题时,手边有这样的磁盘可以节省大量时间,这种情况在安装新操作系统时经常发生。

关于安装本身,步骤 3 中的链式加载实际上并不是必要的,您也可以从给定的 grub 中启动其他操作系统,但这可能需要手动添加启动项,而不是让操作系统自动生成它们(参见/etc/grub.d/40_custom)。

一般来说,我不会浪费太多时间提前计划,当你准备好 grub 启动盘时,从混乱的 MBR 中恢复很容易,只需输入:

  configfile (hd...)/boot/grub/grub.conf` 

让 Grub 启动盘加载 Linux 的 grub 配置文件,然后启动到该文件并使用 恢复 MBR grub-setup。只需尝试不同的设置即可找到您喜欢的设置。

答案4

我将 Windows 保留在其自己的驱动器上,Windows 引导加载程序位于该 MBR 中,但我的 BIOS 首先启动另一个驱动器(带有各种 *NIX)- 它链式加载 Windows。因为我在 BIOS 中更改了启动顺序,所以我还需要在 grub 配置中将 hd0 与 hd1 交换以链式加载 Windows。

编辑:您也可以考虑使用虚拟机来试用其他 Linux 发行版。Sun 的 VirtualBox 对我来说效果很好。不过,您需要磁盘空间来保存所有额外的映像。

相关内容