Windows 版 (精华区)
发信人: fzx (那一年七月), 信区: OS
标 题: 探索多系统共存---兼谈BootStar的使用
发信站: 紫 丁 香 (Tue Jul 20 08:02:41 1999), 转信
编者按:在网上各论坛经常看到有网友提出这样的问题:"Windows 98与Windows
NT4.0如何共存?" 、"Windows 98与Linux如何共存?" 、"Windows 98与DOS6.22
如何共存?"
。虽然所遇到的具体情况不同,但归根结底都是属于"在不同分区格式的情况下让
多系统共存"的问题。当然,你可以有不止一个硬盘,只需要切换BIOS中的引导顺
序而不用借助任何第三方软件即可实现。但对于只有一个硬盘的朋友来说,如果仅
仅是为了多系统共存就买硬盘、倒还不如拿这笔钱去扩内存呢。本文拟从硬盘分区
的基本原理和操作系统的引导机制入手,分别针对单硬盘和多硬盘用户给出一套让
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操作系统都是一致的,这就使得
各分区程序有了统一遵循的标准,不至于由一个分区程序操作过的分区表别的程序
都没法访问,也就使创建一个能管理所有分区格式的程序有了可能。
经分区程序分区后的硬盘首先会在分区表保留区建立分区表(由于一开始制订
操作系统标准的人缺乏远见以及能力所限,使得分区表最多只能有四个),在分区表
中记录分区的起止物理地址、分区类型(如:DOS分区、NON-DOS分区等等)、分区是
否处于激活状态(同一硬盘上任何时刻最多只能有一个主分区可以被激活,即可用
来引导操作系统)等信息;然后会在未分配区按分区表的规定划分各分区(如:Primary
分区、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个分区,而此分区表的格式是完全独立的,即其他分区管理
程序不能访问BSP(当然,不排除以后会有与之相兼容的管理程序);
(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引导模式。
创建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(进入页面搜索后下载)
远望资讯版权所有
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: heart.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:204.574毫秒