Unix既可以从硬盘又可以从软盘上引导。两者都是由BIOS装载硬盘或软盘的引导扇区,由引导扇区来装载执行核心引导程序-Boot程序。本文简要介绍Boot程序的引导过程。
Boot的内部命令
Boot共有“?”、“systty”、“mem”、“dir”、“link”共五个内部命令。Sco Unix 5.0以上还有“debug”、“version”两个命令。
1)?:在命令行上输入“?”,来显示Boot目前可以装载Unix核心的设备,例:
fd:软盘,hd:硬盘。fd(61):对应于能引导的第一个软盘,hd(40):对应于能引导的第一个硬盘。如果是sco-Unix 5.0以上的版本,还可以从Ramdisk.net 上启动Unix。
2)systty=0或1:
在系统引导时,由hdboot1来确认主显示适配器和com1的有效性。在缺省方式下,控制台位于主适配器上,如果主适配器出现故障不可用,则系统自动把com1口作为主控制台。通过systty参数来修改位置,systty=0:控制台位于主适配器上,systty=1:控制台位于com1口上。缺省的通讯参数为:9600波特率,8位,1停止位,无校验。
3)mem=[range] [/flag]:
一般来说,Boot能够检测到所有的系统内存,可以用“mem=/p”来显示内存情况。如果Boot检测内存有误,或出于特殊需要,可以用此参数来调整系统可用内存。这是Unix系统的一大特点。
range:为内存范围
格式为:
起始内存?终了内存
终了内存?起始内存/d
起始内存+内存大小
内存的单位用k(千字节)和m(兆字节)表示。 例:
1m?8m, 或8m?1m/d, 或1024k?8m:表示系统可用8m内存。另:
1m?5m,6m?8m:表示系统8m内存中,5m?6m内存不能使用。
flag标志,有以下几种形式:
/d: 高地址向低地址扫描。 /n:标明该段内存为非DMA方式存取,所有16M以外的内存,系统自动标为非DMA方式。 /r:专用内存段。如果该段内存为Rom Shadowing,则该段内存确定为专用段,防止被Boot和Unix核心所覆盖。除了Shadow Rom外,其它可以独立运行的程序正文段也可以放在专用段内。 /l: Unix核心正文须放在16m内存以下。 /p: 显示Boot初始检测到的内存情况,或经过mem参数调整后,再次验证到的内存情况。
需要说明的是,以上参数调整必须是1M以外的内存。如果内存中存在内存孔穴,孔穴以外的内存Boot不能检测到。在许多机器上,Unix不能很好地处理Rom Shadowing问题,必须在机器的设置中禁止掉。有时候,我们可能发现有些机型的机器存在Rom Shadowing,Unix仍能正常工作,是因为Boot引导时自动地把机器的Rom Shadowing禁止掉了。
4)dir: 查看当前Boot设备上的文件系统的目录情况。
5)link: Unix核心引导时装入有关设备的驱动程序(称为BTLD程序)。
格式1:在Boot命令提示符下,键入“link”后回车,系统提示:
what packages do you need linked into the system,
or q to quit?:
在“:”后,可以输入BTLD名称,多个BTLD之间用空格隔开,再根据系统提示,插入相应的BTLD盘。
格式2:在Boot命令提示符下,键入:link=“BTLD名1 BTLD名2 …”
BTLD名之间用空格隔开,并且括在引号内。
Boot的外部可执行程序
Boot的外部可执行程序是指能够脱离Unix核心代码,能独立运行的程序。一般来说,这些程序是用汇编编写的机器码,比如:dos,bootos等。
在Boot提示符下,输入dos或bootos dos就可以使系统转到dos操作系统下。除了DOS外,可启动的系统有:各种版本的DOS系统(dos_12、dos_16、dos_32、dos_ext)、Windows、Novell、NT、OS2、OS2_hpfs、picx、xenix、ccpm及Unix等。其格式为:
bootos sysname
(其中:sysname 为上述系统名称)
|