一种微型计算机实现多重引导的方法

 
【摘要】 具体描述了在一台富士通 FMV-253L 笔记本上安装 RedHat Linux 9.0 的方案,这一方案不仅因为硬件条件的限制需要采用 Linux 的本地硬盘安装,而且要保证不能破坏原有的引导程序和 Windows 2000 操作系统,所以必须在完成安装后,手工修改原有系统的引导过程而实现多重引导,其中阐述的实验原理和方法可以在各种关于系统安装、维护的场合加以应用。
关键词】多重引导、主引导记录、 MBR ntldr boot.ini Linux 安装
  
一、引言
在微型计算机系统应用中,特别是在操作系统研究、教学机房的管理等工作中,经常要在同一台微机上安装多个操作系统,实现多重引导。例如同时安装 DOS 、不同版本的 Windows Linux 等,尤其是在先安装了功能较强的系统引导程序后,却又要安装功能较弱的系统引导程序时,抑或是安装条件有限制且不能影响原有系统时,都需要使用者深入理解不同操作系统下引导程序的工作过程,并且能够灵活运用这些基础知识和相关的工具程序进行调试、改造和修正以实现多重引导。
二、微型计算机的引导过程
从微机上电一开始,首先是 CPU 进行复位,寄存器 CS 的初值被置为 0FFFFH ,寄存器 IP 被初始化为 0 ,导致 CPU 从主存的 0FFFF0H 处开始执行 BIOS 程序。
BIOS 结束时要从硬盘上加载主引导纪录 (MBR —— Main Boot Record) ,硬盘 MBR 是位于硬盘 0 号柱面、 0 号磁头、 1 号扇区 ( 主引导扇区 ) 的一段 512 字节的程序,不同的操作系统所设计的 MBR 有所不同,此后的引导过程也就有所不同。
对于 Windows NT 系列的操作系统来说, MBR 结束时要加载活动分区上引导扇区的内容 ( 一般被称为引导记录 BR) 。如果主活动分区为第一分区的话, BR 是位于 0 号柱面、 1 号磁头、 1 号扇区开始的一段程序,一方面它包含 BIOS 参数块 (BPB —— BIOS Parameter Block) 向操作系统提供磁盘驱动器 ( 硬盘 ) 的结构和格式信息,另一方面它将从磁盘根目录读取 ntldr 文件。 ntldr 运行时将读取根目录下的 boot.ini 文件,显示引导加载菜单。用户如果选择引导 Windows NT 系列的操作系统则运行根目录下的 ntdetect.com 程序进一步实现操作系统的启动,否则运行根目录下类似 bootsect.dos 的引导记录文件,让该文件去启动其他操作系统。
三、一个待实现多重引导的微机环境
1 、微机硬件配置
待实现多重引导的微机是富士通 FMV-253L 笔记本,只有 b5 纸大小,低功耗,采用全美达 TM5400 处理器模块为核心,接口只设计有 PCMCIA USB LAN Speaker MIC 各一个,支持从 PCMCIA USB 接口的光驱、软驱启动,支持从网络启动。
2 、操作系统安装情况
该笔记本上已安装好 Windows 2000 操作系统,同时在一个隐藏分区中安装了 Windows 98 的基本内核和一款称为“还原精灵”的软件,由“还原精灵”创建了 MBR ,并对系统作了备份,支持起动时按 F11 激活“还原精灵”进行系统恢复。
3 、硬盘及其分区情况
该笔记本硬盘为 10G ,分区情况是:第一分区为 DOS 主引导分区,容量为 3.6G ,但不是活动分区, Windows 2000 就安装在该分区上,并把它称为 C ,采用 FAT32 文件系统;第二分区为扩展分区,容量为 4.9G ,其上创建了一个容量为 1.9G 逻辑分区,采用 FAT32 文件系统被 Windows 2000 称为 D ,其余 3.0G 空闲留待安装 Linux 使用;第三分区为 DOS 主引导分区,容量为 1G 多,隐藏活动,安装有 Windows 98 的基本引导内核和其他相关软件,比如在此分区包含 PQMagic Ghost Diskgen 等,开机激活还原精灵就是引导到这一分区,并且称为 C Windows 2000 所在分区不可见 。另外以上硬盘的分区情况也是用这里的 PQMagic 调整出来的。
4 、需求目标
现因工作需要在该笔记本上安装 RedHat Linux 9.0 ,但是没有外接的光驱、软驱等设备,没有支持网络安装的服务器,又要保护原有的系统软件及引导程序,下面就是在利用 RedHat Linux 9.0 支持的本地硬盘安装方案实现多重引导的方法。
四、安装RedHat Linux 9.0
1 、通过互联网连接到 http://www.redhat.com/download/mirror.html ,下载 Red Hat Linux9.0 的镜像文件保存在 D:/
2 、利用 WinRAR 等解压软件从第一镜像文件中提取 dosutils 文件夹及其全部内容到 D:/
3 、重新启动机器,按 F11 激活还原精灵,选择 F1 →高级设置→转入 DOS(F7) 、这时启动到 DOS 提示符,隐藏分区称为 C ,原来安装有 Windows 2000 C 不可见。这也正是要把 Linux 的安装文件保存在 D 的原因。
4 、切换到 D 进入 dosutils 文件夹运行 autoboot.bat 文件,自动重启开始安装 RedHat Linux9.0 ,这里需要注意的是 autoboot.bat 不能在 Windows 2000 的命令提示符窗口中正常运行,所以需要利用还原精灵启动到 DOS
5 、关于 RedHat Linux 的详细安装过程这里不再重复,但是为了保护原有的操作系统和引导模式需要特别注意两步关键的操作: (1) 进行磁盘分区设置时,选择手工分区,且只能使用扩展分区中的预留的空闲空间; (2) 进行引导装载程序配置时,默认的 GRUB 引导装载程序部分将会被安装在硬盘的主引导扇区,一定要选择“改变引导装载程序”按钮进行修改,即改装到扩展分区上安装 Linux 的逻辑分区上,这样可以保证“还原精灵”创建的 MBR 不会被破坏。
五、修正BOOT.INI实现多重引导
通过以上步骤成功安装 Linux 后重新启动并不能实现 Linux 的引导,这是因为 GRUB 安装到了逻辑分区的原因,为了能够成功启动 Linux 还需进行以下修正操作。
1 、再次利用还原精灵启动到 DOS ,运行 Diskgen 选择“查看→查看扇区”功能把 Linux 所在分区的引导扇区的内容保存成 D:/ 下的一个文件,例如可取名为 bootsect.lin ,这就是前面安装 Linux 时要在主引导扇区创建的 MBR ,它是构成 GRUB 的一部分。
2 、重新启动机器运行 Windows 2000 移动 D:/ 下的 bootsect.lin C:/
3 、编辑 C:/boot.ini ,文件末尾添加类似 C:/bootsect.lin=”RedHat Linux 9.0” 的一项内容。
注意:这里的 boot.ini 可能是 RHS 属性,要先行修改再编辑。采用 bootsect.lin 居于 D:/ 而不移动到 C:/ ,同时 boot.ini 中添加 D:/bootsect.lin=”RedHat Linux 9.0” 的方案是不行的,因为这是要利用 Windows 2000 ntldr 来加载 Linux ,而 ntldr 只认可主引导分区下的操作系统引导记录 (BR) 文件的原因。
另外要注意的就是: bootsect.lin 是主引导记录 (MBR) 文件,还不完全等同于概念上的引导记录 (BR) 文件,但是缘于以上安装方法它却存在于引导记录 (BR) 的位置,在 boot.ini 中也是把它当作引导记录文件来用了,而且是因为 GRUB 的强大功能才实现系统成功引导的。但是同样的情况下,如果要把 MSDOS 安装到逻辑分区,象 Linux 一样只作简单的处理就不可行了。
4 、重新启动,则可发现 Windows 2000 RedHat Linux 9.0 两个系统启动选择菜单,这是 ntldr 读取 boot.ini 产生的,而且选择 Linux 菜单项,紧接着还会提供一个由 GRUB 生成的系统启动选择菜单,其中包含 RedHat Linux 9.0 DOS 两个系统启动选择菜单,如果选择其中的 DOS 菜单项还会返回 Windows 的系统启动选择菜单。
六、总结
操作系统的引导过程都是分阶段来完成的,一般在某一阶段都设计有加载其它操作系统的方案, Linux 采用开源组织的 GRUB 是这样,微软的 Windows 系列也是这样,而且这样分阶段的引导过程往往与硬盘的结构和格式化信息密切相关。以上实例正是以分析 Windows NT 系列的操作系统的引导过程为主,运用硬盘的结构原理,在有限制的前提条件下完成了 Linux 系统的安装,实现了多重引导。其中对基本原理应用的方法和实验操作的方法,可以根据实际情况加以变化,用来指导其它环境条件下的多重引导实现。

《电脑知识与技术》学术交流 2007年8期

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值