论坛风格切换切换到宽版
  • 776阅读
  • 0回复

[问题求助]Linux开机管理:LILO与Grub [复制链接]

上一主题 下一主题
离线xinjiao.
 
发帖
2067
C币
-60723
威望
386
贡献值
1
银元
-2
铜钱
4636
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
  

目前,PC的性能越来越强大.,尤其是超大容量的硬盘使我们有足够的地方去安装多个操.作系统。Linux下最常用的多重启动软件就是LILO和Grub。           女人
LI.LO是现在许多Linux缺省的引导程序,它的全称是Linu.x电影
Loader,拥有很强大的功能。Gru.b 也是一个多.重启动管理器,它的全称是Grand Unified教育
Bo.otloader。Grub的功能与LILO一样,也是在多个操作系统共存时选择引.导哪个系统。它可以引导很多PC上常用的操作系统,其中就有.
Lin.ux、FreeBSD、Solaris、W.indows 9x、Windows.
NT;可以载入操作系统的内核和初.始化操作系统;可以把引导权直接交给操作系统来完成引导;可以直接从FAT、minix、FFS、ext.2或ext3分(        游戏          )
区读取Linux内核。Gr.ub 有一个特殊的交互式控制台方式,可以手工装入内核并选.择引导分区。 .
[color="#000099"..]初识Grub和LILO.
1.Gru.b与LILO的优缺点.
由于Grub出现要比LILO晚,所以它可以实现LIL.O的绝大部分功能,可以代替LILO来完成对Linux的.引导,特别适用于Li.nux与其它操作系统共存情况。 (        游戏          )
◆ 8.4GB问题
以前.大多数Linux所带较旧版本的LIL.O都有这样的一个问题:启动/boot分(广告)
区不能分在超过1023柱面的地方,一般是在8.4GB左右的地方,否则LILO不能安装,或者安装后不能正.确引导系统。Grub就不会出现这.种情况,只健康
要安装时大硬盘是在LBA模式下,它就可以引导根分区在8GB.以外的操作系统。目前,在L.ILO较新的版本中这个问题已经做了很好处理。 <性病>
◆ 漂亮的Logo
Grub引导开机显示一个漂亮的开机画面,它可以是640×480、800×600、10.24×768等各种模式画面, 而且可以.支持自动选择最佳图.像模式。Linux爱好者可以通过改变这幅图片来制作个性化开机画面。投资
LILO源.于文字.界面,因此它在最新的版本中对开机画面的支持也是很有限的。外贸
◆ 执行模式
G.rub不但可以通过配置.文件进行引导,还可以在选择引导前动态改变引导参数,动态(广告)
加载各种设备。例如,在Linux下编译了一个新的核心,但不.能确定它能不能工作,就可以在引导时动态改变Grub的参数,此时即使Gru.b菜单配置不正    美容
确,但仍可以引导系统。Grub的命令行有非常强大的功能.,而且支持如bash一样的历史功能,可以用上下键来寻找以.前的命令。LILO就不支持这种模(广告)
式。
在LILO下,既可以手工输入操作系统的名字来引导.不同的操作系统,也可使用一个菜单来选择不同的系统进行引导。Gru.b也兼容以上的操作。 .
◆ 分.区对Grub与LILO的影响服务器
LIL.O是通过读取硬.盘上的绝对扇区来装入操作系统,因此每次分区改变都必须重新配.
置LILO,如果调整了分区的大小及分区的分配,那么LILO在.重新配置之前就不.能引导这个分区的操作系统了。而Grub是通过文件系统直接把核心读取到.
内存,因此只要操作系统核心的路径.没有改变,Grub就可以引导.系统。教育
Grub和LILO支.持多种外部设备,支持多种文件系统,动态装载操作系统内核,甚至可以通过网络装载操作系统核心。Grub..还支持多种可执行文件格式,支持自动解压,可以引导不支持多重引导的操作系统等。 (        游戏          )
[color="..#000099"]Grub和LILO的参数比较.
1.安装
敲入“makebootable”命.令,就可以安装Grub.。而“lilo服务器
-v”则是重新安装.LILO。LILO引导扇区包括一个分区表的空间,所以LIL.O既可以安装在MBR中,也可以安装在某个分区的引导扇区。Grub和             电子
LILO同时都可以安装在软.盘之中。制作Grub的启动盘和制作LILO的启动盘相差不大。.              电子
要制作引导盘,需执行一些简单.的步骤。首先确定Grub或LILO已经安装,并且在新的软盘上创建 ext2文件系.统。然后进行安装,将一张.空盘插入软驱,输入: --------------彩票
    #mke.2fs /dev/fd0学习
  
创建了ex.t2文件系统后,需要安装该文件系统。 --------------彩票
(1)安装Grub
进入Grub的目录:
    #cd. /boot/grub           建材
  
放入一张软盘,执行以下命令:
    #dd if=stage1. of=/dev/.fd0 bs=512 count=1 (广告)
#dd if=.stag.e2 of=/dev/fd0 bs512 seek=1域名
  
Grub启动盘就完成了。
(2)安装LILO
    #dd if=/.dev/hda of=/d.ev/fd0 bs=512 count=1(因为LILO已经安装在MBR中)    健康
  
执行上述命.令后LILO启动盘就完成了。              乙肝
Grub启动时,.会在/boot/grub/中寻找一个名字为m.enu.lst的配外贸
置文件,如.果找不到此文件则不进入.菜单模式直接进入命令行模式。menu.lst学习
是一个文本文件,可以用任何一个文本编辑器打开它。每一行代表一个配置命.令,如果一.行的第一个字符为“#”,则表明这一行为注释,可以简单地用增加或减少           建材
注释行来改变配置。LILO使用一个文本文件/etc/lilo.conf作为.其配置文件。LILO.读取lilo.conf,按照其中的参数将特定的外贸
LILO写入系统引导区。.如果修改了/etc/lilo.conf,就必.须重新运行LILO命令,以保证LILO正常运行。外贸
Grub和LILO有很多的相似的.参数,见表1所示。教育
表1 Grub和LI.LO参数比较投资
  
    相似功能
    Grub的具体参数
    LILO的具体参数
  
  
    在second秒之后引导默.认的操作系统学习
   . timeout second           女人
  .  timeout=tsecs             电子
  
  
    默认启动选项
    defau.lt num域名
    defau.lt=name           女人
  
  
    指定操作系统的名.字和描述--- 印刷
    ti.tle OS mode域名
    label
  
  
    指.出linux内核的路径电影
    Kernel
    image
  
  
    指出开机画面.的文件所存放的路径和文件名.
    Splash .pathname/filenam.e           鲜花
    message=messa.ge-file    外汇
  
2.配置
(1)Grub和LI.LO共同的配置(括号内为LILO的参数).服务器
指定引导默认的操作系统的.等待时间:             汽车
    timeout secon.d(timeou.t=tsecs).
  
上面代码表明设定second秒之后引导默认的操作系统。如果是timeout 5,就是5秒没有其它指令就..引导系统;如果设成-1,则Gru.b会一直等待直到用户选择一个选项为止。           鲜花
LILO中,timeout=50同样设置等待键盘输入的时长,单位是0.1秒。超过这段时间没有输入.则为超时,系统将自动引导缺省的操.作系统。如果不设置本参数,缺省.的超时时间长度为无穷大。            杀毒
指定引导的默认操作系统:
    defaul.t num(.default=name)    健康
  
Grub中默认启动第num+1行的操作系.统,default=1则启动第2个.系域名
统.。LILO中是通过default=na.me指定缺省引导的操作系统,如default=LINUX表示将label为Linux的系统作为缺省引导的.
操作系统。如.不指定该参数,排在lilo.conf中的第一个操作系统将.作为缺省操作系统。.
指定引导的操作系统的内核:
  .  Kernel(image).
  
给Grub指定内核在哪儿,还要指出哪个文件是内.核文件。例.如kernel--- 印刷
/boot/vmlinuz-2.2..16 root=/dev/.hda7 ro说明/boot/vmlinuz-2.2.16            杀毒
就是要载入的内核,后面的都是.传递给内核的参数。root=/dev/hda7就是Linux根分区的所在分区,ro以只.读的方式打开。            杀毒
L.ILO中是.以image=filename来指定含有一个Linux内核的启动选项的文件或设备。           女人
指定引导操作系统时的信息文.件:[成人用品]
    Splash pathname/filename(m.es.sage=message-file)--------------彩票
  
上面代码指出Grub开机画面文件所存放的.路径和文件名。LI.LO中,    外汇
message=message-file命令用于指定一个包含注释信息的文件,该文件将在系统“LILO”之前显.示。如果在LILO启动时想获取较.多的电影
信息,可以编辑这个文件,再使用该命令就可以了。文件中如果包.含有ASCⅡ码为0x.FF的字符(Ctrl+L)则表示清屏。注意,文件的大小不能超过
65535个字节。每次文件改变之后,都必须重新运行LILO命令.重建ma.p文件,以保证其正常显示。              乙肝
指定引导操作系统的名称:
    title OS mode(lab.el)服务器
上面代码指出的字符就是Grub菜单项.上所看见的选项,你可以写上.操作系统的名字和<性病>
描述,如用 .title Linux、 Single.
Mode代表这一选项是引导此Linux的单用.户模式。在LILO中,label=na.me通过此参数来标识当前操作系统,即操作系统名。用户可通过在    美容
LILO提示后输入name来引导特定的操作.系统。           女人
(2)LILO的配置信息
在LILO.conf中,最多有16个操作系统选项,它比Grub有更大的灵活性。LILO.c.onf配置文.件主要分为两部分:一部分是全局配置;另一部分是引导.配置,“#”表示注释。 域名
◆ LILO的全局配置
全局.参数是全.程有效的,它可以出现在文件LILO.conf中的任何地方。.
指定引导操作系统文件的备份:
    .backup=backup-file健康
force-ba.ckup=backup-file.
install= file
  
在装入LI.LO之前,将原先的引.导区备份到backup-file。它可以备份到一             汽车
个设备上,用户可.以通过dd if=/boot./boot.bak of=/dev/hda bs=446<性病>
c.ount=1恢复原先的MBR。force-back.up=backup-file类似“backup”,但是会覆盖原有的同名文件。install=(        游戏          )
file将指定.的文件作为新的引导扇区来安装,.若未设置install选项,则将boot/boot.b作为默认缺省值使用。(        游戏          )
指定.一个用于安装LILO的设备:        外汇
.   boot=boot-device.
  
上面代码指定一个用于安装.LILO的设备。通常LIL.O可安装在如下几个地方:(        游戏          )
MBR:第一个硬盘的主引导.区, 对应于/dev/hda、/de.v/sda或者是/dev/hda0等。电影
R.oot: Linux根分区“/”上。外贸
Floppy: LILO安装在软盘上,对应于/dev/fd0。L.ILO缺省安装在根分.区超级块上。外贸
指定用于优化压缩LILO:
    compact
  
该参.数用于优化压缩LILO,让LILO把相邻扇区的多次读取请求合并.成一次读取请求,从而使MAP文件更小。因此,从软驱读取时.推荐使用 compact 选项。             汽车
指定强制LILO等待用户.的键盘输入:.
.   prompt         教育
delay=tsecs
prompt forces
  
p..rompt给出“boot:”提示,强制LILO等待用户的键盘输入,按下回车键            杀毒
则立即引导默认的操作系统;按下Tab显示可供选择的操.作系统。大多数情况下,如果有多个操作系统应该使.用参数,这样留给用户一个选择的余地。在没有指定.
“prompt”参数时,LILO将立即引导缺省的操作系统。“delay”参数在这之间插入一段延时,单位是.1/10秒。如果未设置.delay选项或设.
为0,则引导装.入程序就不会等待。prompt.
fo.rces不等待.任何的按键事件发生,就直接进入启动提示符模式。如果设定了prompt选项而没设定timeout选项,则不能自行启动。.
指定非标准硬盘的具体参数:
  .  disk=device-name投资
  
上面代码指定了非标准硬盘的具体参数。.它有以下的几个参数:bios,设备号;sectors,硬盘扇区数;heads,硬盘磁头数;cylinders,硬盘柱面数;parti.tion,用于物理.定位特殊硬盘上的分区;start,每一分区的起始扇区。             汽车
指定磁盘的物理性能指标:
    linear
table=device
fix-table
ignore-table
  
linear产生线性.扇区地址,而非“扇区/磁头/柱面”地址的.linear扇区地             电子
址。因此,linear地址在运行时不依赖于硬盘参数。注意,.在将LILO安装到软盘上时不能使用“linear”参数。.table指定含有分区表的设.
备;若未指定该.参数,引导装入程序就不会把分区信息传送到已启动的操做系统。若一个已定位且引用了table选项的分区表被修改.则必须重新运行LILO。虚拟主机
fix-table选项使得LILO可对分区表上的扇区/磁头/柱面,以及线性地址进行调整,从而建立每个分区表入口、包.含有该分区的最前和最.后一个扇区.
的.扇区/磁头/柱面及线性地址。ignore-table通知LILO忽.略无效的硬盘分区表。    美容
指定map文件:
    Lock
map=map-file
  
指定map文件,没有本.项时缺省使用/boot/map,每次改动LILO都应产生一个新的与之相关map文件。Lock是告诉LILO,.提示后立即按上一次的引导映像启动计算机。允许自.动记录引导命令行,作为以后启动的默认缺省值。投资
当用于启动的引导映像不存在时,使用optional参数使LI.LO忽略它。这对用于测试一个.不长期存在的Linux内核是有用的。电脑
指定LILO设置口令保护:
   . password=password电脑
restricted
  
上面代码为L.ILO设置口令保护,每次重新启动计算机提示用户输入口令。因为这个密.              乙肝
码是明文的,设置了口令后建议将LILO.conf的文件属性改.为000,以免让非roo.t用户看到口令。restricted健康
与password联用,使“password”仅作用于在LILO提示后有..参数输入的时候。.
指定串行口控制器的参数:
    serial=parameter.s .(port, bps,parity,bits)            杀毒
  
这将初始化.指定的串口,并将使引导管理器能.接收来自串口的输入。.
参数如下:
    .〈port〉 表示的串口号。    美容
〈bps〉 串口速率。
〈parity〉设置串口校验。一般情况下.,LILO忽略奇偶校.验。n表示无校验,e表示偶校验,o表示奇校验。    健康
〈bits〉字符位数,.只能取7或8,缺省值是8。当有奇偶校验时只.能取7。    美容
  
用下面命令可以打开进程报告:       . .    .
    ver.bose=level教育
append=string
  
数目越大.给出的冗长输出越多。如果在LILO命令行中附加参数-v,则冗.长标准也相应增加,最大的冗长标准是5。教育
append传递一个特殊硬件的参数串s.tring.给Linux系统的内核。它常用来配置一些Linux不能正确测试到的硬件设备。例如:append = “hd.a=128,64,200”指明该硬盘为128柱面、64磁头、200扇区。.
指定RAM盘的大小:
    ramdisk=siz.e[成人用品]
  
size为零时.不建立RAM盘。忽略此参数时,RAM盘大小.由Linux内核引导程序决定。.
指.定以何种读写方式载入根文件系统:教育
    read-only
read-write
  
从字面上可以知道它们分别是通知.LILO以.只读方式载入根文件系统,以读写方式载入根文件系统。投资
指定LILO引导Linux系.统时的VGA模式:      .         .
    vga=mode
  
指定LIL.O引导Linux系统时的VGA模式,有以下.的参数值:.
    normal  常规80×25文本模式.。 教育
extended  80×50文本模式。.              电子
ask
  
引导时询问用户使用哪一种VGA模式,这时敲回车键将显示一个.可分配的VGA模式表。如果不指定VGA模式,系统将缺省地使用包含在系统内核里的VGA模式.值。<性病>
◆ 引导配置
引导映像参数作用于每一个引.导区。           鲜花
设置包含Linux内核引导.映像的文件或设备:  .
    image=pa.thname.
  
设置包含非Linux操作系统:. .          
    othe.r=pathname--- 印刷
  
如DOS、Windows 95等系统引导.的文件或设备,以提示启动其它独立的系统.。.
.   range=start-end投资
alias=name
loader=chain-.loader           鲜花
  
如果“image”参数被设置为一个设.备,则Linux内核引导程序的存.放范围必须.
被range=start-end设置。alias给当前操作系统起一别名.。loader=chain-loader指定LILO所需要的特定的.引导程[成人用品]
序,缺省值是/boo.t/chain.b。.
L.ILO运行时会给出一些提示信息,这些信息对于深刻地了解Bootloader是很有益的。表.2罗列了一些错误信息供参考。          婚庆
表2 LILO出错信息
  
    LILO出错信息
      
    代表的意义
  
  
    LILO提示信息
    NULL
.  . LILO没有安装或者安装lILO的分区没有被激活           鲜花
  
  
    L
   . LILO的第一.部分已经被装入并运行了,但它不能装入第二部分的引导程序。这种情况通常发生在介质访问失败或硬盘参数错误。电影
  
  
    LI
    LI.LO第一部分正确,但是第二部分执行时出错。一般是硬盘参数有误或/boot/boot.b与map程序不相匹.配。              乙肝
  
  
    LIL
    LILO第二部.分开始执行,但是不能从“map”.文件中读取描述符表(Descriptor Table)。磁盘介质错误或磁盘参数有误。.
  
  
    LIL?
    LILO在错误的地方加.载。.
  
  
    LIL-
    描述符.表错误.。硬盘参数的不匹配或/boot/boot.b与map程序不相匹配。[成人用品]
  
  
    磁盘错误码
    0x00
    由LILO扇区读取子程序产生。map文件被破坏,或者当使用“linear”参.数时访.问超出1024的柱面。    健康
  
  
    0x01
    LILO访问.了BIOS不支持的硬盘。--------------彩票
  
  
    0x02
    磁盘介质出现问题。
  
  
    0x03
    磁盘介质写保护错。
  
  
    0x04
    磁盘扇区未找到,.硬盘参数错误。<性病>
  
  
    0x05
    磁盘激活顺序改变。
  
  
    0x06
    磁盘错误的介质。
  
  
    0x07
    无.效的初始化,BIOS没有适当地初.始化硬盘。.
  
  
    0x08
    DMA超出限度。
  
  
    0x09
    DMA试图越过64KB边界。由于.“compac.t”参数造成。健康
  
  
    0x0C
    无效的磁盘介质。
  
  
    0x010
    “CRC错误”,检测到介质错误。建议多启动几次,运行map安装.程序,把map文件从坏块.写到正常的介质上。          婚庆
  
  
    0x11
    EC.C纠正成功.。读错误发生然后被纠正,但是LILO并不知道这个情况,终止了启动过程。投资
  
  
    0x20
    磁盘控制器错误。
  
  
    0x40
    磁盘.定位失败,磁盘介质问题。    美容
  
  
    0x80
    磁盘超时。磁盘或驱.动器没有准备好,介质坏了或没有磁盘。.    美容
  
  
    0xBB
     .BIOS错误。磁盘与BIOS配置不符。.
  
(3)Grub配置信息
与LILO相比,.Grub有更强的交互性。下面就以它的命令来.理解这个bootloader 。虚拟主机
进入菜单,按.“e”是编辑启动命令,按“c”是使用命令行。.按“e”键可以编辑所选项的启动命令,用这个功能可以临时改变系统的启动参数。投资
要启.动一个操作系统,首先指定引导哪个分区上的系统,例如要引导第.一个硬盘上的第一个分区的操作系统,先键入: 教育
    grub>roo.t (hd0,0)<性病>
  
如果要启动的是Windows系统,键入: .(广告)
    grub>chainlo..ader (hd0,0)+1    外汇
  
注意,(hd.0,0).要随着硬盘和分区的不同而改变。 .
如果要引导Linux或其它系.统,应键入:           婚庆
.   grub>kernel (hd0,6.)/boot/vmlinuz root=/dev/hda7域名
  
注意,磁盘参数也要随着硬盘和分区的不同而改变,如从第二个硬盘的第一个分区引导则用h.db1,最后敲入boot就可.以启动系统了。 教育
在不能确定命令或者命令的参数时,都可以按“Tab”获得相关的帮助;用上下键可.以获得命令的历.史记录,这些就像在Linux中使用bash一样简单。也可以键入启动命令,然后boo.t就可以引导系统了。               乙肝
Grub下生成引导盘:
    grub> roo.t (fd0)             婚庆
grub> s.etup (fd0)   --- 印刷
grub> quit
  
如果要把Grub装到硬盘上.,也很容易。如果安装到MBR,则可以指定整个磁盘而不必指定分区,如下(对于hda.): 服务器
    gru.b> setup (hd0).
  
如果要将Grub安装到/d.ev/hda7.的引导记录中,应输入: 虚拟主机
    grub> setup (h.d0,6)              乙肝
  
综.上所述,LILO要求用户十分明白每个参数才能很好地掌握;而Grub则更加看中用户的交互性,两者在bootloader中不分伯仲。..
[color="#000.099"]实例.
下面就以我的lilo.con.f为例,把它翻译成Grub的menu.lst文.件。.
    lilo.conf:
#The .lilo.conf of th.e writer域名
boot=/dev/hda
map=/boot/map
ins.tall=/boot/boot.b.
message=/boot/co.sixmsg   //指出开.机画面的文件所存放的路径和文件名            杀毒
prompt
p.assword = wudi   /./密码是wudi教育
t.imeout=50  //在5秒之后引导默.认的操作系统.
default=dos .  //默认启动选项dos.
im.a.ge=/boot/vmlinuz-2.2.16-3  //指出Linux内核的路径外贸
  .label=linux  //指定操作系统.的名字Linux电影
  vga=0x301
  read-only
  root=/.dev/hda7
other=/.dev/hda1   //指定操作系统的名字.DOS学习
  label=dos
  
翻译后的menu.lst文件.:(        游戏          )
    tim.eout 5  //在5秒.之后引导默认的操作系统.
  default 1   //默认启动选项d.os.
 .# → linux ←   //指.定操作系统的名字LINUX.
 titl.e linux   root (hd0,6)   kerne..l /boot/vmlinuz-2.2.16 root=/dev/hda7 ro .
  initrd /b.oot/ini.trd-2.2.16.gz 学习
 # → linux E.ND ←              电子
 # → dos ←.  //指定操作系统.的名字DOS.
 title .dos   roo.t (hd0,0)   chainloader +1     健康
 # → dos END ←
  
通过以上对Grub和LIL.O的讲解,读者可能已经对这两种bootloader有了较深地理解,但是还需要经过大量反复.地练习,才能很好地掌握。学习
   .             虚拟主机
        .        虚拟主机
              .  健康

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66983/showart_574420.html学习
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个