荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: netlife (漂游), 信区: Microsoft
标  题: 探索多系统共存———兼谈BootStar的使用
发信站: 荔园晨风BBS站 (Sun May 27 19:20:29 2001), 转信

探索多系统共存———兼谈BootStar的使用

  编者按:在网上各论坛经常看到有网友提出这样的问题:“Windows
98与Windows NT4.0如何共存?” 、“Windows 98与Linux如何共
存?” 、“Windows 98与DOS6.22如何共存?” 。虽然所遇到的具
体情况不同,但归根结底都是属于“在不同分区格式的情况下让多系
彻泊妗钡奈侍狻5比唬憧梢杂胁恢挂桓鲇才蹋恍枰谢籅IOS中的
引导顺序而不用借助任何第三方软件即可实现。但对于只有一个
硬盘的朋友来说,如果仅仅是为了多系统共存就买硬盘、倒还不如拿
这笔钱去扩内存呢。本文拟从硬盘分区的基本原理和操作系统的引
导机制入手,分别针对单硬盘和多硬盘用户给出一套让Windows 98
(FAT32)、Windows NT4.0(NTFS)、Linux(EXT2)、DOS 6.22
(FAT16)共存的方案。

  预备知识:MBR(Master Boot Record:主引导记录,注意和“主引
导程序”的区别)、主引导程序、分区(Partitiontable)、文件系统(包括
FAT16、FAT32、NTFS、EXT2等,注意不要同“FAT”——文件分配表混
淆)、分区引导记录(Boot)

一、 硬盘的结构及操作系统的引导机制

1.一块新硬盘的结构(如图1)
  这个结构是由低级格式化建立的,要在其上建立操作系统,需要
各操作系统的分区程序来完成。而硬盘分区表的格式对于所有PC操
作系统都是一致的,这就使得各分区程序有了统一遵循的标准,不至
于由一个分区程序操作过的分区表别的程序都没法访问,也就使创
建一个能管理所有分区格式的程序有了可能。
  经分区程序分区后的硬盘首先会在分区表保留区建立分区表(
由于一开始制订操作系统标准的人缺乏远见以及能力所限,使得分区
表最多只能有四个),在分区表中记录分区的起止物理地址、分区
类型(如OS分区、NON-DOS分区等等)、分区是否处于激活状态
(同一硬盘上任何时刻最多只能有一个主分区可以被激活,即可用
来引导操作系统)等信息;然后会在未分配区按分区表的规定划分各分
区(如rimary分区、Extended分区)。
  分好区后的硬盘,需由格式化命令将各分区的引导记录写入各分
区的第一个扇区,此时,分区就可以被相应的操作系统访问了。
2.操作系统的引导机制
(1)加电自检后,硬盘被复位,ROM BIOS(只读输入输出系统控制芯
片)将MBR读入内存;
(2)将控制权交给主引导程序(BootStrap),检查分区表状态,寻找
激活分区;
(3) 然后由BootStrap将控制权转交给活动分区的引导记录,由引导
记录加载操作系统。

二、多系统引导思路

  了解了硬盘分区的基本原理和操作系统的引导机制,可以得出
以下结论:
  在操作系统的加载过程中,不可控制的部分是ROM BIOS将硬盘
复位并将MBR读入内存的操作;但BootStrap和分区表的内容是可以
改动的,通过BootStrap对引导过程进行有效的控制,就可以实现多
系统引导。在这里,我们可以借助第三方引导控制程序——BootStar
(简称BS,写稿时最新版为4.41)来完成。
  先讲一讲BS的工作原理(后面将介绍使用方法,此节若有不明
白之处,还请结合“三(一)3.BootStar的安装及使用”部分阅读):
1.BS首先会将引导控制程序(BootStar Bootstrap,简称BSB)写入
MBR的主引导程序部分(也就是硬盘的起始位置),目的是进行顶层
监控。
硬盘的BSB中包含两个关键性的控制信息
(1)一个是分区表(BootStar Partitiontable,简称BSP),它使
BootStar在同一硬盘上最多可以管理15个分区,而此分区表的格式是完全
懒⒌模雌渌智芾沓绦虿荒芊梦蔅SP(当然,不排除以后会有与
之相兼容的管理程序);
(2)另一个是引导映像表(Bootimage Table,简称BST),其功能
是指定启动硬盘(对于有多硬盘的用户)及活动分区,并设置其他分
区的状态(是否可见);需要注意的是:同一硬盘最多只能有四个分区
被选择,若不足四个,BST会将不足部分按NON-DOS分区填充至四个。
2.当系统引导时,BSB根据BST的设置,用BSP中的分区表信息去覆盖MBR
的原有系统分区表,找到激活分区后,将控制权转交给激活
分区的引导程序,至此,BS的引导任务完成。
由此可见,多系统引导重在对分区表有效灵活的控制。

三、多系统引导的具体实施步骤
  考虑到读者配置的不同情况,特针对以下三种情况具体给出解决
方案:
  单硬盘无系统用户:只需在一个硬盘上实现多系统引导(包括有
多个硬盘的用户),而硬盘上无任何值得保存的信息,即“可对硬盘
重新分区”;
单硬盘有系统用户:硬盘上已有系统,不愿再重装系统;
嘤才逃没?在单硬盘实现多引导的基础上,进行一些补充。
后两种情况的用户请先阅读第一种情况下的解决方案,再在此基础上
阅读相应的部分。
(一)单硬盘无系统用户解决方案
1.系统规划
前提是最少有3.2G左右的硬盘,否则装完了系统就没有多少空间可以
安装软件了。在此,仅以3.2G硬盘为例,读者不妨举一反三。
(1) Windows 98:600M(主分区)(FAT32)
(2) Windows NT 4.0:600M(主分区)(NTFS)
(3) RedHat Linux(合计500M)(EXT2)
Native:420M(主分区)
Swap: 80M(交换分区)
(4) MSDOS 6.22:100M(逻辑分区)(FAT16)
(5) 扩展分区:剩余空间
200M(逻辑分区)(FAT16)
  对于使用的文件系统,我想不必多做解释,因为这能够最有效的发
挥各操作系统的长处,也能更有效的利用硬盘空间。
  建议:由于FAT32,NTFS,FAT16之间有不便访问的问题,虽然对
于保护各系统自身有不少好处,但对于相互之间传递文件和数据
却有所不便。但Windows 98、Windows NT、MSDOS 6.22有个共同的
特点:都能访问FAT16的分区。利用这一点,可以建立一个200M左
右的交换分区,文件系统采用FAT16。通过BS我们可以做到:不论是
利用Windows 98还是Windows NT或MSDOS 6.22引导系统,都能访
问该分区,也可选择屏蔽该分区的方式启动。这样就实现了安全、
高效两不误的系统构建方式。
准备:10张格式化过的空白软盘
Windows 98:1(制作Windows 98启动盘)
Windows NT 4.0:4(制作“Windows NT安装引导盘3张+Windows
NT紧急恢复盘1张”)
RedHat Linux 5.1:1(制作Linux引导盘)
MSDOS 6.22:1(制作DOS启动盘)
BootStar 4.41:1(制作可启动的BootStar软盘)
PQMagic 4.0:2 (制作PQMagic引导盘及恢复盘)
2.系统安装
需要注意的硬件问题:
!!!由于涉及到BIOS的问题,安装BootStar后可能会存在以下
硬件问题(主要针对ASUS的P2B主板),但都不会造成损失。
a.“Runtime Error 158”
解决办法:卸载BootStar。
b. 在安装BootStar之后系统无法再引导,也无法从软盘引导
解决办法:
1)进入BIOS,修改CMOS中的启动硬盘的类型:“LBA”-->“Normal”,
“Cylinder” -->100,并记下原信息;
2)从BOOTSAR软盘引导;
3)卸载BOOTSTAR;
4)将原信息写回CMOS。
以上问题,通过升级BIOS(ASUS网址:http://www.asus.com.cn )
也许可以解决,读者也可访问http://www.bootstar.com获取最新信息。

需要注意的软件问题:
!!!由于NT、Linux自身都提供系统引导管理程序(分别为NT
Loader和LILO,即本身会指定本系统的启动分区的位置(配置文件分别
保存在Boot.ini和Lilo.conf),而我们并未采用,因此在进入NT
和Linux之时,可能会出现无法找到启动分区的错误。解决办法分别注明
在各系统安装结束后的“补充部分”。
(1)安装Windows 98
用Windows 98引导软盘(或引导光盘)启动,运行FDISK命令建立
一个600M的FAT32主分区,在运行FDISK后会出现以下提示:
---------------------------------------------
Do you wish to enable large disk support (Y/N)...........? [Y]
---------------------------------------------
如不需要建立FAT32分区则选“N”,否则默认为建立FAT32分区。
建立完FAT32主分区后,剩下的空间切记不要分配(剩余空间将以
“Freespace”的形式存在,以留待其它操作系统使用),然后在
FAT32主分区上安装Windows 98,安装过程中另创建一张Windows
98启动盘。
Windows 98安装完毕后,在Windows 98下安装PQMagic(V4.0,
其基本用法可参看《计算机应用文摘》第4期),安装过程中按PQMagic
安装程序的要求创建PQMagic引导磁盘两张,以便PQMagic操作失
误后对原系统进行恢复。
(2)安装Windows NT 4.0
准备工作:在Windows 98下插入Windows NT的安装光盘,用Windows NT
光盘上的命令“WINNT/OX”制作Windows NT 安装引导软盘
(3张)。
进入PQMagic,如果您正确完成了上述操作,此时应该会出现(如图2)
界面:
选择“Wizards”(向导)-->“Prepare for new operating system”
(为安装新的操作系统作准备)-->“Next”-->“Advanced”(高级选
项),会弹出以下对话框:
将所有复选框的“√”都去掉(以便只从Freespace中为新系统分配空
间,不至于打乱原系统盘的格局)-->“Close”-->“Next”-->选择
欲安装的操作系统(Windows NT)-->选择欲使用的文件系统类型(NTFS)
-->设定欲为NT分配的硬盘空间(600M)-->设置卷标。完成以上操
作后,用“Apply The Changes”使改动生效(当使用“Apply The
Changes”时,PQMagic,会根据所进行的操作来确定是否需要重启动
以便生效),改动生效之后重新启动计算机。
再进入PQMagic,可以看到Windows NT的NTFS主分区已创建好了:
在“NTFS”分区上单击鼠标右键,选择“Advanced”-->“Set Active”
(将分区激活),再次使用“Apply The Changes”命令使改动生
效。
最后用NT安装引导软盘启动安装NT4.0。安装过程中,Windows NT安装
程序会要求选择“将WINNT安装于哪一个分区”,此时选择专
为NT创建的NTFS分区即可。
补充部分:安装“完全”成功后,直接进入Windows NT,并在Windows
NT的启动分区下找到Boot.ini文件,去除其“系统、隐藏”属性,
做如下修改:
---------------------------------------------
[boot loader]
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT"
---------------------------------------------
所修改的部分为“partition”后的数字,请将原有的数字改为“1”。
修改完成后,还原Boot.ini文件的“系统、隐藏”属性。
您还会发现一个问题——无法进入Windows 98了,而剩下的工作
还得在Windows 98下完成。请用Windows 98的启动软盘来引导,使用软
盘上的FDISK命令来激活Windows 98所在的FAT32分区,重启动便
可进入Windows 98。
(3) 安装RedHat Linux 5.1
首先需要确定安装Linux的方式,如需用软盘引导安装,则创建
Linux BOOT盘一张,如用光盘直接引导安装,请确定主板支持CDROM
寄J健?
创建Linux分区的方法同NT一样,但创建好的只是Linux
Native分区,还必须创建Linux Swap分区方可安装Linux,创建方法如下:
进入PQMagic,在剩余的Frees-pace单击右键,选择“Create”(创建分
区) ,按图5设置即可:
在“Linux Native”分区上单击鼠标右键,选择“Advanced”-->
“Set Active”(将分区激活),使用“Apply The Changes”命令使改动生
效。
改动生效后,用Linux引导软盘或引导光盘引导安装Linux(具体安装方
法请参阅本刊第4、5期及《新潮电子》第五期)。
需要注意的是,在安装LILO(Linux的引导管理程序)时,会弹出以下对话框:
这是要你选择将LILO引导管理程序写入何处,因为我们将使用BootStar
管理系统引导,在此就“不要”将LILO写入MBR,选择“First
sector of boot partition”。
补充部分:安装完成后,进入Linux,在/etc目录下找到lilo.conf文件
并做如下修改:
---------------------------------------------
boot = /dev/hda1 ; (如果是IDE接口的硬盘则修改此行)
boot = /dev/sda1 ; (如果是SCSI接口的硬盘则修改此行)
---------------------------------------------
所修改的部分为“hda/sda”后的数字部分,请将原有数字改为“1”。
对于在第n(n=2、3、4)个硬盘上安装Linux的用户来说,
“dev/”后对应的文字应分别是“hdb/hdc/hdd”(Linux表示硬盘序
号的特殊方式,a=1、b=2、c=3、d=4),也只做数字部分的修改即
可。
修改完成后,用Windows 98启动软盘引导,仍将FAT32分区激活,
启动Windows 98。
至此,硬盘上已安装三个使用不同文件系统的不同操作系统,且都
为主分区,而为建立逻辑分区产生的 EXTENDED分区也占用一个主
分区表,主分区的极限(4个)已经达到,剩下的MSDOS 6.22就建立
在逻辑分区上,其引导用软盘可以很好地实现。由于文件系统不兼
容,在Windows 98下时,NT及Linux(包括Native和Swap分区)分区
都不可见,仍然只有一个C盘。
(4) 安装MSDOS 6.22
首先在Windows 98下进入PQMagic,在剩余的Freespace上单击右键,
选择“Create” ,按下图设置即可:
创建成功后,PQMagic的主窗口中显示:
此次重启动后会发现多了一个“D:”盘(因为FAT32能和FAT16兼容),
将MSDOS 6.22的文件全部释放至D:\DOS目录下,再制作
MSDOS 6.22的启动软盘(应能驱动光驱和声卡)。另外,为了免去
不断读取软盘上COMM-AND.COM文件的烦扰,可在软盘的
AUTOEXEC.BAT中加上这样一句话:“SET COMSPEC=C:\DOS\COMMAND.COM”
(没错,就是C盘,因为一旦引导DOS6.22,其它
分区都应统统设为“不可见”(INVISIBLE)。同时,需在CONFIG.SYS
和AUTOEXEC.BAT中加载的命令和驱动程序都应COPY至硬盘
嘤Φ淖幽柯枷拢员憬谑∑舳奔洹?
这样,系统安装就完成了,
至于这几个系统如何安装,不在本文的讨论之列,读者可参考相应的文章。
3.BootStar的安装及使用(此部分请结合“二、多系统引导思路”
中的BS工作原理部分阅读)
BS包含两个可执行程序,BSWIN为Windows版本、BSDOS为DOS版本
(也可在Windows下使用),两者的使用方式完全一样。我们以在
Windows 98下使用BS为例进行讲解。
(1) 第一次运行BS时,会提示您进行安装(将BSB写入第一个硬
盘的原MBR区)及备份原有MBR(默认为备份至软盘上);
请选择“是”,并将BS的所有文件COPY至备份原有MBR的软盘上。
同时,该软盘应能引导Windows 98,以便将来能够恢复系统原有设
置。下图注释了BS的基本操作(因快捷工具栏可实现所有操作,在
此仅对其进行介绍):
注:“Edit”及“File”组件的操作对象随BS中打开的子窗口(BST、
BSP等不同窗口)不同而发生变化。
(2) 安装了BS后,第一步要做的是建立BST;
BS会默认建立四种启动方案
可在此基础上对原有方案进行编辑(在欲编辑的条目上单击鼠标右键,
会弹出“①”菜单)。选择“Edit”后,可对方案进行编辑,方
案设置依照现有的系统配置和个人的喜好:
编辑结束后在“BST窗口”置前的情况下,选择快捷工具栏上的保存
按钮将启动方案保存下来。
启动方案设置完成后,可通过“启动属性设置”来设定“启动界面”,
“启动等待时间”,“BootStar的操作密码”(请保存好该密
码,密码一旦丢失,系统数据将难以再现)等“个人爱好”设置。
需要注意的是,一旦安装了BootStar,就不要再使用PQMagic、FDISK
之类的硬盘分区程序或其它的引导管理程序(否则会造成数据永久
性的损失),如果一定要使用,应先将BootStar卸载,使用完相应的
程序之后再安装BootStar。
(二)单硬盘有系统用户
此部分中如未说明,请参照“ (一)单硬盘无系统用户”的相应部分。
思路:由于已有一个系统,在不影响原有盘符分配的情况下,应紧接原
系统盘创建新系统所需的主分区。
(1)您首先也得做系统规划,在安装了PQMagic之后,根据规划调整硬盘
空间,将WIN98不使用的硬盘空间统统释放出来(具体操作方法
请参见《计算机应用文摘》第4期“硬盘分区精灵Partition Magic”
一文);
(2)将释放出来的Freespace全部合并至硬盘的第一个主分区;
(3)再通过PQMagic的“Resize”功能将Windows 98不用的空间从C盘
释放出来。
经过上述操作后,形成的分区情况就同 (一)中Windows NT 4.0安装
之前的情况达到了一致。接下来的工作就完全可以按(一)的相应
部分进行了。
(三)多硬盘用户
这里所讲的多硬盘用户是指将上述四个操作系统至少安装在两个不同
硬盘上的用户。就是说,如果您有多个硬盘,但只将系统安装在一
个硬盘上,就不需要阅读此部分。
思路:由于有两个以上的硬盘,可以拥有的主分区数最多可达8个,那
MSDOS 6.22也就可以安装在硬盘上了。
千万要注意的是:当用指定硬盘启动时在其之前的硬盘不得有可视分区,
否则系统引导恐会出错。例如:您指定用第二(三)个硬盘启动
NT,则第一(一、二)个硬盘上的主分区必须全部设为“不可视”,
方能正常加载系统。
虼耍诠婊低呈保σ源宋曜?“各操作系统所需使用的分区所
在硬盘不在该操作系统所在硬盘之前”。如果犯了这样的错误:
“在第二个硬盘安装NT(DOS/Linux),却在第一个硬盘建立了NTFS
(FAT16/Linux Swap)逻辑分区。”那当您加载NT(DOS/Linux)
时,为其建立的逻辑分区就形同虚设了。
如果您已经看到这里,我们也就该说再见了。本文对“多系统引导方
法”的描述也许还不够具体,但此类问题确实存在很多不确定的因
素,笔者希望通过本文,能让您拥有一整套解决此类问题的思路,给
您以猎枪,而非仅仅是干粮。换句话说,如果您有了思路,那再有
诸如Unix、Netware之类操作系统的共存问题也就不难解决了(当然,
不同的操作系统需要注意的方面不尽相同,应灵活处理)。也可以
不使用本文所介绍的软件和方法,根据自己的需要和条件量身定制。
文中所讲述的软件可以在以下地址下载:
BootStar V4.41
ftp://ftp.wx.js.cn/software/system/sys-disk/bootstar.zip(直接下载)
PQMagic V4.0
http://www.powerquest.com/pm/en/4_00/pmupdate.htm(进入页面搜索后下载)

--

--
                     Wellcome to my FTP FTP://192.168.48.13
                         提供光盘刻录服务
                 -----------------------------------------------
                      数据光盘  音乐光盘  视频光盘  光盘复制
                   每张15元,包括700M光盘。多刻的价格可以商量:)

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.48.13]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店