- 浏览: 184005 次
- 性别:
- 来自: 成都
最新评论
-
chuyuan_china:
感觉有点繁杂
身份证号,出生日期等的js正则表达式验证 -
yanlp:
jquery有个叫bgiframe的插件可以很方便的解决。
解决IE中DIV无法遮盖SELECT的问题 -
yql1986:
太感谢了,最近再用AJAX显示提示信息,就是层定位搞不清楚 ...
获取Html元素在页面中的绝对位置及问题 -
somebody_hjh:
不管你的DispatchAction中哪个方法被调用,都会调用 ...
改进struts中DispatchAction用法 -
tiramisual:
It's so BT that I'd have to was ...
Can I keep a penguin as a pet?
LILO 全称是Linux Loader。Grub 全称是Grand Unified
Bootloader。
Grub可以引导很多PC上常用的操作系统,其中就有
Linux、FreeBSD、Solaris、Windows 9x、Windows
NT;可以载入操作系统的内核和初始化操作系统;可以把引导权直接交给操作系统来完成引导;可以直接从FAT、minix、FFS、ext2或ext3分
区读取Linux内核。Grub 有一个特殊的交互式控制台方式,可以手工装入内核并选择引导分区。
初识Grub和LILO
1.Grub与LILO的优缺点
◆ 8.4GB问题
以
前大多数Linux所带较旧版本的LILO都有这样的一个问题:启动/boot分区不能分在超过1023柱面的地方,一般是在8.4GB左右的地方,否则
LILO不能安装,或者安装后不能正确引导系统。Grub就不会出现这种情况,只要安装时大硬盘是在LBA模式下,它就可以引导根分区在8GB以外的操作
系统。目前,在LILO较新的版本中这个问题已经做了很好处理。
◆ 漂亮的Logo
Grub引导开机显示一个漂亮的开机画面,它可以是640×480、800×600、1024×768等各种模式画面, 而且可以支持自动选择最佳图像模式。Linux爱好者可以通过改变这幅图片来制作个性化开机画面。
LILO源于文字界面,因此它在最新的版本中对开机画面的支持也是很有限的。
◆ 执行模式
Grub
不但可以通过配置文件进行引导,还可以在选择引导前动态改变引导参数,动态加载各种设备。例如,在Linux下编译了一个新的核心,但不能确定它能不能工
作,就可以在引导时动态改变Grub的参数,此时即使Grub菜单配置不正确,但仍可以引导系统。Grub的命令行有非常强大的功能,而且支持如bash
一样的历史功能,可以用上下键来寻找以前的命令。LILO就不支持这种模式。
在LILO下,既可以手工输入操作系统的名字来引导不同的操作系统,也可使用一个菜单来选择不同的系统进行引导。Grub也兼容以上的操作。
◆ 分区对Grub与LILO的影响
LILO
是通过读取硬盘上的绝对扇区来装入操作系统,因此每次分区改变都必须重新配置LILO,如果调整了分区的大小及分区的分配,那么LILO在重新配置之前就
不能引导这个分区的操作系统了。而Grub是通过文件系统直接把核心读取到内存,因此只要操作系统核心的路径没有改变,Grub就可以引导系统。
Grub和LILO支持多种外部设备,支持多种文件系统,动态装载操作系统内核,甚至可以通过网络装载操作系统核心。Grub还支持多种可执行文件格式,支持自动解压,可以引导不支持多重引导的操作系统等。
Grub和LILO的参数比较
1.安装
敲
入“makebootable”命令,就可以安装Grub。而“lilo
-v”则是重新安装LILO。LILO引导扇区包括一个分区表的空间,所以LILO既可以安装在MBR中,也可以安装在某个分区的引导扇区。Grub和
LILO同时都可以安装在软盘之中。制作Grub的启动盘和制作LILO的启动盘相差不大。
要制作引导盘,需执行一些简单的步骤。首先确定Grub或LILO已经安装,并且在新的软盘上创建 ext2文件系统。然后进行安装,将一张空盘插入软驱,输入:
#mke2fs /dev/fd0
创建了ext2文件系统后,需要安装该文件系统。
(1)安装Grub
进入Grub的目录:
#cd /boot/grub
放入一张软盘,执行以下命令:
#dd if=stage1 of=/dev/fd0 bs=512 count=1
#dd if=stage2 of=/dev/fd0 bs512 seek=1
Grub启动盘就完成了。
(2)安装LILO
#dd if=/dev/hda of=/dev/fd0 bs=512 count=1(因为LILO已经安装在MBR中)
执行上述命令后LILO启动盘就完成了。
Grub
启动时,会在/boot/grub/中寻找一个名字为menu.lst的配置文件,如果找不到此文件则不进入菜单模式直接进入命令行模式。
menu.lst
是一个文本文件,可以用任何一个文本编辑器打开它。每一行代表一个配置命令,如果一行的第一个字符为“#”,则表明这一行为注释,可以简单地用增加或减少
注释行来改变配置。LILO使用一个文本文件/etc/lilo.conf作为其配置文件。LILO读取lilo.conf,按照其中的参数将特定的
LILO写入系统引导区。如果修改了/etc/lilo.conf,就必须重新运行LILO命令,以保证LILO正常运行。
Grub和LILO有很多的相似的参数,见表1所示。
表1 Grub和LILO参数比较
相似功能 Grub的具体参数 LILO的具体参数
在second秒之后引导默认的操作系统 timeout second timeout=tsecs
默认启动选项 default num default=name
指定操作系统的名字和描述 title OS mode label
指出linux内核的路径 Kernel image
指出开机画面的文件所存放的路径和文件名 Splash pathname/filename message=message-file
2.配置
(1)Grub和LILO共同的配置(括号内为LILO的参数)
指定引导默认的操作系统的等待时间:
timeout second(timeout=tsecs)
上面代码表明设定second秒之后引导默认的操作系统。如果是timeout 5,就是5秒没有其它指令就引导系统;如果设成-1,则Grub会一直等待直到用户选择一个选项为止。
LILO中,timeout=50同样设置等待键盘输入的时长,单位是0.1秒。超过这段时间没有输入则为超时,系统将自动引导缺省的操作系统。如果不设置本参数,缺省的超时时间长度为无穷大。
指定引导的默认操作系统:
default num(default=name)
Grub
中默认启动第num+1行的操作系统,default=1则启动第2个系统。LILO中是通过default=name指定缺省引导的操作系统,如
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以只读的方式打开。
LILO中是以image=filename来指定含有一个Linux内核的启动选项的文件或设备。
指定引导操作系统时的信息文件:
Splash pathname/filename(message=message-file)
上
面代码指出Grub开机画面文件所存放的路径和文件名。LILO中,message=message-file命令用于指定一个包含注释信息的文件,该文
件将在系统“LILO”之前显示。如果在LILO启动时想获取较多的信息,可以编辑这个文件,再使用该命令就可以了。文件中如果包含有ASCⅡ码为
0xFF的字符(Ctrl+L)则表示清屏。注意,文件的大小不能超过65535个字节。每次文件改变之后,都必须重新运行LILO命令重建map文件,
以保证其正常显示。
指定引导操作系统的名称:
title OS mode(label)
上面代
码指出的字符就是Grub菜单项上所看见的选项,你可以写上操作系统的名字和描述,如用 title Linux、 Single
Mode代表这一选项是引导此Linux的单用户模式。在LILO中,label=name通过此参数来标识当前操作系统,即操作系统名。用户可通过在
LILO提示后输入name来引导特定的操作系统。
(2)LILO的配置信息
在LILO.conf中,最多有16个操作系统选项,它比Grub有更大的灵活性。LILO.conf配置文件主要分为两部分:一部分是全局配置;另一部分是引导配置,“#”表示注释。
◆ LILO的全局配置
全局参数是全程有效的,它可以出现在文件LILO.conf中的任何地方。
指定引导操作系统文件的备份:
backup=backup-file
force-backup=backup-file
install= file
在
装入LILO之前,将原先的引导区备份到backup-file。它可以备份到一个设备上,用户可以通过dd if=/boot/boot.bak
of=/dev/hda bs=446
count=1恢复原先的MBR。force-backup=backup-file类
似“backup”,但是会覆盖原有的同名文件。install=
file将指定的文件作为新的引导扇区来安装,若未设置install选项,则将boot/boot.b作为默认缺省值使用。
指定一个用于安装LILO的设备:
boot=boot-device
上面代码指定一个用于安装LILO的设备。通常LILO可安装在如下几个地方:
MBR:第一个硬盘的主引导区, 对应于/dev/hda、/dev/sda或者是/dev/hda0等。
Root: Linux根分区“/”上。
Floppy: LILO安装在软盘上,对应于/dev/fd0。LILO缺省安装在根分区超级块上。
指定用于优化压缩LILO:
compact
该参数用于优化压缩LILO,让LILO把相邻扇区的多次读取请求合并成一次读取请求,从而使MAP文件更小。因此,从软驱读取时推荐使用 compact 选项。
指定强制LILO等待用户的键盘输入:
prompt
delay=tsecs
prompt forces
prompt
给出“boot:”提示,强制LILO等待用户的键盘输入,按下回车键则立即引导默认的操作系统;按下Tab显示可供选择的操作系统。大多数情况下,如果
有多个操作系统应该使用参数,这样留给用户一个选择的余地。在没有指定“prompt”参数时,LILO将立即引导缺省的操作系统。“delay”参数在
这之间插入一段延时,单位是1/10秒。如果未设置delay选项或设为0,则引导装入程序就不会等待。prompt
forces不等待任何的按键事件发生,就直接进入启动提示符模式。如果设定了prompt选项而没设定timeout选项,则不能自行启动。
指定非标准硬盘的具体参数:
disk=device-name
上面代码指定了非标准硬盘的具体参数。它有以下的几个参数:bios,设备号;sectors,硬盘扇区数;heads,硬盘磁头数;cylinders,硬盘柱面数;partition,用于物理定位特殊硬盘上的分区;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参数使LILO忽略它。这对用于测试一个不长期存在的Linux内核是有用的。
指定LILO设置口令保护:
password=password
restricted
上
面代码为LILO设置口令保护,每次重新启动计算机提示用户输入口令。因为这个密码是明文的,设置了口令后建议将LILO.conf的文件属性改为
000,以免让非root用户看到口令。restricted
与password联用,使“password”仅作用于在LILO提示后有参数输入的时候。
指定串行口控制器的参数:
serial=parameters (port, bps,parity,bits)
这将初始化指定的串口,并将使引导管理器能接收来自串口的输入。
参数如下:
〈port〉 表示的串口号。
〈bps〉 串口速率。
〈parity〉设置串口校验。一般情况下,LILO忽略奇偶校验。n表示无校验,e表示偶校验,o表示奇校验。
〈bits〉字符位数,只能取7或8,缺省值是8。当有奇偶校验时只能取7。
用下面命令可以打开进程报告:
verbose=level
append=string
数目越大给出的冗长输出越多。如果在LILO命令行中附加参数-v,则冗长标准也相应增加,最大的冗长标准是5。
append传递一个特殊硬件的参数串string给Linux系统的内核。它常用来配置一些Linux不能正确测试到的硬件设备。例如:append = “hda=128,64,200”指明该硬盘为128柱面、64磁头、200扇区。
指定RAM盘的大小:
ramdisk=size
size为零时不建立RAM盘。忽略此参数时,RAM盘大小由Linux内核引导程序决定。
指定以何种读写方式载入根文件系统:
read-only
read-write
从字面上可以知道它们分别是通知LILO以只读方式载入根文件系统,以读写方式载入根文件系统。
指定LILO引导Linux系统时的VGA模式:
vga=mode
指定LILO引导Linux系统时的VGA模式,有以下的参数值:
normal 常规80×25文本模式。
extended 80×50文本模式。
ask
引导时询问用户使用哪一种VGA模式,这时敲回车键将显示一个可分配的VGA模式表。如果不指定VGA模式,系统将缺省地使用包含在系统内核里的VGA模式值。
◆ 引导配置
引导映像参数作用于每一个引导区。
设置包含Linux内核引导映像的文件或设备:
image=pathname
设置包含非Linux操作系统:
other=pathname
如DOS、Windows 95等系统引导的文件或设备,以提示启动其它独立的系统。
range=start-end
alias=name
loader=chain-loader
如
果“image”参数被设置为一个设备,则Linux内核引导程序的存放范围必须被range=start-end设置。alias给当前操作系统起一别
名。loader=chain-loader指定LILO所需要的特定的引导程序,缺省值是/boot/chain.b。
LILO运行时会给出一些提示信息,这些信息对于深刻地了解Bootloader是很有益的。表2罗列了一些错误信息供参考。
表2 LILO出错信息
LILO出错信息 代表的意义
LILO提示信息 NULL LILO没有安装或者安装lILO的分区没有被激活
L LILO的第一部分已经被装入并运行了,但它不能装入第二部分的引导程序。这种情况通常发生在介质访问失败或硬盘参数错误。
LI LILO第一部分正确,但是第二部分执行时出错。一般是硬盘参数有误或/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边界。由于“compact”参数造成。
0x0C 无效的磁盘介质。
0x010 “CRC错误”,检测到介质错误。建议多启动几次,运行map安装程序,把map文件从坏块写到正常的介质上。
0x11 ECC纠正成功。读错误发生然后被纠正,但是LILO并不知道这个情况,终止了启动过程。
0x20 磁盘控制器错误。
0x40 磁盘定位失败,磁盘介质问题。
0x80 磁盘超时。磁盘或驱动器没有准备好,介质坏了或没有磁盘。
0xBB BIOS错误。磁盘与BIOS配置不符。
(3)Grub配置信息
与LILO相比,Grub有更强的交互性。下面就以它的命令来理解这个bootloader 。
进入菜单,按“e”是编辑启动命令,按“c”是使用命令行。按“e”键可以编辑所选项的启动命令,用这个功能可以临时改变系统的启动参数。
要启动一个操作系统,首先指定引导哪个分区上的系统,例如要引导第一个硬盘上的第一个分区的操作系统,先键入:
grub>root (hd0,0)
如果要启动的是Windows系统,键入:
grub>chainloader (hd0,0)+1
注意,(hd0,0)要随着硬盘和分区的不同而改变。
如果要引导Linux或其它系统,应键入:
grub>kernel (hd0,6)/boot/vmlinuz root=/dev/hda7
注意,磁盘参数也要随着硬盘和分区的不同而改变,如从第二个硬盘的第一个分区引导则用hdb1,最后敲入boot就可以启动系统了。
在不能确定命令或者命令的参数时,都可以按“Tab”获得相关的帮助;用上下键可以获得命令的历史记录,这些就像在Linux中使用bash一样简单。也可以键入启动命令,然后boot就可以引导系统了。
Grub下生成引导盘:
grub> root (fd0)
grub> setup (fd0)
grub> quit
如果要把Grub装到硬盘上,也很容易。如果安装到MBR,则可以指定整个磁盘而不必指定分区,如下(对于hda):
grub> setup (hd0)
如果要将Grub安装到/dev/hda7的引导记录中,应输入:
grub> setup (hd0,6)
综上所述,LILO要求用户十分明白每个参数才能很好地掌握;而Grub则更加看中用户的交互性,两者在bootloader中不分伯仲。
实例
下面就以我的lilo.conf为例,把它翻译成Grub的menu.lst文件。
lilo.conf:
#The lilo.conf of the writer
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/cosixmsg //指出开机画面的文件所存放的路径和文件名
prompt
password = wudi //密码是wudi
timeout=50 //在5秒之后引导默认的操作系统
default=dos //默认启动选项dos
image=/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文件:
timeout 5 //在5秒之后引导默认的操作系统
default 1 //默认启动选项dos
# → linux ← //指定操作系统的名字LINUX
title linux root (hd0,6) kernel /boot/vmlinuz-2.2.16 root=/dev/hda7 ro
initrd /boot/initrd-2.2.16.gz
# → linux END ←
# → dos ← //指定操作系统的名字DOS
title dos root (hd0,0) chainloader +1
# → dos END ←
通过以上对Grub和LILO的讲解,读者可能已经对这两种bootloader有了较深地理解,但是还需要经过大量反复地练习,才能很好地掌握。
Bootloader。
Grub可以引导很多PC上常用的操作系统,其中就有
Linux、FreeBSD、Solaris、Windows 9x、Windows
NT;可以载入操作系统的内核和初始化操作系统;可以把引导权直接交给操作系统来完成引导;可以直接从FAT、minix、FFS、ext2或ext3分
区读取Linux内核。Grub 有一个特殊的交互式控制台方式,可以手工装入内核并选择引导分区。
初识Grub和LILO
1.Grub与LILO的优缺点
◆ 8.4GB问题
以
前大多数Linux所带较旧版本的LILO都有这样的一个问题:启动/boot分区不能分在超过1023柱面的地方,一般是在8.4GB左右的地方,否则
LILO不能安装,或者安装后不能正确引导系统。Grub就不会出现这种情况,只要安装时大硬盘是在LBA模式下,它就可以引导根分区在8GB以外的操作
系统。目前,在LILO较新的版本中这个问题已经做了很好处理。
◆ 漂亮的Logo
Grub引导开机显示一个漂亮的开机画面,它可以是640×480、800×600、1024×768等各种模式画面, 而且可以支持自动选择最佳图像模式。Linux爱好者可以通过改变这幅图片来制作个性化开机画面。
LILO源于文字界面,因此它在最新的版本中对开机画面的支持也是很有限的。
◆ 执行模式
Grub
不但可以通过配置文件进行引导,还可以在选择引导前动态改变引导参数,动态加载各种设备。例如,在Linux下编译了一个新的核心,但不能确定它能不能工
作,就可以在引导时动态改变Grub的参数,此时即使Grub菜单配置不正确,但仍可以引导系统。Grub的命令行有非常强大的功能,而且支持如bash
一样的历史功能,可以用上下键来寻找以前的命令。LILO就不支持这种模式。
在LILO下,既可以手工输入操作系统的名字来引导不同的操作系统,也可使用一个菜单来选择不同的系统进行引导。Grub也兼容以上的操作。
◆ 分区对Grub与LILO的影响
LILO
是通过读取硬盘上的绝对扇区来装入操作系统,因此每次分区改变都必须重新配置LILO,如果调整了分区的大小及分区的分配,那么LILO在重新配置之前就
不能引导这个分区的操作系统了。而Grub是通过文件系统直接把核心读取到内存,因此只要操作系统核心的路径没有改变,Grub就可以引导系统。
Grub和LILO支持多种外部设备,支持多种文件系统,动态装载操作系统内核,甚至可以通过网络装载操作系统核心。Grub还支持多种可执行文件格式,支持自动解压,可以引导不支持多重引导的操作系统等。
Grub和LILO的参数比较
1.安装
敲
入“makebootable”命令,就可以安装Grub。而“lilo
-v”则是重新安装LILO。LILO引导扇区包括一个分区表的空间,所以LILO既可以安装在MBR中,也可以安装在某个分区的引导扇区。Grub和
LILO同时都可以安装在软盘之中。制作Grub的启动盘和制作LILO的启动盘相差不大。
要制作引导盘,需执行一些简单的步骤。首先确定Grub或LILO已经安装,并且在新的软盘上创建 ext2文件系统。然后进行安装,将一张空盘插入软驱,输入:
#mke2fs /dev/fd0
创建了ext2文件系统后,需要安装该文件系统。
(1)安装Grub
进入Grub的目录:
#cd /boot/grub
放入一张软盘,执行以下命令:
#dd if=stage1 of=/dev/fd0 bs=512 count=1
#dd if=stage2 of=/dev/fd0 bs512 seek=1
Grub启动盘就完成了。
(2)安装LILO
#dd if=/dev/hda of=/dev/fd0 bs=512 count=1(因为LILO已经安装在MBR中)
执行上述命令后LILO启动盘就完成了。
Grub
启动时,会在/boot/grub/中寻找一个名字为menu.lst的配置文件,如果找不到此文件则不进入菜单模式直接进入命令行模式。
menu.lst
是一个文本文件,可以用任何一个文本编辑器打开它。每一行代表一个配置命令,如果一行的第一个字符为“#”,则表明这一行为注释,可以简单地用增加或减少
注释行来改变配置。LILO使用一个文本文件/etc/lilo.conf作为其配置文件。LILO读取lilo.conf,按照其中的参数将特定的
LILO写入系统引导区。如果修改了/etc/lilo.conf,就必须重新运行LILO命令,以保证LILO正常运行。
Grub和LILO有很多的相似的参数,见表1所示。
表1 Grub和LILO参数比较
相似功能 Grub的具体参数 LILO的具体参数
在second秒之后引导默认的操作系统 timeout second timeout=tsecs
默认启动选项 default num default=name
指定操作系统的名字和描述 title OS mode label
指出linux内核的路径 Kernel image
指出开机画面的文件所存放的路径和文件名 Splash pathname/filename message=message-file
2.配置
(1)Grub和LILO共同的配置(括号内为LILO的参数)
指定引导默认的操作系统的等待时间:
timeout second(timeout=tsecs)
上面代码表明设定second秒之后引导默认的操作系统。如果是timeout 5,就是5秒没有其它指令就引导系统;如果设成-1,则Grub会一直等待直到用户选择一个选项为止。
LILO中,timeout=50同样设置等待键盘输入的时长,单位是0.1秒。超过这段时间没有输入则为超时,系统将自动引导缺省的操作系统。如果不设置本参数,缺省的超时时间长度为无穷大。
指定引导的默认操作系统:
default num(default=name)
Grub
中默认启动第num+1行的操作系统,default=1则启动第2个系统。LILO中是通过default=name指定缺省引导的操作系统,如
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以只读的方式打开。
LILO中是以image=filename来指定含有一个Linux内核的启动选项的文件或设备。
指定引导操作系统时的信息文件:
Splash pathname/filename(message=message-file)
上
面代码指出Grub开机画面文件所存放的路径和文件名。LILO中,message=message-file命令用于指定一个包含注释信息的文件,该文
件将在系统“LILO”之前显示。如果在LILO启动时想获取较多的信息,可以编辑这个文件,再使用该命令就可以了。文件中如果包含有ASCⅡ码为
0xFF的字符(Ctrl+L)则表示清屏。注意,文件的大小不能超过65535个字节。每次文件改变之后,都必须重新运行LILO命令重建map文件,
以保证其正常显示。
指定引导操作系统的名称:
title OS mode(label)
上面代
码指出的字符就是Grub菜单项上所看见的选项,你可以写上操作系统的名字和描述,如用 title Linux、 Single
Mode代表这一选项是引导此Linux的单用户模式。在LILO中,label=name通过此参数来标识当前操作系统,即操作系统名。用户可通过在
LILO提示后输入name来引导特定的操作系统。
(2)LILO的配置信息
在LILO.conf中,最多有16个操作系统选项,它比Grub有更大的灵活性。LILO.conf配置文件主要分为两部分:一部分是全局配置;另一部分是引导配置,“#”表示注释。
◆ LILO的全局配置
全局参数是全程有效的,它可以出现在文件LILO.conf中的任何地方。
指定引导操作系统文件的备份:
backup=backup-file
force-backup=backup-file
install= file
在
装入LILO之前,将原先的引导区备份到backup-file。它可以备份到一个设备上,用户可以通过dd if=/boot/boot.bak
of=/dev/hda bs=446
count=1恢复原先的MBR。force-backup=backup-file类
似“backup”,但是会覆盖原有的同名文件。install=
file将指定的文件作为新的引导扇区来安装,若未设置install选项,则将boot/boot.b作为默认缺省值使用。
指定一个用于安装LILO的设备:
boot=boot-device
上面代码指定一个用于安装LILO的设备。通常LILO可安装在如下几个地方:
MBR:第一个硬盘的主引导区, 对应于/dev/hda、/dev/sda或者是/dev/hda0等。
Root: Linux根分区“/”上。
Floppy: LILO安装在软盘上,对应于/dev/fd0。LILO缺省安装在根分区超级块上。
指定用于优化压缩LILO:
compact
该参数用于优化压缩LILO,让LILO把相邻扇区的多次读取请求合并成一次读取请求,从而使MAP文件更小。因此,从软驱读取时推荐使用 compact 选项。
指定强制LILO等待用户的键盘输入:
prompt
delay=tsecs
prompt forces
prompt
给出“boot:”提示,强制LILO等待用户的键盘输入,按下回车键则立即引导默认的操作系统;按下Tab显示可供选择的操作系统。大多数情况下,如果
有多个操作系统应该使用参数,这样留给用户一个选择的余地。在没有指定“prompt”参数时,LILO将立即引导缺省的操作系统。“delay”参数在
这之间插入一段延时,单位是1/10秒。如果未设置delay选项或设为0,则引导装入程序就不会等待。prompt
forces不等待任何的按键事件发生,就直接进入启动提示符模式。如果设定了prompt选项而没设定timeout选项,则不能自行启动。
指定非标准硬盘的具体参数:
disk=device-name
上面代码指定了非标准硬盘的具体参数。它有以下的几个参数:bios,设备号;sectors,硬盘扇区数;heads,硬盘磁头数;cylinders,硬盘柱面数;partition,用于物理定位特殊硬盘上的分区;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参数使LILO忽略它。这对用于测试一个不长期存在的Linux内核是有用的。
指定LILO设置口令保护:
password=password
restricted
上
面代码为LILO设置口令保护,每次重新启动计算机提示用户输入口令。因为这个密码是明文的,设置了口令后建议将LILO.conf的文件属性改为
000,以免让非root用户看到口令。restricted
与password联用,使“password”仅作用于在LILO提示后有参数输入的时候。
指定串行口控制器的参数:
serial=parameters (port, bps,parity,bits)
这将初始化指定的串口,并将使引导管理器能接收来自串口的输入。
参数如下:
〈port〉 表示的串口号。
〈bps〉 串口速率。
〈parity〉设置串口校验。一般情况下,LILO忽略奇偶校验。n表示无校验,e表示偶校验,o表示奇校验。
〈bits〉字符位数,只能取7或8,缺省值是8。当有奇偶校验时只能取7。
用下面命令可以打开进程报告:
verbose=level
append=string
数目越大给出的冗长输出越多。如果在LILO命令行中附加参数-v,则冗长标准也相应增加,最大的冗长标准是5。
append传递一个特殊硬件的参数串string给Linux系统的内核。它常用来配置一些Linux不能正确测试到的硬件设备。例如:append = “hda=128,64,200”指明该硬盘为128柱面、64磁头、200扇区。
指定RAM盘的大小:
ramdisk=size
size为零时不建立RAM盘。忽略此参数时,RAM盘大小由Linux内核引导程序决定。
指定以何种读写方式载入根文件系统:
read-only
read-write
从字面上可以知道它们分别是通知LILO以只读方式载入根文件系统,以读写方式载入根文件系统。
指定LILO引导Linux系统时的VGA模式:
vga=mode
指定LILO引导Linux系统时的VGA模式,有以下的参数值:
normal 常规80×25文本模式。
extended 80×50文本模式。
ask
引导时询问用户使用哪一种VGA模式,这时敲回车键将显示一个可分配的VGA模式表。如果不指定VGA模式,系统将缺省地使用包含在系统内核里的VGA模式值。
◆ 引导配置
引导映像参数作用于每一个引导区。
设置包含Linux内核引导映像的文件或设备:
image=pathname
设置包含非Linux操作系统:
other=pathname
如DOS、Windows 95等系统引导的文件或设备,以提示启动其它独立的系统。
range=start-end
alias=name
loader=chain-loader
如
果“image”参数被设置为一个设备,则Linux内核引导程序的存放范围必须被range=start-end设置。alias给当前操作系统起一别
名。loader=chain-loader指定LILO所需要的特定的引导程序,缺省值是/boot/chain.b。
LILO运行时会给出一些提示信息,这些信息对于深刻地了解Bootloader是很有益的。表2罗列了一些错误信息供参考。
表2 LILO出错信息
LILO出错信息 代表的意义
LILO提示信息 NULL LILO没有安装或者安装lILO的分区没有被激活
L LILO的第一部分已经被装入并运行了,但它不能装入第二部分的引导程序。这种情况通常发生在介质访问失败或硬盘参数错误。
LI LILO第一部分正确,但是第二部分执行时出错。一般是硬盘参数有误或/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边界。由于“compact”参数造成。
0x0C 无效的磁盘介质。
0x010 “CRC错误”,检测到介质错误。建议多启动几次,运行map安装程序,把map文件从坏块写到正常的介质上。
0x11 ECC纠正成功。读错误发生然后被纠正,但是LILO并不知道这个情况,终止了启动过程。
0x20 磁盘控制器错误。
0x40 磁盘定位失败,磁盘介质问题。
0x80 磁盘超时。磁盘或驱动器没有准备好,介质坏了或没有磁盘。
0xBB BIOS错误。磁盘与BIOS配置不符。
(3)Grub配置信息
与LILO相比,Grub有更强的交互性。下面就以它的命令来理解这个bootloader 。
进入菜单,按“e”是编辑启动命令,按“c”是使用命令行。按“e”键可以编辑所选项的启动命令,用这个功能可以临时改变系统的启动参数。
要启动一个操作系统,首先指定引导哪个分区上的系统,例如要引导第一个硬盘上的第一个分区的操作系统,先键入:
grub>root (hd0,0)
如果要启动的是Windows系统,键入:
grub>chainloader (hd0,0)+1
注意,(hd0,0)要随着硬盘和分区的不同而改变。
如果要引导Linux或其它系统,应键入:
grub>kernel (hd0,6)/boot/vmlinuz root=/dev/hda7
注意,磁盘参数也要随着硬盘和分区的不同而改变,如从第二个硬盘的第一个分区引导则用hdb1,最后敲入boot就可以启动系统了。
在不能确定命令或者命令的参数时,都可以按“Tab”获得相关的帮助;用上下键可以获得命令的历史记录,这些就像在Linux中使用bash一样简单。也可以键入启动命令,然后boot就可以引导系统了。
Grub下生成引导盘:
grub> root (fd0)
grub> setup (fd0)
grub> quit
如果要把Grub装到硬盘上,也很容易。如果安装到MBR,则可以指定整个磁盘而不必指定分区,如下(对于hda):
grub> setup (hd0)
如果要将Grub安装到/dev/hda7的引导记录中,应输入:
grub> setup (hd0,6)
综上所述,LILO要求用户十分明白每个参数才能很好地掌握;而Grub则更加看中用户的交互性,两者在bootloader中不分伯仲。
实例
下面就以我的lilo.conf为例,把它翻译成Grub的menu.lst文件。
lilo.conf:
#The lilo.conf of the writer
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/cosixmsg //指出开机画面的文件所存放的路径和文件名
prompt
password = wudi //密码是wudi
timeout=50 //在5秒之后引导默认的操作系统
default=dos //默认启动选项dos
image=/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文件:
timeout 5 //在5秒之后引导默认的操作系统
default 1 //默认启动选项dos
# → linux ← //指定操作系统的名字LINUX
title linux root (hd0,6) kernel /boot/vmlinuz-2.2.16 root=/dev/hda7 ro
initrd /boot/initrd-2.2.16.gz
# → linux END ←
# → dos ← //指定操作系统的名字DOS
title dos root (hd0,0) chainloader +1
# → dos END ←
通过以上对Grub和LILO的讲解,读者可能已经对这两种bootloader有了较深地理解,但是还需要经过大量反复地练习,才能很好地掌握。
发表评论
-
Samba的配置
2012-05-03 15:08 928建立共享群组可读写文 ... -
Windows Ubuntu 双系统 更改启动选项 设置启动顺序
2012-04-23 14:07 2047ubuntu 10.04:/etc/default/grub ... -
Ubuntu 10.04,myeclipse报错: sqlite version error
2012-04-23 11:22 943Ubuntu 10.04,myeclipse报错: sqlit ... -
自定义Linux shell 命令行提示内容和颜色
2012-04-20 09:59 1235http://www.ibm.com/developerwor ... -
Linux kernel panic,删除多余内核,更新grub
2012-04-19 18:38 2675升级内核之后会存在多余内核. 如果降版本,还会存在不能使用的高 ... -
Linux 压缩解压汇总
2012-04-19 16:42 1051tar命令 [root@linux ~]# tar [-cxt ... -
nohup 命令
2012-04-19 16:38 1034nohup 命令 用途:LIN ... -
Linux的几个关机命令和区别
2012-04-19 16:32 987最近客户的一台SUSE 10的 ... -
ORA-03106: fatal two-task communication protocol error
2012-02-13 15:27 2255最近遇到这个问题,还没解决,先拷贝下来慢慢研究 使用sq ... -
Linux 重启之后时间重置的解决办法
2011-12-11 20:02 2472最近将应用部署到测试环境上之后,由于经常断电,应用服务器也经常 ... -
Linux上安装subversion手记
2011-11-17 12:47 1129Linux上安装subversion手记(包括apach ... -
linux下tomcat设置最大连接数,设置最大内存
2010-12-29 18:17 13518linux下tomcat设置最大连接数,设置最大内存,使用Jc ... -
linux中的只读文件, 如何修改linux系统语言
2009-03-31 17:54 4839linux没有只读文件,只有无权限写入文件 chmod a+w ... -
Client does not support authentication protocol...
2009-03-31 09:52 1385错误MySQL 返回: #1251 - Client doe ... -
Linux启动分析
2009-01-25 22:54 1106Linux操作系统的引导加载程序(对个人电脑而言通常是LILO ... -
Grub配置、解释
2009-01-25 22:50 1282先看一个grub设置: timeout 10 def ... -
Grub安装、配置、使用
2009-01-25 22:48 1533(一)安装linux时安装 ... -
简短oracle安装说明
2008-12-31 16:25 1664下面以 $ 开头的命令都是由oracle执行的 ... -
linux 重要配置文件
2008-12-31 16:23 1780启动引导程序配置文件LILO /etc/lilo.conf ... -
linux下安装陈桥五笔
2008-12-25 16:56 1255注意:系统必需安装chinput输入法,要不就无法使用智能陈桥 ...
相关推荐
### Linux_GRUB:详解与应用 #### 一、引言:理解 GRUB 的角色与重要性 GRUB(Grand Unified Bootloader)是 Linux 操作系统中最常用的启动加载器之一,它不仅支持 Linux,还能引导 Windows 等其他操作系统。本文...
#### GRUB的引导流程详解 - **基本引导装载程序**:这是位于主引导扇区中的最小化引导代码,其任务是加载GRUB的第二阶段引导程序。由于MBR的空间限制(仅512字节),这部分代码十分精简,仅包含加载下一阶段所需的...
### Linux卸载后删除Grub引导方法详解 在完成Linux操作系统的卸载后,许多用户可能会遇到一个问题:原有的Grub(或LILO)引导界面依旧存在,这不仅影响了系统启动时的体验,还可能阻碍Windows等其他操作系统的正常...
2. **引导加载程序**: 如GRUB或LILO被加载,负责引导Linux内核。 3. **内核初始化**: 内核初始化硬件设备,如SCSI卡,并启动init进程,它是系统中第一个进程,PID为1。 4. **init进程**: Init读取`/etc/inittab`,...
与LILO不同的是,GRUB使用一个配置文件来管理启动选项,这避免了每次修改配置后都需要更新主引导记录(MBR)的麻烦。这一特性极大地简化了系统管理和维护过程,尤其是对于多操作系统共存的情况,用户可以通过简单的...
此外,在此目录下通常还会存放GRUB或LILO等系统引导管理器的相关文件。 - **GRUB引导器**:GRand Unified Bootloader(GRUB)是现代Linux系统中最常用的引导加载程序之一。它能够支持多种操作系统,并且具备高级...
GRUB和LILO都会将操作系统内核从硬盘复制到RAM中,但GRUB提供了更多的灵活性和控制选项,例如在多操作系统环境中选择启动顺序和参数。 #### 三、内核加载与解压 当Bootloader成功读取MBR并启动后,它会加载Linux...
### 无驱动的Linux安装教程详解 #### Linux安装概述 Linux是一种开源的操作系统,因其高度的定制性、稳定性和安全性而被广泛应用于服务器和个人电脑上。对于初次接触Linux的用户来说,了解如何安装Linux是非常重要...
GRUB(Grand Unified Bootloader)和LILO(LInux LOader)是两种常见的引导加载程序,它们负责从硬盘读取操作系统的核心文件并加载到内存中,进而启动操作系统。当BIOS完成其任务后,它会读取硬盘的MBR,其中包含了...
1. **Boot分区**:这是Linux启动所需的分区,通常用于存放内核和引导加载器如GRUB或LILO。在示例中,创建了一个100MB的EXT3 Boot分区。 2. **交换分区(Swap分区)**:相当于Windows系统中的虚拟内存,用于扩展物理...
本文将详细介绍如何在不同的Linux发行版中,包括使用GRUB或LILO作为引导加载器的情况下,通过单用户模式修改root密码的方法。 #### 二、进入单用户模式并修改密码 ##### 2.1 使用GRUB进入单用户模式 **步骤1:** ...
4. 加载GRUB:CPU 将 MBR 读取至内存,运行GRUB(Boot Loader 常用的有 GRUB 和 LILO 两种,现在常用的是GRUB),GRUB 会把内核加载到内存去执行。 5. 加载内核:GRUB 把内核加载到内存后展开并运行,此时 GRUB 的...
配置文件(如GRUB的grub.conf或menu.lst,LILO的lilo.conf)用于设置这些参数,影响内核的启动行为。 ### 驱动模块的加载与卸载 - **加载**:`insmod`、`modprobe`或`rmmod`命令用于加载、查找和卸载内核模块。`...
安装引导选择器(类似于GRUB或LILO),这将帮助您在多系统环境中管理启动顺序。 #### 十一、设定NetBSD磁盘分区 在本步骤中,您需要手动设定NetBSD的磁盘分区大小及挂载点。确保所有分区大小之和不超过BIOS分区的...
常见的引导加载器有GRUB(Grand Unified Bootloader)和LILO(LInux LOader)。引导加载器可以从MBR加载,也可以从每个分区的启动扇区(VBR,Volume Boot Record)加载。引导加载器允许用户选择要启动的操作系统或...
与之相比,Lilo(LILO,LInux LOader)是较早的Linux引导加载器,虽然现在一些发行版如Slackware仍使用Lilo,但GRUB由于其功能强大和配置简便,已经成为主流选择。此外,Yaboot主要应用于PowerPC架构的机器,对X86...
检查 `/boot/grub/grub.conf` 或 `/etc/lilo.conf` 文件,确保新内核被添加到启动菜单中。 9. **测试和验证** - 启动新内核后,确保所有硬件工作正常,所有必要的驱动都已经加载,并且系统性能达到预期。 通过...