Windows/Linux 双启动

作者:Vince Veselosky

所以您听说了很多关于 Linux 的优点:更快、更便宜、更高效、更稳定。听起来不错。您可能想尝试一下,但可能在 Windows 中投入了大量时间和数据,并且无法在弄清楚如何使用 Linux 完成日常任务时停工。Windows 和 Linux 可以舒适地共存于同一台计算机上,甚至在同一块硬盘上。操作系统选择可以在开机时进行。这通常被称为“双启动”配置,并且是 Linux 新用户最常见的问题之一,即如何设置它。

我的系统是一台奔腾 II 400MHz,配备 128MB 内存和一个 11GB EIDE(实际上是 Ultra-DMA 33 ATAPI,对于你们硬件高手来说)硬盘。硬盘上安装了 Windows 95 “C”,在一个大的 FAT32 格式化的 C: 盘上,这是一个典型的出厂配置。我测试了 Red Hat Linux 5.1 和 SuSE Linux 5.2 的安装。

在开始之前,您需要熟悉两个术语:分区文件系统。磁盘可以分成更小的、独立的块,这些块可以属于不同的所有者。对于双启动,Windows 将拥有一些,而 Linux 将拥有另一些。“分区”一词并非指墙;它指的是分隔的空间。因此,我们说 Windows 安装在“第一个分区”上。文件系统 是一种组织方法。您的硬盘可以有不同的文件系统。操作系统提供 目录树(也称为“文件系统”)作为可用文件的目录。每个操作系统都有自己的文件系统类型,而其他操作系统通常不知道如何读取它。幸运的是,Linux 是一个通用的操作系统,它确实理解 Windows 95 和 Windows 98 使用的文件系统。

为 Linux 腾出空间

大多数出厂安装的 Windows 系统会占用您硬盘上的所有空间,不留任何空间来安装 Linux。我们必须做的第一件也是最困难的事情是清理一些空间,以便可以安装 Linux。Linux 需要有自己的分区,但 Windows 不具备调整分区大小的能力。通常,这意味着您必须删除现有分区(以及分区上的所有内容)以在驱动器上腾出空间,然后创建较小尺寸的分区并重新安装。您仍然可以这样做,但有一种更好的方法。

您需要的工具

大多数 Linux 发行版都带有一个特殊工具,允许您调整或划分硬盘分区。它被称为 FIPS,即 First (non-destructive) Interactive Partition Splitter(第一个(非破坏性)交互式分区分割器),通常可以在您的 Linux CD 的 /dosutils 目录中找到。您还需要一张空白的、格式化的软盘,用作启动盘。对于大多数较旧的 Windows 安装,这应该就足够了。但是,如果您使用的是 Windows 98 或最近版本的 Windows 95,并且硬盘很大(大于 2GB),那么如果您使用的是 FAT32 文件系统,您可能需要一些额外的工具。

要检查 Windows 使用的文件系统类型,请打开 Windows 资源管理器,右键单击 C: 盘并选择“属性”。如果您在“常规”选项卡上看到“文件系统:FAT32”,则您将需要一些额外的工具来支持这种较新的文件系统。

FAT32 支持要求

要调整您的分区,您将需要 2.0 或更高版本的 FIPS。如果您的 Linux 发行版附带的版本早于此版本,则可以从 FIPS 主页 http://www.igd.fhg.de/~aschaefe/fips/ 下载最新版本。如果您想在 Windows 和 Linux 之间共享文件(这是一个好主意),您还需要 2.0.34 或更高版本的 Linux 内核。表 1 列出了已知支持 FAT32 的 Linux 发行版。如果您的发行版不包含支持,您将需要升级内核。升级内核超出了本文的范围,因此请查看您的发行版附带的文档或您发行商的网站,以获取有关如何执行此操作的信息。

表 1

准备您的驱动器

在调整 Windows 分区大小之前,必须采取一些步骤以确保该过程顺利进行。首先,删除硬盘上任何未使用的文件;例如,C:\windows emp 文件夹中的任何旧文件,然后清空回收站。接下来,使用 Scandisk 检查您的文件系统是否存在错误,并使用 Defrag 整理您的硬盘碎片。我假设你们 Windows 用户知道如何做到这一点。运行 Scandisk 时,请务必选中“自动修复错误”旁边的框。碎片整理会将您的所有数据整合到驱动器的“前端”,以便在驱动器的“后端”为您的新分区腾出空间。

当两者都完成后,最好记下磁盘上可用的空间量。如果此数字小于加载 Linux 所需的量(请查看您的发行版文档以了解空间要求),则您需要删除更多文件或卸载某些软件以腾出空间。

使用 FIPS

在使用 FIPS 之前,您必须阅读程序随附的 FIPS.DOC 文本文件。该程序的使用并非完全显而易见,您可能需要文档提供的背景信息。此外,在运行 FIPS 时,您应仔细阅读它显示的所有消息。它们将为您提供有关您接下来需要采取的步骤的宝贵信息。最重要的是,FIPS 不提供任何保证。尽管它已被安全使用多次,但始终存在损坏硬盘上数据的可能性。如果您重视您的数据,请在开始之前备份它。

为了安全起见,创建一个 DOS 或 Windows 启动盘以供使用。为此,请单击“开始”->“设置”->“控制面板”。双击“添加/删除程序”,然后选择名为“启动盘”的选项卡。按下按钮并按照说明进行操作。

接下来,将 FIPS 的工作文件复制到软盘。文件 FIPS.EXE、RESTORRB.EXE 和 ERRORS.TXT 是必需的。您可能还想复制 FIPS 随附的文档文件。备份数据后,重新启动计算机并从新软盘启动。

当您到达 A:> 提示符时,键入 FIPS 并按 Enter 键。将出现关于在 Windows 等多任务环境中使用 FIPS 的警告。由于我们是从软盘启动的,因此我们是安全的,因此请按 Enter 键。FIPS 将分析您现有的分区。它可能会在“正在检查 FAT”和“正在搜索可用空间”处暂停很长时间;这是完全正常的,所以只需等待即可。您的硬盘越大,所需时间就越长。当 FIPS 完成分析后,它将显示结果。您可能会收到关于 FAT 出现问题的警告。如果您仔细阅读消息,您会发现这对于大型硬盘来说是正常的,并且不会阻止 FIPS 正常工作。

然后,FIPS 将演示它计划如何拆分现有分区,您将有机会进行更改。请不要只是按 Enter 键。默认情况下,FIPS 将占用它创建的新分区所有可用的可用空间,使您的 Windows 分区完全没有可用空间。如果 Windows 没有可用驱动器空间,则无法运行,因此您必须调整分区。使用向上和向下箭头键进行大幅更改(一次十个柱面),使用向左和向右箭头键进行小幅调整(一次一个柱面)。现有分区的大小显示在左侧,新空分区的大小显示在右侧。中间是分割将发生的柱面号。我为自己的 Windows 分区留出了大约 1500MB。根据您的需要调整您的分区,但我建议至少为 Windows 使用 1024MB。

当您满意时,按 Enter 键。FIPS 显示有关新分区的信息,并请求允许将其写入磁盘。此时,您的硬盘尚未更改。您可以选择将此配置写入磁盘或重新编辑分区表。在我的机器上,当我选择重新编辑时,我收到一条错误消息,指出 FIPS 找不到它需要的一些文件。如果这种情况发生在您身上,只需按 ctrl-alt-delete 重新从软盘启动并重新开始即可。这没有给我带来任何麻烦。

当您选择写入新分区时,FIPS 将提供备份您现有引导扇区的选项——您绝对应该这样做。它创建的备份文件只有 1KB 大小,如果出现任何问题,它将非常宝贵。

在 FIPS 完成其工作后,它将显示另一条消息,指出您应该在旧分区上运行 scandisk。我发现 Windows 有时会在使用 FIPS 后错误地计算驱动器上已用和可用空间,而 Scandisk 将纠正此问题。如果您选择使用 RESTORRB 实用程序恢复原始分区方案,您也应该在此之后运行 Scandisk。

在 FIPS 完成后,我收到了另一个错误。这个错误说“内存分配错误,无法加载 COMMAND.COM”。如果您看到此错误,只需按 ctrl-alt-delete 重新启动,一切都会正常。这不应影响您的硬盘。

最后,您可能想要从软盘运行 Windows FDISK 程序。这不是必需的,因为 Linux 有自己的 fdisk 程序来操作分区。您会发现您的硬盘现在包含两个“主分区”(或“主 DOS 分区”)。第二个分区是由 FIPS 从您驱动器上的可用空间创建的。对于 Linux 安装,删除第二个分区,释放空间以分配 Linux 分区。(小心不要删除第一个分区,Windows 位于该分区中。)

适用于大驱动器的 Linux 安装技巧

在您使用 FIPS 在驱动器上为 Linux 腾出空间后,您应该能够按照 Linux 发行版随附的安装指南中的步骤安装 Linux。以下是一些提示,应该可以帮助您解决双启动可能会产生影响的领域。

规划您的分区

Red Hat 和 SuSE 安装指南都有关于如何划分硬盘以供 Linux 使用的优秀章节。就我个人而言,我赞成“保持简单”原则,尤其是对于初学者。我让 Windows 保留第一个分区,为整个 Linux 安装创建一个第二个分区,为 Linux 交换空间创建一个第三个分区,为我的 /home 目录(数据存储位置)创建一个第四个分区。如果以后需要重新安装 Linux,将 /home 放在单独的分区上会使事情变得容易得多。每个分区的大小将取决于您的具体情况,但这应该足以满足大多数人的需求。但是,如果您的硬盘大于 8GB,则还需要考虑其他事项 - LILO。

使用 LILO 启动

启动进入 Linux 的常用且推荐的方法是使用 LILO(Linux 加载程序)。LILO 可以将自身安装在您的引导扇区中,并允许您在启动时选择您想要的操作系统。由于技术限制,LILO 无法从超过第 1024 个柱面的硬盘驱动器读取数据——对于现代 LBA(逻辑块寻址)硬盘驱动器来说,这是 8GB 的标记。

这是否意味着您无法使用驱动器的其余部分?完全不是。它的意思是,您的启动分区都必须位于 8GB 标记以下,即低于第 1024 个柱面。因此,如果您希望 Windows 使用您花哨的新 18GB 驱动器的前 9GB,您将无法使用 LILO 启动 Linux。由于此限制,Red Hat 的 Disk Druid 硬盘分区工具将不允许您在第 1024 个柱面之后创建 Linux 启动分区。您仍然可以使用 fdisk 创建分区,但如果您这样做,Red Hat 安装程序将不会安装 LILO。

从软盘启动

可以通过从软盘启动来避免 8GB 障碍的整个问题。虽然这听起来效率低下,但实际上效果很好。内核从软盘加载到内存中,之后再也不会访问软盘,因此加载内核速度较慢;但之后,系统运行起来与从硬盘启动时相同。Linux 内核可以毫无困难地访问大型硬盘驱动器的末尾,因此它仍然可以访问 Linux 安装的所有文件。

您的发行版的安装程序几乎肯定会在安装过程中要求您创建启动软盘。即使您不打算定期从软盘启动,您也绝对应该制作启动盘。如果由于某种原因 LILO 未能安装或损坏,您将没有其他方法访问 Linux 安装上的文件。

使用 Loadlin 启动

Loadlin 是一个在 DOS(或 MSDOS 模式下的 Windows 95)下运行的程序。它可以从 DOS 分区将 Linux 内核加载到内存中。因为它从硬盘加载 Linux 内核,所以仍然有可能 8GB 障碍会导致问题,但前提是您的 Windows 分区大于 8GB 并且几乎已满。在撰写本文时,这不太可能发生,但谁知道呢——下一个版本的 Windows 本身可能会占用那么多空间。

坦率地说,我不建议 Linux 新手使用 Loadlin,因为它可能很难正确配置。如果您确实必须使用它,Linux 文档项目提供的优秀的 Loadlin + Win95 Mini-HOWTO 文档应该可以让您启动并运行。

结论

尝试 Linux 并不意味着您必须购买一台全新的计算机,甚至一块新的硬盘。只需稍加努力,您就可以在学习 Linux 的同时运行 Linux 和 Windows,而不会丢失任何数据或生产力。我认为您会发现这是非常值得的。

资源

Vince Veselosky 是佐治亚州亚特兰大地区的一位计算机顾问,主要从事 Microsoft 操作系统的技术支持工作。他的生活使命是在 2000 年之前掌握 Linux。当他不使用计算机时,他正在寻找一位新女友。潜在的女友和其他人可以通过电子邮件 vincevski@geocities.com 与他联系。

加载 Disqus 评论