LILO利用指南.docx
- 文档编号:7486271
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:11
- 大小:22.71KB
LILO利用指南.docx
《LILO利用指南.docx》由会员分享,可在线阅读,更多相关《LILO利用指南.docx(11页珍藏版)》请在冰豆网上搜索。
LILO利用指南
LILO利用指南
作者
运算机的最初启动是由BIOS操纵的,在对一些硬件(如:
内存、键盘等)初始化以后,它会试图加载硬盘的主引导记录(MBR)或软盘的引导扇区。
MBR可通过两种方式运行,其一是定位到活动分区并加载相应的引导扇区,然后由引导扇区完成该分区内操作系统的大体组件的加载;其二是直接从一指定分区中加载信息,并通过它装入任一分区的操作系统,诸如LILO、gurb,OS/2bootloader及PartitionMagic等引导加载程序都能够配置成这种方式。
软盘的引导扇区相当于硬盘活动分区的引导扇区,它通经常使用于装入软盘上的操作系统。
只要把LILO之类的多重引导器安装在MBR、活动分区或引导软盘上,就能够接管运算机的操纵权,然后由多重引导器完成后继的引导进程。
LILO中建有一个引导表地址编码,借此它的引导程序就能够定位到Linux的内核文件,这种地址编码既能够依照柱面/磁头/扇区(CHS)模式,又能够采纳LBA的线性块号模式,因此,即便对某些SCSI操纵程序LILO也能运转良好。
一,MBR仍是Linux的根分区
第一碰到LILO,估量应该在你安装Linux的时候,你会被要求选择LILO的安装处,是MBR仍是Linux的根分区。
若是你有其他的启动治理程序例如BootMagic或SystemCommander等,而且想利用他们,那么你应该把LILO安装到Linux的根分区。
若是你选择利用LILO作为启动治理程序,就能够够选择MBR。
若是你想在启动时传递参数给内核,也应该利用MBR。
利用LILO作为启动程序后,机械启动后就会有LILO:
的提示符,按下TAB键,能够看到能够选择的操作系统列表。
输入其中的操作系统标签名就能够够启动到对应的操作系统,或直接输入回车启动到缺省的操作系统。
在中提及的映象可多达16个.
二,用法详解
咱们来看一个LILO启动的配置文件(/etc/)实例:
boot=/dev/hda3
map=/boot/map
install=/boot/
prompt
timeout=50
message=/boot/message
default=new
image=/boot/vmlinuz-2.4.3
label=new
read-only
root=/dev/hda3
image=/boot/vmlinuz-2.2.19
label=linux
read-only
root=/dev/hda3
other=/dev/hda2
label=dos
本配置文件指定LILO利用在/dev/hda途径上的主引导记录。
启动时,引导装入程序会等待5秒的时刻
让你按SHIFT键。
若是未按,那么上述提及的第一核心映象(vmlinuz-2.4.3),将被启动。
若是按下了SHIFT键那么引导装入程序就会问你要启动哪个映象。
万一你忘了该选择启动哪个映象,按[TAB]就会有个菜单给你选择。
你在这时能够选定或启动那个全新的内核,或启动一个原先靠得住的内核,或启动一个不同的操作系统。
由上可见,一个配置文件以一系列的全局选项开始),随之是不同映象选项的描述。
在映象描述中的选项
将会覆盖全局选项所设定的内容。
全局选项部份
boot=boot-device
设定包括引导扇区的设备的名称(如一个硬盘的分区)。
若是未指定该关键字引导扇区将从当前作为根文件系统安装的设备中读取(或可能也会写入)。
compact
试图将相邻扇区的多次读取请求归并成一次读取请求。
如此就大幅度地减少了读取时刻,并使系统描述(MAP)更小。
在从软驱进行读取时尤其要利用compact选项。
default=name
利用专门指定的映象作为默许的启动映象。
若是未设置defaul选项,那么将利用在该配置文件中最先显现的那个映象作为启动映象。
disc=device-name
概念特定硬盘的非标准参数。
其关于概念BIOS=参数尤其有效。
假设你的硬盘的BIOS数据是0x80,0x81(十六进制)等等,将无法判定哪一块Linux磁盘与哪一块BIOS磁盘相对应(因为这决定于BIOS的设置
和BIOS的类型)。
因此假设你采纳的是非一样的安装,那你就需要说明LINUX磁盘和BIOS磁盘间的对应关
系。
比如:
map=map-file
定位磁盘描述(MAP)文件。
假设未指定map选项,就会利用/boot/map文件。
message=message-file
指定一个含有在运行启动提示符前显示的信息的文件。
在显示出LILO后等待按键的时刻里可不能有信息
显示。
在信息中,用FF字符([Ctrl+L])清空本地显示器。
信息文件的大小限制在65535字节之内。
若是信息文件被改动或取消那么必需重建磁盘描述(Map)文件。
prompt
不等待任何的按键事件发生就直接进入启动提示符模式。
如设定了promp选项而没设定imeout选项,那么不能自行启动。
timeout=tsecs
为键盘输入设定一个超时选项(以10分之一秒为单位)。
假设在指定的时刻内没有按键那么第一个映象就会被自动启动。
一样,如过用户停顿太长那么密码输入就会被取消。
默许的超时值是无穷。
另外,内核配置参数append,ramdisk,read-only,read-write,root和vga都可在全局选项中被设定。
若是在相应的核心映象的配置栏中没对其加以指定,该设定值其就会被用做默许的缺省值。
单一映象部份
一个单一映象或以一行
image=pathname
开始(以提示含有一个LINUX内核的启动映象的文件或设备),或以一行
other=pathname
开始以提示启动其他独立的系统。
label=name
引导装入程序利用每一个映像说明的主文件名(不包括途径)来标识该映像。
通过设定变量label可利用不同的名称。
alias=name
通过指定一个别名可对同一个目录利用第二名称。
password=password
用密码爱惜映像。
restricted
假设是在命令行被指定各参数那么只在启动映像使需要输入密码。
内核选项部份
若是被启动的映像是一个LINUX内核,那么能够将命令行参数传送到该内核。
append=string
将指定的各选项增加到传送于内核的参数行。
其典型的运用于指定不能完全自检或彻查对其有危害的硬盘
的参数。
比如:
append="hd=64,32,202"
ramdisk=size
该选项指定了任选RAM磁盘的大小。
0表示不该创建任何RAM磁盘。
假设不指定该参数,那么利用在根文件系统中成立的RAM磁盘大小。
read-only
采纳read-only选项时,系统会把根分区挂接为只读方式,推荐采纳那个选项,因为fsck程序要求文件系统只读。
但不用担忧你的根分区会不能写入了,相反,系统一旦启动就会把根分区挂接为读写方式。
read-write
其指定根文件系统应以可读写方式装载。
root=root-device
该参数指定应作为根文件系统装载的设备。
若是目前利用的是指定的名称,那么根驱动器就设在根文件系统目前所在的设备上。
若是根设备被-r参数所修改,那么利用相应的设备。
假设未指定oot参数,那么利用包括核心映象的根设备设置(该设置是编译内核时在内核的Makefile文件顶用ROOT_DEV变量设定的,并稍后可用rdev(8)程序修改)
vga=mode
其指定在启动时应选择的VGA文本模式。
以下数值可被识别(忽略大小写):
normal:
选择一般80x25文本模式。
extent(或ext):
选择80x50文本模式。
ask:
停止并要求用户的输入(在启动时)
:
利用相应的文本模式。
在启动时用vga=ask选项或按[Enter]都可取得一个可用模式的列表。
假设未指定该参数,那么利用在核心映像中取得的VGA文本环境。
(该设置是编译内核时在内核的makefile文件顶用SVGA_MODE变量设定的)
LILO也能够让你手工在LILO提示符下传递这些参数。
例如:
LILO:
linuxsingle
确实是告知Linux启动Linux进入单用户模式。
在引导区损坏时,能够从软盘启动,然后指定硬盘的根来修复硬盘引导扇区。
LILO:
linuxroot=/dev/hda3
LILO引导其他类型的操作系统和引导Linux一样配置,可是加倍简单:
other=/dev/hda3
label=dos
table=/dev/hda
other指明操作系统所在的分区,一样的和Linux下的image一样也需要给定一个标签(label),table选项指向包括分区表的设备,那个选项必不可少,因为LILO会从那个那个分区表寻觅对应的分区信息,然后把他传递给要启动的操作系统。
对的任何改变都要求从头运行/sbin/lilo,保证最新的改变能写入分区。
另外,若是你升级内核或重构了initrd映像,也需要从头运行/sbin/lilo。
运行/sbin/lilo后,能够看到如下信息:
Addedlinux*
Addeddos
表示各类映像已经写入分区,带有*的分区是目前的缺省引导分区。
能够用-D参数改变缺省引导分区:
/sbin/lilo-Ddos
Addedlinux
Addedwindows*
能够看到缺省分区已经成为windows了。
install=boot-file
将指定的文件作为新的引导扇区来安装。
假设未设置install选项,那么将boot/作为默许缺省值利用。
linear
产生线性扇区地址而非“扇区/磁头/柱面”地址。
线性地址不依托于磁盘的分区结构,且在运行时被翻译。
注意若是使了linear选项那么可能使启动盘不能被移植,这是因为BIOS顶用于决定磁盘分区结构的效劳对软盘的作用不稳固。
在对大硬盘利用linear选项时,由于3D扇区地址在启动前是未知的,故/sbin/lilo可能会产生对不可访问的磁盘区域的一个参考。
lock
许诺自动记录引导命令行,作为以后启动的默许缺省值。
如此,在手工取消之前lilo会锁定一个选项。
loader=chain-loader
该参数指定了将利用的连锁装入程序。
利用默许缺省/boot/。
若是是从其他设备而非第一硬盘或软盘启动那么必需指定连锁装入程序。
三,关于lilo的问题
<一>;、先装了Windows,再装Linux时,不能安装LILO。
这是大多数Linux新手的问题;
有些BIOS不能识别大于的硬盘,旧的LILO不能识别位置大于1024柱面的系统内核(kenerl)。
因此可能的问题是:
LILO被装入MBR,而为Linux预备的硬盘分区远在1024柱面之外,因此Linux不能引导;LILO被装入Linux的root分区(根分区),而它恰好在之外,又挂了!
解决方案:
或许你已经安装了Linux,不要delete它,改改还能用!
好,此刻开始:
1.用在第一个硬盘的开始分出个10M的ext2分区,格式化。
最好把为Linux预备的分区也一同预备好,免得以后麻烦。
2.用Loadlin或Linux的boot和rescue盘引导系统。
mount那个10M的分区--/dev/hda1,假设我利用boot和rescue盘,mount到/mnt/tmp。
把/boot/*和内核映象文件拷贝到/dev/hda1相同的目录下,编辑/etc/,在所有的目录前加上/dev/hda1的mount途径,而且将LILO安装到/dev/hda1。
把中的
boot=/dev/hda
install=/boot/
message=/boot/bootmsg
map=/boot/map
image=/boot/vmlinuz-2.2.13
修改成
boot=/dev/hda1
install=/mnt/tmp/boot/
message=/mnt/tmp/boot/bootmsg
map=/mnt/tmp/boot/map
image=/mnt/tmp/boot/vmlinuz-2.2.13
挪用lilo命令,从头安装LILO。
重起系统,就完了。
记住,要卸载Linux,能够用DOS下的fdisk/mbr清除MBR中的LILO。
<二>;、多重引导NT、9x和Linux,而且想要比LILO更有好的界面,Linux+NT-Loader-mini-HOWTO中有详细的介绍;
要紧的问题是如何将Linux的引导记录写入bootsect.?
?
?
文件,那个地址假设你已经成功地安装好Windows9x与NT了。
(那个地址假设Linux安装于第一个逻辑分区,在Linux下为/dev/hda5,Windows9x安装于第一个主分区,在Linux下为/dev/hda1,WindowsNT安装于第二个主分区,在Linux下为/dev/hda2。
)
解决方案:
用Loadlin或Linux的boot和rescue盘(指BluePoint光盘的启动选项,RedHat里仿佛没有)引导Linux系统。
(loadlin比较好,rescue盘上可能没有mtools,只能mountcpumount)用一下几句命令创建该文件:
ddif=/dev/hda5of=/root/bs=512count=1
插入软盘,
mcopy/root/a:
从头引导系统,进入DOS会快一些看到你的功效,进入ntldr所在硬盘分区的根目录,或说安装WindowsNT前可引导的硬盘分区的根目录(那个地址是Windows9x)。
拷贝软盘上的文件。
去除的只读、隐藏属性。
在最后添加c:
="GotoLinux"。
存盘退出,添加的只读、隐藏属性。
从头引导系统,再碰运气!
注意在对Linux内核的作任何修改后,都必需重作以上步骤,才能正确引导Linux系统。
<三>;、安装多余一个的Linux系统;
要紧的问题仍是若是多个Linux的LILO或根分区不能被BIOS找到,系统就会挂起!
那个地址假设BluePointLinux安装于第一个逻辑分区,在Linux下为/dev/hda5,RedHatLinux安装于第二个逻辑分区,在Linux下为/dev/hda6。
)
解决方案:
咱们就一样的建个10M的分区。
将两个Linux的引导文件多拷贝到此分区,一般是/boot下的一切,有可能还有/vmlinuz--内核文件,依Linux的发行版本而不同。
建议将其分装入两个目录。
假设为/bootBlurPoint和/bootRedHat。
编辑文件:
原始
boot=/dev/hda
install=/boot/
message=/boot/bootmsg
map=/boot/map
image=/boot/vmlinuz-2.2.13
label=linux
root=/dev/hda1
修改成
boot=/dev/hda1
install=/mnt/tmp/bootBluePoint/
message=/mnt/tmp/bootmsg
map=/mnt/tmp/bootBluePoint/map
image=/mnt/tmp/bootBluePoint/vmlinuz-2.2.13
label=BluePoint
root=/dev/hda5
image=/mnt/tmp/bootRedHat/vmlinuz
label=RedHat
root=/dev/hda6
<四>;,从主引导记录中移走LILO并重存原先的windowsMBR
1.c:
>;fdisk/mbr
2.#/sbin/lilo-u/dev/hda
3.#ddif=/boot/of=/dev/hdabs=446count=1
4.#cat/boot/>;/dev/hda
注意:
只有你原先安装windows95后再安装Linux时,/boot/才是你原先的windows95MBR。
<五>;,重存LILO到MBR
1.用安装软盘或光盘启动到boot:
boot:
vmlinuzroot=/dev/hdXY(如:
hda1)
启动完成后运行#/sbin/lilo
2.用两张软盘启动后:
#mount-text2/dev/hda1/mnt
#ln-s/mnt/bootboot
#ln-s/mnt/etc//etc/
#/mnt/sbin/lilo
<六>;,拷贝LILO到软盘
1./sbin/lilo-b/dev/fd0
2.用Redhat安装盘引导到boot:
boot:
vmlinuzroot=/dev/hdXY(hdXY为你的根分区)
update/etc/
root=/dev/fd0
boot=/dev/fd0
再运行:
#/sbin/lilo-v
<七>;,制作一张RedhatLinux引导盘
#mkbootdisk--device/dev/fd02.2.19
<八>;,拷贝内核至软盘,让软盘单独引导Linux并挂上硬盘上的根文件系统。
#fdformat/dev/fd0H1440
#ddif=/boot/vmlinuzof=/dev/fd0
#rdev/dev/fd0/dev/hda1
四,lilo的启动错误显示分析
<1>;当LILO装入它自己的时候,显示单词"LILO":
每完成一个特定的进程显示一个字母。
若是LILO在某个地址失败了,屏幕上就停留几个字母,以指示错误发生的地址。
在技术文档中有更详细的描述。
(注:
LILO不是一个程序,而是一组程序)注意,若是磁盘发生刹时故障,可能会在第一个字母"L"后插入一些十六进制数字。
除非LILO停在那里并非断地产生错误码流,不然并非说明有严峻问题。
<2>;(<启动后什么也不显示>LILO一点也没装入。
LILO可能没有安装,或分区没有被激活。
<3>;L<错误码>;...LILO的第一部份已经被装入并运行了,但它不能装入第二部份的引导程序.两位数字的错误码指示问题的类型(请看后面"磁盘错误码"。
这种情形一般是在介质访问失败或硬盘几何参数(CHS,chs)不匹配。
LILILO的第一时期已经装入了LILO的第二部份,可是执行它失败.错误的缘故是硬盘几何参数不匹配或
/boot/被移动后没有重新运行映射(map)安装程序。
LIL第二时期已经启动,但它不能从映射(map)文件读出描述符表(descriptortable)典型缘故是介质
犯错或硬盘几何参数不匹配。
LIL?
LILO的第二部份被装入到错误的地址。
典型缘故是硬盘几何参数微妙的不匹配或/boot/被
移动而没有运行映射安装程序。
LIL-描述符表被破坏了。
这可能是/boot/map被移动后没有运行映射安装程序或几何参数不匹配。
LILOLILO的所有部份都被成功地装入。
10分区情形已经改变却没有从头安装LILO,听说超频也会出这种情形。
磁盘错误码:
0x00"内部错误"。
由LILO扇区读子程序产生.可能是因为被破坏的文件,重建map文件碰运气。
另一个原
因或许是,当利用linear参数时去访问超出1024的柱面。
0x01"非法命令"。
它不该发生,若是它显现了,意味着LILO去访问BIOS不支持的硬盘。
整理这份文档的时
候,我的一个朋友就碰到了L010101...的错误,因为他把Linux装在第二个IDE口上(/dev/hdc),加上Disk参数就好了。
0x02"没找到地址标记"。
一般是介质问题,多试几遍看看。
0x03"写爱惜错"。
仅在写操作时显现。
0x04"扇区未找到"。
典型的缘故是硬盘参数不匹配。
0x06"激活顺序改变"。
这应该是短暂的错误,再试一次。
0x07"无效的初始化"。
BIOS没有适本地初始化硬盘,热启动一次或许有帮忙。
0x08"DMA超出限度"。
这不该当发生,从头启动。
0x09"DMA试图越过64k边界"。
这不该当发生,建议忽略COMPACT参数。
0x0C"无效的介质"。
这不该当发生,从头启动看看。
0x10"CRC错误"。
检测到介质错误。
建议多启动几回,运行map安装程序,把map文件从坏块写到正常的介
质上。
0x11"ECC矫正成功"。
读错误发生然后被矫正,可是LILO并非明白那个情形,终止了启动进程.
0x20"操纵器错误"。
不该该发生。
ox40"定位失败"。
这可能是介质问题,从头启动试试。
0x80"磁盘超时"。
磁盘或驱动器没有预备好。
介质坏了或磁盘没有转,若是从软盘启动那么可能是没有关门。
0xBB"BIOS错误"。
这不该该发生,若是反复发生,那么考虑移去COMPACT参数或加上/取消LINEAR参数。
若是在写操作进程中发生错误,那么在错误码前有个前缀"w"。
尽管写错误并非阻碍启动进程,但它们指示一些错误,因为它们暗示系统中存在错误,一个好的建议是从头配置LILO成只读(read-only)。
五,忘记密码?
系统启动终止后您将看到一个基于操纵台的登录画面或基于XDM的登录画面。
以root身份登录,利用您安装时设定的密码。
若是您忘记了那个密码,
您能够利用single或emergencyboot选项。
在LILOboot:
提示符下敲入linuxsingle以boot进入单用户模式。
在单用户模式下,您的本地文件系统将被安装而网络效劳将可不能被激活。
在紧急事务模式下,系统几乎没有做任何设置工作,仅仅root根文件系统被安装,而且是只读方式。
进入单用户模式后,您能够利用passwd改变root的口令。
六,若是lilo被损坏或不能启动时,如何紧急启动系统?
您能够用光盘或安装软盘启动,显现boot:
提示符后键入:
vmlinuzroot=/dev/linuxrootpartitionnoinitrd
其中,root=后面填入您的linuxroot分区的分区号,例如:
vmlinuzroot=/dev/hda3noinitrd
回车以后,即可进入您的linux系统,您能够编辑/etc/编辑以后,运行/sbin/lilo即可完成。
______________________________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LILO 利用 指南