设置多引导机器(带 linux 和其它操作系统)
T. W. Burger
Thomas Wolfgang Burger Consulting 拥有人
2000 年 12 月
内容:
开始之前
1. 备份所有内容
2. 创建引导软盘
3. 准备驱动器
4. 配置 OS 选择
基于硬件的选项
结束语
参考资料
关于作者
本文作者最喜欢的操作系统是 linux,但有时在进行客户机工作或需要访问旧的数据格式时,则需要使用其它操作系统。在旧操作系统之上安装新的操作系统然后再切换回来是一个艰苦的过程。另外,用一台全新的计算机来专门安装仅偶尔使用的 OS 对于大多数人来说也不现实。解决方案是使计算机可以在刚启动机器时从菜单中选择引导任何一个操作系统。Linux 极适合该任务,仅需少许更改即可以在同一台机器上安装一个或多个其它操作系统。
大多数使计算机可以引导多 OS 的指导都类似于 Steve Martin 有关如何获得一百万美元且不用负费的笑话。(第一步:获得一百万美元)。很多规划步骤和初步要求都被忽略或只略微提及。本文将解释在安装多引导系统之前所需的所有规划和设置。
开始之前
要在一台计算机上安装多个操作系统,必需理解硬盘组织的细节。熟悉引导过程、硬盘驱动器格式和分区的读者可以直接跳到第 1 步。
什么是分区?
分区是驱动器的物理部分,可以将分区逻辑格式化成所期望的文件系统,也可以用它来创建进一步的逻辑部分。有三种类型的分区:主、扩展和逻辑。一个驱动器上最多可以有四个主分区。主分区不能被分成更小的单元,它主要用于安装操作系统。扩展分区也是主分区。它与主分区的区别在于:它具有可以被分成逻辑分区的扩展功能。这允许将驱动器组织成超过四个主分区限制的多个逻辑部分。可以逻辑格式化每个分区以支持特定操作系统所需的文件系统。
引导过程
“引导 (boot)”过程来源于“自举(boot strap)”一词。它在概念上是一种靠自己的努力获得成功的操作。实际情况是,当打开计算机时,CPU 运行植入到系统 ROM BIOS(只读内存基本输入输出系统)的启动代码。该启动程序包含测试计算机和设置要使用硬件的代码。其最后一步是装入和运行存储在第一个驱动器的第一个扇区上的程序。这是主引导记录 (MBR),该程序是主引导程序 (MBP)。MBP 查看主分区在哪里以及哪一个主分区是活动分区。活动分区具有其自己的引导记录,并包含一个设计成启动位于该分区上的操作系统的程序。通常将分区引导记录称为分区引导超级块。
第 1 步:备份所有内容!
这一点至关重要:在对引导过程做重要的配置更改时,花一些时间备份驱动器上所有的文件。后面的步骤将更改操作系统装入计算机的基本方法。一个错误就可以导致无法访问硬盘,并且可能无法恢复文件。如果有足够的磁盘空间,最好备份整个驱动器映象。如果空间不够,则至少要备份无法轻易再生的数据文件,如简历、图形、数据库和记帐文件。
第 2 步:确认旧的和新的 OS 媒介并创建引导软盘
在备份了所有重要文件之后和更改之前,确保手头有完整的现有操作系统和新的操作系统源盘。这包括更新、补丁、实用程序和服务发行软件。它们都应该在易于访问的媒介上。易于访问意味着无需复杂的驱动程序设置就可以装入。软盘是最佳选择。最另人沮丧的莫过于安装到一半时发现软盘上的发行版文件是旧版本,而新版本却在此时无法访问的硬盘驱动器上;或者您的堂姐 Vicky 借走了最新的内核发行版 CD,在她野营回来之前您会一直陷入在困境之中。
在改变硬盘之前,请确保手头有具有在发生问题时恢复驱动器所需实用程序的引导软盘。当新的 linux 用户要在安装有 windows 95 的机器上安装 Linux 时常会出现问题。Linux 安装过程开始进行得很好,但当提问用户是否要安装 LILO(Linux 装入器程序)时会出现问题。用户没有将 LILO 放在新的 Linux 逻辑分区超级块中,而是放在主引导记录中。当重新引导计算机时,Linux 和 Windows 95 都不可用。解决方案是使用具有 FDISK.EXE 的 WIN95 启动软盘, 从该软盘启动之后,发出命令 FDISK /MBR 来从 LILO 所作的副本恢复主引导记录。
第 3 步:重新分区驱动器
在如何安装以及安装到硬盘上的何处方面,不同的操作系统具有不同的限制。linux 可能是最适合于多引导系统的 OS。它可以从主分区和逻辑分区引导,还可以从辅助硬盘驱动器引导。在分区类型和位置方面,其它操作系统具有很有限的能力。最常见的限制是到分区超级块的开始处所允许的偏移。在某些情况下,该限制位于硬盘驱动器的第 1024 个柱面边界。这取决于硬盘驱动器的大小和类型、文件格式、计算机的 BIOS 以及操作系统本身。
某些操作系统的分区要求
操作 从主驱动器引导 引导 分区 大致 是否需要
系统 还是从逻辑驱动 超级块 格式 需要的 位于第一
器引导 边界 空间 驱动器上
linux 都可以 8 GB Linux Ext2 250 MB 否
OS/2 都可以 4 GB FAT 或 HPFS 110 MB 否
DOS 主驱动器 2 GB FAT 8 MB 是
Windows 95 主驱动器 8 GB FAT 或 FAT32* 90 MB 是
Windows 98 主驱动器 8 GB FAT 或 FAT32 175 MB 否
Windows NT 主驱动器** 8 GB FAT*** 或 NTFS 117 是
Windows 2000 主驱动器 8 GB FAT、FAT32 或 NTFS 600 MB 是
注:
* 只有 Windows 95 OEM 服务发行版 2 支持 FAT32。
** NT 只要求 NT 引导文件 NTLDR、NTDETECT.COM 和 BOOT.INI 位于主分区中。
*** NT 无法使用 FAT32 分区。
考虑到 linux 的灵活性和其它操作系统的限制,最好将 Linux 放在逻辑分区和辅助硬盘驱动器中(如果有的话)。这可以最灵活地使用其它操作系统,并允许 Linux 保留 MBR 供其它操作系统使用。
要创建或修改硬盘驱动器分区,有几个问题要注意。linux 有 FDISK 和 Disk Druid 程序。确保您拥有的是最新版本。老的版本可以导致其它操作系统无法读取分区表。新版本的 Linux FDISK 和 Disk Druid 不会导致这种问题。商业程序功能更强大,它允许对分区进行移动、更改大小、合并和重新格式化等操作,并可以创建和删除分区。最好的商业程序之一是 PowerQuest 的 Partition Magic。该程序在 Windows 和 Linux 下运行,并且几乎允许对硬盘驱动器进行所有更改,同时不影响驱动器上已有的操作系统、程序和数据。
第 4 步(最后一步):配置OS选择
有三种方法来管理操作系统的选择:
* 使用引导管理程序
* 配置由 OS 管理的双引导系统
* 使用实用程序将分区标记成活动的或手工编辑主引导记录,从而手工将OS设置为“活动”。
引导管理程序提供最大的灵活性和易用的菜单选择。该程序被安装在主硬盘驱动器的MBR中,来替换只是简单选择活动分区并从根超级块装入 OS 引导程序的 OS 引导程序。可以这样做的两个程序是 IBM 的 Boot Manager 和 PowerQuest 的 BootMagic。
可以使用linux中的LILO和Windows NT的引导装入器来创建双引导配置。可以更改OS装入器,以便当它启动时,交替选择 OS。这工作得很好并且无需购买其它软件。需要中等程度的技术知识来重新配置 OS 装入器,以交替装入操作系统。有关其它信息,请参阅参考资料。
DOS FDISK或PowerQuest PQBoot命令行实用程序可以改变活动分区属性,以便允许装入在第一个物理硬盘上选择的活动分区上的 OS。对于那些只想偶尔更改操作系统的人来说,这是很有用的方法。但它确实有限制:只能选择第一个硬盘驱动器的主分区。
基于硬件的选项
取代所有这些创建新分区和设置 OS 引导选择的复杂性的方法是重新配置计算机来从硬盘以外的其它媒介引导。大多数新式计算机都可以在 BIOS 配置中设置,以便不仅从软盘、还可以从 CD ROM 驱动器和 SCSI 设备引导。在这种方式下可以运行哪些程序具有某些限制,并且常常有技术困难。
linux和其它通过CD ROM发布的操作系统可以从CD ROM驱动器引导,但具有一些限制。没有可以从CD ROM引导的Windows版本,因为它是只读设备。
软盘引导比较缓慢,但很灵活。如果您通常运行 linux,但偶尔也需要使用 Windows NT,则可以通过在 NT 中格式化一张软盘并将 NT 引导文件 NTLDR、NTDETECT.COM 和 BOOT.INI 复制到该软盘来创建 NT 引导盘。当计算机引导时,它将找到 NT 分区并装入 NT。
如果能负担得起并且计算机支持,则一个极好的方法是从如Iomega Zip或Jazz驱动器这样的大容量可移去媒介引导。只需更改可移去磁盘就可以更改 OS。
可交换硬盘驱动器是基于硬件的OS选择的最高级别。缺点是成本十分昂贵。
结束语
在引导期间从两个或更多个操作系统进行选择的能力将节省第二台机器运行另一操作系统的成本或删除再安装新的 OS 所需的时间。更改机器以允许选择多个操作系统牵涉到许多工作:更改硬盘驱动器的分区、添加或更改软件以及更改主引导记录。这种软件方法很复杂,但是经过正确规划还是可以管理的。它还具有价格低廉甚至免费的优点。
使用可移去或可交换媒介的硬件解决方案很简单,但会很昂贵。从软盘或CD ROM进行引导的方法比较慢并具有限制。
参考资料
* 修改 NT 装入器:
o "Tips on how to install Windows NT and linux on the same System"
o "Dual Booting Windows NT and linux"
o "LILO loader from NT bootmenu"
* 修改 linux 装入器 LILO:
o LILO mini-HOWTO
o Instructions for NTFS and VFAT
* 有关很好的通用参考资料以及本文所提及的其它参考资料,请参阅这个 Multiboot How To。
* developerWorks 上的 "Partition planning tips" 还有很好的建议。
Thomas Wolfgang Burger是Thomas Wolfgang Burger Consulting的拥有人。他从1978年起就一直担任咨询人员、分析人员和应用程序开发人员。可以通过twburger@bigfoot.com与他联系。