萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 深 入Linux 的LILO

深 入Linux 的LILO

class="21866"> ----;Linux;的;引;導;可;以;采;用;多;種;方;式,;其;加;載;器LILO(Linux;Loader)
是;一;個;靈;活;的;引;導;加;載;程;序,;對;其;深;入;的;理;解,;將;有;助;於;我
們;方;便;地;處;理;多;重;系;統、;網;絡;引;導、;大;硬;盤;及;大;內;存;等;諸;多
問;題。

一、;LILO;的;引;導;機;制
----;眾;所;周;知,;計;算;機;的;最;初;啟;動;是;由BIOS;控;制;的,;在;對;一;些
硬;件(;如;內;存、;鍵;盤;等);初;始;化;之;後,;它;會;試;圖;加;載;硬;盤;的;主
引;導;記;錄(MBR);或;軟;盤;的;引;導;扇;區。
----;MBR;可;通;過;兩;種;方;式;運;行:;其;一;是;定;位;到;活;動;分;區;並;加;載
相;應;的;引;導;扇;區,;然;後;由;引;導;扇;區;完;成;該;分;區;內;操;作;系;統;的
基;本;組;件;的;加;載;;其;二;是;直;接;從;一;指;定;分;區;中;加;載;信;息,;並
通;過;它;裝;入;任;一;分;區;中;的;操;作;系;統,;諸;如LILO、OS/2;Boot;Loader
以;及Partition;Magic;等;引;導;加;載;程;序;都;可;以;配;置;成;這;種;方;式。;軟
盤;的;引;導;扇;區;相;當;於;硬;盤;活;動;分;區;的;引;導;扇;區,;它;用;於;裝;入
軟;盤;上;的;操;作;系;統。

----;由;此;可;見,;只;要;把LILO;安;裝;在MBR、;活;動;分;區;或;者;引;導;軟;盤
上,;就;能;接;管;計;算;機;的;控;制;權,;然;後;由LILO;完;成;後;繼;的;引;導;過
程。LILO;中;建;有;一;個;引;導;表;地;址;編;碼,;借;此,;它;的;引;導;程;序;就
能;定;位;到Linux;的;內;核;文;件,;這;種;地;址;編;碼;既;可;以;按;照;柱;面/;磁
頭/;扇;區(CHS);模;式,;又;可;以;采;用LBA;的;線;性;塊;號;模;式,;因;此,;即
使;是;對;某;些SCSI;控;制;程;序,LILO;也;能;良;好;運;行。

----;當LILO;定;位;到;配;置;文;件;後,;經;過;預;引;導;過;程,;就;顯;示;提;示
符"LILO;boot:",;此;時,;系;統;允;許;選;擇;引;導;不;同;的;操;作;系;統;或;者
不;同;的;內;核;配;置,;按Tab;鍵;顯;示;可;選;項;列;表,;然;後;輸;入;可;選;項
或;者;直;接;回;車;選;擇;缺;省;配;置,;如;果;選;擇;了;引;導Linux,;還;可;以
直;接;傳;遞;參;數;到;系;統;內;核。

----;和;其;他;系;統;的;引;導;加;載;程;序;相;比,LILO;具;有;更;高;的;靈;活
性,;其;引;導;方;式;也;更;豐;富:

----;①;當LILO;被;安;裝;在;硬;盤;的MBR、;活;動;分;區;或;引;導;軟;盤;上;時,
作;為;原;引;導;程;序;的;替;身,;它;能;引;導;任;一;硬;盤;任;一;分;區;上;的
Linux;和;其;他;操;作;系;統。

----;②;除;了;引;導;扇;區,;它;沒;有;任;何;隱;含;文;件,;也;不;需;要;使;用
特;定;的;分;區,;它;的;配;置;文;件;可;以;在;任;何;分;區,;甚;至;是;存;放;在
與Linux;毫;不;相;干;的DOS;分;區;的;某;個;子;目;錄;下。

----;③;它;能;引;導;幾;個;不;同;的;內;核;配;置,;甚;至;是;幾;個;不;同;的;內
核。

----;④;它;能;引;導;同;一;機;器;上;的;多;個Linux;版;本。

----;⑤;它;能;從;網;絡;上;引;導Linux。

----;正;是;由;於LILO;的;靈;活;性,;使;得;其;配;置;變;得;相;當;復;雜,;當;有
多;個;系;統;共;存;時,;建;議;先;安;裝;其;他;操;作;系;統,;最;後;再;安;裝
Linux,;這;樣,;設;置LILO;對;其;他;系;統;的;引;導;會;相;對;簡;單;一;些。

二、LILO;引;導;的;幾;個;參;數
----;在;此;只;介;紹;本;文;涉;及;到;的;幾;個;參;數。
----;'boot=':;此;參;數;指;明;包;含;引;導;扇;區;的;設;備;名(;如/dev/had),
若;此;項;忽;略,;則;從;當;前;的;根;分;區;中;讀;取;引;導;扇;區。

----;'root=':;此;參;數;告;訴;內;核;啟;動;時;以;哪;個;設;備;作;為;根;文;件
系;統;使;用,;其;設;定;值;為;構;造;內;核;時;根;文;件;系;統;的;設;備;名,;可
用;的;設;備;名;有:

----;①/dev/hdaN~/dev/hddN:ST-506;兼;容;硬;盤,a;到d;上;的N;個;分;區。

----;②/dev/sdaN~/dev/sdeN:SCSI;兼;容;硬;盤,a;到e;上;的N;個;分;區。

----;③/dev/xdaN~/dev/xdbN:XT;兼;容;硬;盤,a;到b;上;的N;個;分;區。

----;④/dev/fdN:;軟;盤,A:(N=0);或B:(N=1)。

----;⑤/dev/nfs:;由;網;絡;取;得;根;文;件;系;統;的;標;志。

----;'image=':;指;定Linux;的;內;核;文;件。

----;'delay=':;設;定;引;導;第;一;個;映;像;前;的;等;待;時;間。

----;'disk=':;此;參;數;為;某;一;特;殊;的;硬;盤;定;義;非;標;准;參;數。

----;'append=':;為;內;核;傳;遞;一;個;可;選;的;參;數;行,;其;典;型;的;應;用
是;為;不;能;完;全;由;系;統;自;動;識;別;的;硬;盤;指;定;參;數,;如
append="hd=64,32,202"。

----;'label=':;此;參;數;為;每;個;映;像;指;定;一;個;名;字,;以;供;引;導;時
選;擇。

----;'install=':;安;裝;一;個;指;定;文;件;作;為;新;的;引;導;扇;區,;缺;省;為
/boot/boot.b。

----;'table=':;說;明;包;含;分;區;表;的;設;備;名,;如;果;此;參;數;忽;略,;引
導;加;載;程;序;將;不;能;傳;遞;分;區;信;息;到;已;引;導;的;操;作;系;統。

三、LILO;典;型;配;置;方;法
----;通;常;情;況;下,Linux;的;安;裝;程;序;自;身;就;可;以;完;成LILO;的;安;裝
配;置,;從;而;較;好;地;解;決;多;重;系;統;的;引;導;問;題,;如;果;系;統;不;能
自;動;完;成;這;種;配;置,;那;麼;可;以;通;過;手;工;修;改;配;置;文;件
/etc/lilo.conf;來;實;現;不;同;條;件;下;的;引;導。
----;1;.;當;系;統;能;自;動;完;成;配;置;時

----;對;於;這;種;情;況,;只;有;一;個;建;議:;將LILO;安;裝;到Linux;分;區;的
根;上,;而;不;是MBR。;假;設;當;前hda1;中;裝;有DOS/Windows,hda2;中;安;裝
Linux,;則/etc/lilo.conf;的;內;容;大;致;如;下:

boot=/dev/hda2;;;#指定引導位置
compact
delay=5;;;#延時5秒
root=current;;;#根在當前分區
image=/boot/vmlinux;;;#指定Linux的內核文件
label=linux;;;#用Linux為代表名稱 
other=/dev/hda1;;;#其他操作系統所在的分區
table=/dev/hda;;;#指定包含分區表的硬盤
label=dos;;;#用dos為代表名稱
----;2;.;當;系;統;無;法;自;動;完;成;配;置;時

----;不;外;乎;兩;種;情;況:;其;一;是BIOS;不;能;直;接;看;到Linux;的;根;分;區
;;其;二;是BIOS;只;能;讀;寫;標;准IDE;硬;盤;的;前504MB。;這;時,;必;須;遵;循
一;個;最;基;本;的;原;則:;建;立;一;個BIOS;能;存;取;的;較;小;的Linux;分;區,
其;中;包;含;內;核;文;件、;映;射;文;件;以;及;鏈;加;載;程;序;等;必;要;的;內
容,;而;根;則;可;以;是;另;外;一;個;獨;立;的;分;區。;至;於;配;置;上;的;其;他
細;節,;從;以;下;實;例;來;說;明。

----;例1:;主;硬;盤;為IDE;接;口,;第;二;硬;盤;為SCSI;接;口,;根;文;件;在SCSI
上。

----;對;策:;在IDE;硬;盤;上;劃;分;一;個;較;小;的Linux;分;區(/dev/hda2),;其
中;包;含;基;本;文;件,;掛;接;到/u2;下,;其;配;置;文;件/etc/lilo.conf;的;主
要;內;容;為:

boot=/dev/hda;;;#LILO裝在主IDE的MBR
install=/u2/etc/lilo/boot.b
#從boot.b安裝LILO引導記錄
map=/u2/etc/lilo/map 
#安裝程序建立此映射文件,
告訴引導載入程序內核塊的位置
compact
timeout=50
image=/u2/vmlinux  
#內核文件應事先拷貝到/u2下
label=linux
root=/dev/sda1
#告訴內核根系統在SCSI硬盤上
read-only
other=/dev/hda1
loader=/u2/etc/lilo/chain.b;#指明加載程序
label=dos

----;例2:;一;個;標;准;的IDE;大;硬;盤;需;安;裝Linux;和DOS/Windows。

----;BIOS;的int;13;調;用;是;采;用3;個;位;元;組;的;CHS;編;碼,10;位;為;柱;面
號,8;位;為;磁;頭;號,6;位;為;扇;區;號。;可;能;的;柱;面;號;碼;是0;~1023,;可
能;的;磁;頭;號;碼;是0;~255,;而;磁;道;上;可;能;的;扇;區;號;碼;是1;~63,;以
這24;位;最;多;可;以;定;址7.875GB。;但;不;幸;的;是,;標;准;的IDE;界;面;容;許
256;個;扇;區;/;磁;道、;65536;個;柱;面;以;及16;個;磁;頭。;它;自;己;本;身;可
以;存;取128GB,;但;是;除;去BIOS;方;面63;個;扇;區;與1024;個;柱;面;後;只;剩
504MB;可;以;定;址。

----;對;策:;在;硬;盤;的;前500MB;中;劃;分350MB(/dev/hda1);給DOS,
150MB(/dev/hda2);給Linux,;在;相;應;的;配;置;文;件;中;應;說;明;硬;盤;的;參
數:

boot=/dev/hda
...
disk=/dev/hda
bios=0x80
sectors=63
heads=16
cylinders=2100
image=/vmlinux
append="hd=2100,16,23"
root=/dev/hda2
label=linux

四、;LILO;的;卸;裝
----;當LILO;覆;蓋;了;引;導;扇;區;時,;它;會;保;留;一;個;引;導;扇;區;的;備;份
在/boot/boot.xxyy;中,;其;中xxyy;是;十;六;進;制;的;設;備;主;/;次;號;碼
(major/minor;numbers),;利;用;命;令"ls;-l;/dev/device";就;可;獲;得;硬;盤;或
分;區;的;主;/;次;號;碼。;若;要;卸;裝LILO,;只;需;恢;復;初;始;的;引;導;扇
區。;例;如:LILO;安;裝;在/dev/had,;對;應;的;備;份;文;件;為
/boot/boot.0300,;使;用;下;面;的;命;令;即;可:
----;dd;if=/boot/boot.0300;of=/dev/_had;bs=446;count=1

----
copyright © 萬盛學電腦網 all rights reserved