您的位置:首页 > 理论基础

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

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

《电脑知识与技术》学术交流 2007年8期
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息