引导串是在系统引导时的命令行指定的传递给核心和设备驱动程序的参数。引导串在系统安装和运行时一般情况下可用其缺省值,因而常常忽略了它的存在和作用,在不能使用其缺省值时,其作用便显现出来了。
系统启动时,引导程序在内部执行某些引导串,然后装载一个独立运行的程序并将命令行指定的引导串传递给命令程序(通常是Unix的系统内核)。传递给内核的引导串称为内核参数,用来设置内核的内部配置,例如决定root、dump和swap设备。
一些系统必须使用引导串才能成功地安装或引导,有些系统还会需要SCO安装介质上没有提供的附加驱动程序。
下面笔者将根据自己经验,列出部分系统安装和运行时经常用到的引导串,并给出一些使用范例。
一、在安装过程中通常可用的一些可选的引导串
1. 要将系统结构校验设置为disable,可用:
mcheck.disable
2. 要避免安装程序搜索系统中PCI 总线有关硬件的信息,可用:
pci.bios32
3. 要避免系统扫描附加硬盘驱动器的总线,可用:
scsi.noscan
4. 要避免系统扫描硬盘驱动器的在IDE总线上的ATAPI接口,可用:
wd.noscan
5. 要装载非安装介质部分的特殊驱动程序,可用:
link=<driver>
注意:在需要链接进附加驱动程序时,必须在软盘上有BTLD (Boot Time Loadable Driver) 格式的驱动程序。
6. 要连接多个驱动程序,可用:
link="driver driver"
例如:
defbootstr link="alad ida" 或restart link="alad ida"
7. 在OpenServer 5.x.x中指定SCSI硬盘的位置,可用:
Sdsk=<driver>(0,0,0,0)
其中"driver"为主适配器的名称,"(0,0,0,0)"为(adapter number,bus number,SCSI ID,lun)。当adapter number为"0"时是指使用这个driver的适配器是第一个适配器,为"1"时指使用这个driver的适配器是第二个适配器。
8. 在OpenServer 5.x.x中指定EIDE(IDE)接口的CD-ROM的位置,可用:
Srom=wd(n,n,n,n)
Srom是用于CD-ROM的。
在这种情况下(n,n,n,n)代表下列含义:(IDE controller,Master/Slave,LUN,BUS)
其中n只能取值0或者1。
当IDE controller值取0时表示Primary,取1时表示Secondary。
当Master/Slave值取0时表示Master,取1时表示Slave。
对于EIDE/IDE设备,LUN和BUS的值总是取0。
例如:指定在第二个IDE控制器(secondary IDE controller)上主位置(Master position)的CD-ROM,可用引导串:
defbootstr Srom=wd(1,0,0,0) 或 restart Srom=wd(1,0,0,0)
注意:在许多情况下,当CD-ROM是IDE接口上唯一的设备时,安装时它必须在"Master"位置。不能用引导串方式指定IDE硬盘的位置,这是因为,如果是IDE硬盘,必须被设置成Primary/Master方式,这样,在系统安装过程中,该硬盘将作为主驱动器,任何其他的IDE硬盘的配置将不能工作,引导串"Srom=wd(……)"也就不会发挥任何作用。
9. 在安装期间将特别的驱动器关掉(即设置成disable,注意该驱动器必须是在安装操作系统时不需要用到的),可用:
defbootstr disable=<driver>
例如,在某些Compaq系统上,可能需要输入引导串:
defbootstr disable=ida 或 restart disable=ida
也在一个引导串中将多个驱动器设置成disable。如:
defbootstr disable="ida,wdha" 或 restart disable="ida,wdha"
二、在系统引导时常用的一些引导串
传递给内核的参数一般具有下列形式:
module=value
在这个格式中,module和value及"="都是可选的。但如果指定了value,"="就是必不可少的了;如果用了"="而其后面没有value选项,这就意味首取空值(一个空的字符串)。
缺省的module是内核。为安全起见,未知的module或非法的value通常都会导致UNIX系统内核停止运行。这将允许用户在重新引导系统时输入正确的名称或值。
1.bootos [ ? |分区号|文件系统名称]
在一块硬盘上安装了多个操作系统的机器上,最常用的引导串莫过于bootos了。实际上bootos只是UNIX的一个外部命令,可装载和运行非当前活动分区中的操作系统。
bootos ? 用于列出主硬盘上的分区号、分区活动状态、分区中文件系统的操作系统代号、各分区中所识别的操作系统类型、分区的起始和终止磁道号以及各分区的以磁道数标识的分区大小。
bootos 分区号 用于引导指定分区的操作系统。
bootos 文件系统名称 用于引导第一个包含所指定的文件系统的分区中的操作系统。文件系统名称或用大写或小写字母表示,主要有以下几种:
文件系统名称含 义
ccpm并发的CP/M filesystem
Dos任一种DOS文件系统
dos_1212位DOS文件系统
dos_1616位DOS 文件系统
dos_3232位DOS 文件系统
dos_extDOS 扩展分区
nt | os2 | os2_hpfsNT,OS/2,或OS/2 HPFS文件系统; bootos 并不能区分这几种文件系统类型
UnixUNIX 系统文件系统
XenixXENIX 文件系统
2.biosgeom[=(cylinders,heads,sectors)]
忽略存储在BIOS中的主硬盘几何参数。如果biosgeom后面不加参数,它将列出主硬盘的几何参数。
3. link [ program [ arguments ] ... ]
主要用来安装内核没有包含的设备驱动程序。也可用如下形式实现这一功能:
defbootstr link="package list"
4. systty=digit
用来指定UNIX内核使用的控制台。如果digit为0,则系统控制台为显示适配器;如果digit为1,则系统控制台为COM1口。
5. autoboot=yes或no
如果取yes,则引导程序等待TIMEOUT变量规定的时间后,按照defbootstr设置自动装载UNIX系统内核。缺省值为no。
6. timeout
指定系统自动引导前等待用户输入的时间(以秒为单位)。如果其值设为0且autoboot的值设为yes,系统启动时将自动执行缺省的引导串而不等待用户输入。
7. default_level=n
指定系统不进入单用户模式时的运行级。
8. fsckfix=yes 或 no
决定fsck程序是否自行修正root文件系统中存在的问题。缺省值为yes。
9. panicboot=yes 或 no
确定系统遇到panic时,是否重新启动;缺省值是no。
10. serial=param1, param2, ...
指定串行控制台(systty=1时)的波特率、字符位数、校验方式及停止位数。
三、引导串的使用实例
1.笔者曾在TOSHIBA Satellite 2805笔记本上用光盘安装SCO OpenServer Release 5.0.5时,从选择光驱、选择语言等设置、输入产口序列号等、选择软件产品等等直到输入超级用户口令,一直没有任何问题,超级用户口令输入完成后,系统在屏幕左下角提示:"Reading from the Install Source:"后挂起。
实际上,很多人在Toshiba Tecra和Dell Inspiration笔记本及带DVD-ROM的机器上安装SCO OpenServer Release 5.0.5时均遇到同样的问题,其原因在于使用的光驱是DVD-ROM,在安装过程进行到硬盘开始初始化时,系统内核就会不停地搜索安装设备,有时这种搜索会不停地循环,从而导致系统安装挂起。解决方法如下:
(1)重新启动安装程序
(2)在系统出现Boot:提示符时,键入:
defbootstr wd.noscan
注意,有时在某些特殊的硬件配置上安装Openserver时,也会遇到这种问题,即使使用的光驱并不是DVD-ROM。这时可根据CD-ROM和主硬盘的接口是SCSI还是IDE总线的,在Boot:提示符后输入合适的引导串:
defbootstr scsi.noscan 或 defbootstr wd.noscan
2.笔者在HP Vectra 机器上安装SCO Openserver 5.0.5,安装过程中没有出现错误提示,但是系统加电后不能启动,屏幕上出现如下错误提示:
Not a Directory
Boot not found Cannot open
Stage one boot failure
Error lodging hd(40) /boot
出现这种情况主要是因为BIOS在定位引导文件上有问题,可能是由于盘上大的柱面数或磁盘上错误的分布。解决方法如下:
(1)在系统CMOS中,将所有的DOS特性如caching、BIOS shadowing等置为disable。
(2)在Boot:提示符下输入正确的硬盘几何参数。笔者使用的机器是一个4GB的IDE接口的硬盘。
Boot:biosgeom=(8930,15,63)
(3)使用"interactive fdisk/divvy"安装操作系统,确认系统列出的磁盘统计信息,必要时进行修改。在此例中,将柱面数减1,从8931改为8930,使安装成功。
3.UNIX的引导串很多,使用时可查阅有关资料。笔者曾在Slimnote-8133TV笔记本电脑上安装SCO Openserver 5.0.5,由于该机器的电池已损坏,使用交流电源引导系统时,在Boot:提示符下要输入如下引导串才能继续启动:
apm.boot=always
该引导串并非对所有笔记本电脑都需要。对有的笔记本电脑,抽出其电池,再用交流电源引导系统时,不输入该引导串也行。
标签: