电脑技术学习

深 入Linux 的LILO

dn001
----;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

----;(;作;者;地;址:;巨;化;集;团;公;司;计;算;中;心,324004;;收;稿;日;期:1999年6;月)

标签: linux