Unix既可以從硬盤又可以從軟盤上引導(dǎo)。兩者都是由BIOS裝載硬盤或軟盤的引導(dǎo)扇區(qū),由引導(dǎo)扇區(qū)來(lái)裝載執(zhí)行核心引導(dǎo)程序——Boot程序。本文簡(jiǎn)要介紹Boot程序的引導(dǎo)過程。
Boot的內(nèi)部命令
Boot共有“?”、“systty”、“mem”、“dir”、“link”共五個(gè)內(nèi)部命令。Sco Unix 5.0以上還有“debug”、“version”兩個(gè)命令。
1)?:在命令行上輸入“?”,來(lái)顯示Boot目前可以裝載Unix核心的設(shè)備,例:
fd:軟盤,hd:硬盤。fd(61):對(duì)應(yīng)于能引導(dǎo)的第一個(gè)軟盤,hd(40):對(duì)應(yīng)于能引導(dǎo)的第一個(gè)硬盤。如果是sco-Unix 5.0以上的版本,還可以從Ramdisk.net 上啟動(dòng)Unix。
2)systty=0或1:
在系統(tǒng)引導(dǎo)時(shí),由hdboot1來(lái)確認(rèn)主顯示適配器和com1的有效性。在缺省方式下,控制臺(tái)位于主適配器上,如果主適配器出現(xiàn)故障不可用,則系統(tǒng)自動(dòng)把com1口作為主控制臺(tái)。通過systty參數(shù)來(lái)修改位置,systty=0:控制臺(tái)位于主適配器上,systty=1:控制臺(tái)位于com1口上。缺省的通訊參數(shù)為:9600波特率,8位,1停止位,無(wú)校驗(yàn)。
3)mem=[range] [/flag]:
一般來(lái)說(shuō),Boot能夠檢測(cè)到所有的系統(tǒng)內(nèi)存,可以用“mem=/p”來(lái)顯示內(nèi)存情況。如果Boot檢測(cè)內(nèi)存有誤,或出于特殊需要,可以用此參數(shù)來(lái)調(diào)整系統(tǒng)可用內(nèi)存。這是Unix系統(tǒng)的一大特點(diǎn)。
range:為內(nèi)存范圍
格式為:
起始內(nèi)存—終了內(nèi)存
終了內(nèi)存—起始內(nèi)存/d
起始內(nèi)存+內(nèi)存大小
內(nèi)存的單位用k(千字節(jié))和m(兆字節(jié))表示。 例:
1m—8m, 或8m—1m/d, 或1024k—8m:表示系統(tǒng)可用8m內(nèi)存。另:
1m—5m,6m—8m:表示系統(tǒng)8m內(nèi)存中,5m—6m內(nèi)存不能使用。
flag標(biāo)志,有以下幾種形式:
/d: 高地址向低地址掃描。
/n:標(biāo)明該段內(nèi)存為非DMA方式存取,所有16M以外的內(nèi)存,系統(tǒng)自動(dòng)標(biāo)為非DMA方式。
/r:專用內(nèi)存段。如果該段內(nèi)存為Rom Shadowing,則該段內(nèi)存確定為專用段,防止被Boot和Unix核心所覆蓋。除了Shadow Rom外,其它可以獨(dú)立運(yùn)行的程序正文段也可以放在專用段內(nèi)。
/l: Unix核心正文須放在16m內(nèi)存以下。
/p: 顯示Boot初始檢測(cè)到的內(nèi)存情況,或經(jīng)過mem參數(shù)調(diào)整后,再次驗(yàn)證到的內(nèi)存情況。
需要說(shuō)明的是,以上參數(shù)調(diào)整必須是1M以外的內(nèi)存。如果內(nèi)存中存在內(nèi)存孔穴,孔穴以外的內(nèi)存Boot不能檢測(cè)到。在許多機(jī)器上,Unix不能很好地處理Rom Shadowing問題,必須在機(jī)器的設(shè)置中禁止掉。有時(shí)候,我們可能發(fā)現(xiàn)有些機(jī)型的機(jī)器存在Rom Shadowing,Unix仍能正常工作,是因?yàn)锽oot引導(dǎo)時(shí)自動(dòng)地把機(jī)器的Rom Shadowing禁止掉了。
4)dir: 查看當(dāng)前Boot設(shè)備上的文件系統(tǒng)的目錄情況。
5)link: Unix核心引導(dǎo)時(shí)裝入有關(guān)設(shè)備的驅(qū)動(dòng)程序(稱為BTLD程序)。
格式1:在Boot命令提示符下,鍵入“link”后回車,系統(tǒng)提示:
what packages do you need linkedsintosthe system,
or q to quit?:
在“:”后,可以輸入BTLD名稱,多個(gè)BTLD之間用空格隔開,再根據(jù)系統(tǒng)提示,插入相應(yīng)的BTLD盤。
格式2:在Boot命令提示符下,鍵入:link=“BTLD名1 BTLD名2 …”
BTLD名之間用空格隔開,并且括在引號(hào)內(nèi)。
Boot的外部可執(zhí)行程序
Boot的外部可執(zhí)行程序是指能夠脫離Unix核心代碼,能獨(dú)立運(yùn)行的程序。一般來(lái)說(shuō),這些程序是用匯編編寫的機(jī)器碼,比如:dos,bootos等。
在Boot提示符下,輸入dos或bootos dos就可以使系統(tǒng)轉(zhuǎn)到dos操作系統(tǒng)下。除了DOS外,可啟動(dòng)的系統(tǒng)有:各種版本的DOS系統(tǒng)(dos_12、dos_16、dos_32、dos_ext)、Windows、Novell、NT、OS2、OS2_hpfs、picx、xenix、ccpm及Unix等。其格式為:
bootos sysname
(其中:sysname 為上述系統(tǒng)名稱)
Unix啟動(dòng)的缺省配置
如果在Boot的命令行提示符“:”下,直接回車,Boot認(rèn)為是要啟動(dòng)缺省的系統(tǒng)核心,初始化缺省的系統(tǒng)環(huán)境。這些缺省的信息放置在./etc/default/boot文件中。其常用的參數(shù)如下:
AUTOBOOT=Y(jié)es 或NO 如果AUTOBOOT=Yes,Boot在出現(xiàn)提示符“:”后,沒有任何輸入,在TIMEOUT所定義的時(shí)間后,自動(dòng)裝載由DEFBOOTSTR所定義的Unix核心。缺省時(shí),AUTOBOOT=No。
TIMEOUT=秒數(shù) 系統(tǒng)在出現(xiàn)提示符后沒有人為干預(yù),系統(tǒng)應(yīng)等待多少秒后,系統(tǒng)作為回車輸入。缺省時(shí),TIMEOUT=60。
DEFBOOTSTR=standalone參數(shù)表 Standalone為可獨(dú)立運(yùn)行的程序。定義系統(tǒng)缺省引導(dǎo)的核心名稱。
RONLYROOT=Y(jié)es 或No RONLYROOT=Yes,根文件系統(tǒng)安裝為只讀狀態(tài)。缺省為No。
SYSTTY=0 或 1 若為0,控制臺(tái)位于主顯示適配器上。若為1,則在COM1上。缺省在主顯示適配器上。
SERIAL=參數(shù)1,參數(shù)2,… 定義主控臺(tái)的通訊參數(shù)。例:SERIAL=9600,8,1,N 端口通訊波特率為9600,字節(jié)寬度為8位,停止位為1位,非校驗(yàn)。
另外,與INIT共用的參數(shù)有:
MAPKEY、PANICBOOT、MULTUSER、SLEEPTIME、SPAWN_INTERVAL、 SPAWN_LIMIT、 INHIBIT、DEFAULT_LEVEL等。
核心的自我調(diào)整
Unix核心引導(dǎo)時(shí),Boot可以向核心傳遞參數(shù)。具體用法為:
Sco Unix System V/386
Boot
: unix kernel.name=value
可用參數(shù)有:
kernel.root=device
根文件系統(tǒng)缺省在hd(40)設(shè)備上,通過此項(xiàng)可以定位到其它設(shè)備上。
kernel.swap=device
定義初始交換區(qū),缺省在hd(40)上。
kernel.swplo=s
定義頁(yè)面調(diào)度塊在交換區(qū)的位置,缺省的首塊位置始于交換區(qū)的0塊。
kernel.nswap=n
定義頁(yè)面調(diào)度塊的大小。此時(shí),頁(yè)面調(diào)度塊的實(shí)際位置為s至s+n-1。
kernel.auto
使核心能夠自動(dòng)啟動(dòng),不要人工干預(yù)。
kernel.ronly
使根文件系統(tǒng)為只讀狀態(tài)。
kernel.hd=xnamex
定義主硬盤的設(shè)備驅(qū)動(dòng)程序。
引導(dǎo)過程顯示說(shuō)明
正確地引導(dǎo)Boot后,系統(tǒng)會(huì)提示:
Sco Unix System V/386
Boot
:
說(shuō)明系統(tǒng)目前在交互式程序Boot的控制下,“:”為其命令行提示符。在該提示符下,就可以輸入內(nèi)部命令、Unix或其它可以獨(dú)立運(yùn)行的程序(standalone)。
--------------------------------------------------------------------------------
Sco-Unix錯(cuò)誤信息注釋
IO ERR:找不到活動(dòng)分區(qū)。
CLY OVF:操作系統(tǒng)位于硬盤的1024柱面之外,主引導(dǎo)程序不能夠裝載分區(qū)引導(dǎo)塊。
BAD TBL:在分區(qū)表上標(biāo)有兩個(gè)以上的活動(dòng)分區(qū)。
NO OS:沒有活動(dòng)分區(qū)或活動(dòng)分區(qū)引導(dǎo)塊不能裝載運(yùn)行。
hdboot0引導(dǎo)程序錯(cuò)誤信息?
cannot open:找不到/boot。
Bad param:/boot 參數(shù)出錯(cuò)。
stage 1 boot failure:/boot找不到或文件出錯(cuò),需用系統(tǒng)盤啟動(dòng)機(jī)器。
hdboot1引導(dǎo)程序錯(cuò)誤信息?
bad magic number:鍵入的程序不能運(yùn)行。
can’t open :文件找不到。
COFF files not supported as standalone programs:該程序不能獨(dú)立運(yùn)行,需內(nèi)核支持。
Command line too long - aborting:boot命令行長(zhǎng)度為256字節(jié)。
not a directory:表明某一設(shè)備上沒有特定的文件系統(tǒng),或所查找的目錄實(shí)為一文件。 | | |