引導串是在系統引導時的命令行指定的傳遞給核心和設備驅動程序的參數。引導串在系統安裝和運行時一般情況下可用其缺省值,因而常常忽略了它的存在和作用,在不能使用其缺省值時,其作用便顯現出來了。
系統啟動時,引導程序在內部執行某些引導串,然後裝載一個獨立運行的程序並將命令行指定的引導串傳遞給命令程序(通常是UNIX的系統內核)。傳遞給內核的引導串稱為內核參數,用來設置內核的內部配置,例如決定root、dump和swap設備。
一些系統必須使用引導串才能成功地安裝或引導,有些系統還會需要SCO安裝介質上沒有提供的附加驅動程序。下面列出部分系統安裝和運行時經常用到的引導串,並給出一些使用范例。
一、在安裝過程中通常可用的一些可選的引導串
1. 要將系統結構校驗設置為disable,可用:mcheck.disable
2. 要避免安裝程序搜索系統中PCI 總線有關硬件的信息,可用:pci.bios32
3. 要避免系統掃描附加硬盤驅動器的總線,可用:scsi.noscan
4. 要避免系統掃描硬盤驅動器的在IDE總線上的ATAPI接口,可用:wd.noscan
5. 要裝載非安裝介質部分的特殊驅動程序,可用:link=
;
注意:在需要鏈接進附加驅動程序時,必須在軟盤上有BTLD (Boot Time Loadable Driver) 格式的驅動程序。
6. 要連接多個驅動程序,可用:link=”driver driver”
例如:defbootstr link=”alad ida” 或restart link=”alad ida”
7. 在OpenServer 5.x.x中指定SCSI硬盤的位置,可用:Sdsk=;(0,0,0,0)
其中”driver”為主適配器的名稱,(0,0,0,0)為(adapter-number,bus-number,SCSI-ID,lun)。當adapter number為“0”時是指使用這個driver的適配器是第一個適配器,為“1”時指使用這個driver的適配器是第二個適配器。lun :logical unit number 邏輯單元號。
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=;
例如,在某些Compaq系統上,可能需要輸入引導串:
defbootstr disable=ida 或 restart disable=ida
也在一個引導串中將多個驅動器設置成disable。如:
defbootstr disable=”ida,wdha” 或 restart disable=”ida,wdha”
二、在系統引導時常用的一些引導串(/etc/default/boot)
傳遞給內核的參數一般具有下列形式: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_12 12位DOS文件系統
dos_16 16位DOS 文件系統
dos_32 32位DOS 文件系統
dos_ext DOS 擴展分區
nt|os2|os2_hpfs NT,OS/2,或OS/2 HPFS文件系統;
bootos 並不能區分這幾種文件系統類型
Unix UNIX 系統文件系統
Xenix XENIX 文件系統
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
該引導串並非對所有筆記本電腦都需要。對有的筆記本電腦,抽出其電池,再用交流電源引導系統時,不輸入該引導串也行。