Mark 的 Mega 多重启动计算机

作者:Mark Nielsen

在我开始参加计算机会议后,我意识到我需要能够演示 Linux 与其他操作系统以及不同 Linux 发行版协同工作。为每个操作系统配备一台计算机似乎有点太多了,因此拥有一台多重启动计算机来减少我需要的计算机数量变得很重要。目标是将多个 Linux 发行版以及其他操作系统安装到一台计算机上,并在打开计算机时能够选择我想要的操作系统。其他操作系统包括 Windows 98、Windows NT、DOS 和 FreeBSD。

计算机最初在 IDE 系统上配置如下

  • 主分区 1:Windows 98 (2GB)

  • 主分区 2:100MB 的 Linux 交换空间

  • 主分区 3:Red Hat Linux 5.2 (> 1GB)

  • 扩展分区 4

  • 逻辑分区 5:Windows NT 4.0 (2GB)

目标是在这台计算机上安装更多的 Linux 发行版和 FreeBSD。问题是,所有磁盘空间都用完了。再添加系统将变得很困难。必须使用一个疯狂的解决方案,而这正是 Linux 的魅力所在。

当 Linux 的内核启动时,它不必驻留在将用于“根”分区的同一分区上。Linux 的根分区就像 UNIX 系统的根分区一样:它包含操作系统启动内核后使用的所有文件和目录。也就是说,内核可以驻留在与启动后用于其文件和目录的分区不同的分区上。

因此,将所有非 Linux 操作系统放在第一个硬盘驱动器上,以及一个小的 Linux 安装。然后,将所有其他 Linux 发行版安装到第二个硬盘驱动器上。第一个硬盘驱动器上的小型 Linux 安装将包含每个 Linux 安装(包括其自身)的内核,这些内核位于第二个硬盘驱动器上。此外,第一个硬盘驱动器上的小型安装将配置 LILO,以便您可以在计算机启动时选择您想要的 Linux 版本(来自第二个硬盘驱动器)。诀窍是,LILO 将被配置为从第一个硬盘驱动器上的小型安装中获取内核,然后切换到第二个硬盘驱动器并为该内核使用适当的分区。

为了在第一个硬盘驱动器上安装 FreeBSD 和小型 Linux 安装,必须删除第一个硬盘驱动器上的原始交换分区和 Linux 分区。用 100MB 的 Red Hat 安装替换交换分区。用 FreeBSD 替换原始 Linux 分区。现在配置应如下所示

  • 主分区 1:Windows 98

  • 主分区 2:Red Hat Linux 5.2(仅使用 100MB 空间)

  • 主分区 3:FreeBSD

  • 扩展分区 4

  • 逻辑分区 5:Windows NT 4.0

列表 1 是 Linux 分区中 /etc/lilo.conf 的 LILO 配置。

列表 1

现在,需要两个步骤才能在第二个硬盘驱动器上安装其余的 Linux 发行版。首先,需要安装所有 Linux 发行版,而无需修改计算机的启动方式。第二个硬盘驱动器上的分区表设置如下所示。我的第二个硬盘驱动器是一个 IDE 硬盘驱动器,设置为辅助 IDE 通道上的主盘(在 Linux 中变为“/dev/hdc”)。

  • 主分区 1:备用 Linux 分区(未使用)

  • 主分区 2:Red Hat 6.0 Linux

  • 主分区 3:Debian Linux

  • 扩展分区 4

  • 逻辑分区 5:Linux 交换空间(可供所有 Linux 发行版使用)

  • 逻辑分区 6:Slackware Linux

  • 逻辑分区 7:Caldera OpenLinux

  • 逻辑分区 8:SuSE Linux

  • 逻辑分区 9:Mandrake Linux

  • 逻辑分区 10:所有 Linux 发行版之间共享的分区,位于 /Shared。

在第二个硬盘驱动器上安装完所有这些 Linux 发行版后,最困难的部分是设置它,以便可以在启动时选择任何这些操作系统或 Linux 发行版。接下来,执行以下操作

  1. 打开计算机,并在出现 LILO 提示符时输入 linux,选择小型 Linux 安装。

  2. 将每个 Linux 安装中的每个内核或 /boot 目录复制到 /lilo 下的目录中。

  3. 编辑 /etc/lilo.conf 文件。将每个 Linux 发行版的每个内核添加到文件中,包括在内核启动后更改为根目录的相应分区的选项。

  4. 执行命令 lilo

列表 2 显示了一个 lilo.conf 文件示例。

列表 2

由于安装了 LILO,因此当计算机重新启动时,将出现 LILO 提示符。从这里,按 TAB 键会显示可供选择的各种选项列表。输入以下选项之一将启动相应的操作系统:“linux”、“linuxkernels”、“MicroSoft”、“FreeBSD”、“Debian”、“Slackware”、“Caldera”、“SUSE”或“Mandrake”。如果什么都不选择,则将选择第一个选项“linux”。此外,如果选择“MicroSoft”,则会弹出另一个菜单,让您选择“Windows98”或“WindowsNT”。另一个菜单是 NT 启动加载器。

结论

有不同的方法可以使用 Linux 和其他操作系统设置多重启动系统。如果做得对,您可以为所有 Linux 发行版使用一个内核。在所示的方法中,交换分区由所有 Linux 发行版共享。

如果我从头开始,我会使用一个 20GB IDE 硬盘驱动器。作为建议,如果您必须复制上述配置,我建议先安装 Windows 98,然后安装 Windows NT,然后安装 FreeBSD,最后安装 Linux 发行版。

就我个人而言,我认为与 LILO 相关的如此多的选项非常酷和令人兴奋。在我看来,LILO 和内核都设计得非常好。LILO 使执行我上面所做的奇怪操作变得容易。感谢所有开发 LILO 和 Linux 内核的人,以及 Paul Hostetler 和 Phil Hunter 的帮助。

资源

Mark Nielsen 在 The Computer Underground, Inc. 工作,http://www.tcu-inc.com/,担任 Linux 极客,喜欢做傻事和编造傻项目,因为嘿,计算机应该很有趣。Mark 还在 http://www.800linux.com/ 担任专业顾问。在他的业余时间,他用 Perl(主要是 SQL 和面向对象)、HTML、JavaScript、用于 PostgreSQL 的 SQL 和 UNIX shell 脚本编写程序。他的长期愿望是征服 Ramsey 数,并以最好和最酷的方式帮助向银河系传播有关 Linux 软件和 Linux 兼容硬件的信息。

加载 Disqus 评论