选择显示字体大小

全面了解linux加载器

lilo的引导机制
   计算机的启动是由bios控制的,在完成对硬盘配置的测试及初始化之后,便会根据指定的引导信息,寻找加载硬盘、软盘或光盘的主引导记录mbr(master boot record)或引导扇区。只要把lilo安装在mbr或活动分区上,就能取得引导控制权,由lilo完成各种引导过程。系统出现lilo boot:提示符后,按tab键,显示可引导选择项列表,然后输入选项或直接回车选择缺省配置。

   与os/2 boot loader和partition magic引导加载程序相比,lilo的灵活性更高,其引导方式也更加丰富:

   1.当lilo被安装在mbr上时,它能引导任意硬盘任一分区上的任一操作系统

   2.如果选择引导linux,它还可以直接传递参数到系统内核。

   3.能引导不同配置、不同版本的linux内核。

   4.能从网络引导linux系统。

lilo的配置方法
   lilo的配置一般有两种方法:命令配置和手工配置。通常情况下,在安装linux系统时就可以根据画面提示完成lilo的安装配置,从而解决多重系统的引导问题。如果对系统的分区、设备配置不是很熟悉,或不能正确理解安装画面的英文提示,可能无法正确安装配置。如果安装配置lilo失败,也不必大惊小怪,可使用手工配置来解决。手工配置的方法是用vi编辑命令来编辑/etc目录下的lilo.conf文本文件,然后在超级用户下执行lilo命令,将配置信息写入mbr即可。

常见问题及解决方法
   1.系统安装完成后重新启动系统时,屏幕没有任何提示。出现这种情况说明lilo没有正确安装到mbr。

   解决方法:用软盘启动系统,检查/etc/lilo.conf文件配置是否正确。如果不正确,可用vi编辑命令修改lilo.conf文件,然后再执行lilo命令将配置写入硬盘引导区。至于配置细节,可从以下配置实例来说明。

   例一.c盘为ide接口,d盘为scsi接口,引导文件在ide硬盘上,根文件在scsi硬盘上,其配置文件/etc/lilo.conf的内容为:

   # lilo configuration file

   boot=/dev/had(设定boot所在的位置为ide的mbr)

   delay=100(启动一个引导的等待时间)

   vga=normal(显示模式为标准vga)

   prompt(响应键盘输入)

   imgae=/vmlinuz(指定linux的核心文件)

   root=/dev/sda1(指定linux所在硬盘及分区)

   lable=linux(为系统起一个名字,以供引导时选择)

   read-only

   other=/dev/hda1(其他可引导设备)

   label=dos(其他系统为dos)

   table=/dev/had(设定dos所在分区)

   例二.c盘和d盘均为scsi接口,引导文件在c盘上,根文件在d盘上,光驱接口为scsi,其配置文件/etc/lilo.conf的内容为:

   #lilo configuration file

   boot=/dev/sha

   delay=100

   vga=normal

   prompt

   image=/vmlinuz

   root=/dev/sdb1

   label=linux

   read-only

   other=/dev/sda

   label=dos

   table=/dev/sda1

   2.系统启动时出现l xxxx,其中xxxx为错误代码,范围是0x00-0x80。出现这种画面时,可察看磁盘错误代码,尔后根据错误代码采取相应的措施。例如错误代码0x04表示扇区没有找到,比较典型的原因是硬盘c、h、s参数(该参数可用fdisk查到)不匹配。可以重新调整硬盘参数,再执行lilo。

   3.系统启动时出现lilo后死机。出现这种情况一般有以下几种原因:(1)硬盘c、h、s参数不匹配,重新调整硬盘参数后执行lilo;(2)使用双scsi硬盘,scsi id号设置不当,会出现系统自检为第二硬盘,而在安装系统时linux认为是第一硬盘,故在系统启动时不能正确装入。以笔者使用的aha2940scsi卡为例,如果将两块硬盘的id号都设置在id7以前,就会出现上述情况。正确的设置方法是将第一块硬盘设为id0,第二块硬盘设为id8,这样就不会出现上述情况了。

   4.系统引导时能出现lilo,但在引导过程中找不到硬盘。这种情况一般是因为linux的主分区在1024磁道以外,解决的方法是重新安装linux系统,将主分区调整到1024磁道以内。

   5.系统中既有ide硬盘又有scsi硬盘,linux的根分区建在scsi硬盘上,有些主板在系统引导时出现lilo后死机。出现这种问题是因为系统不能确定是ide为先还是scsi为先,这时可在lilo.conf文件加上以下语句解决:

   disk=/dev/sda

   bios=0x80(指定scsi硬盘为第一硬盘)

   sectors=63

   heads=255(chs的值根据实际填写)

   cylinders=1216

   disk=/dev/had

   bios=0x81(指定ide硬盘为第二硬盘)

   sectors=63

   heads=128(chs的值根据实际填写)

   cylinders=821

lilo的卸载
   在反复执行lilo进行引导系统地安装过程中,要使lilo正确、可靠的安装,每次最好对上次的安装进行卸载。lilo的卸载方式一般有两种,一种是dos方式卸载,具体步骤是在dos命令行下执行fdisk/mbr,即可将lilo卸下;第二种是在linux系统下卸载。lilo在安装引导扇区时,一般会在/etc目录下保留一个原引导扇区的备份文件boot.xxyy,其中xxyy是该引导设备的主、次设备号(major/minor number),linux的各种设备均放在/dev目录下,利用ls -l命令就可获得各种设备的主次设备号。ide接口硬盘的主设备号一般为03,相应的备份文件为boot.0300。scsi硬盘的主设备号一般为08,相应的备份文件为boot.0800。使用下面的命令即可卸下ide或scsi硬盘的lilo:

   dd if=/boot/boot.0300 of=/dev/had bs=446 count=1

   dd if=/boot/boot.0800 of=/dev/sda bs=446 count=1

建立mbr的备份
   为了防止引导区被破坏而无法引导系统,可建立一个mbr的备份(包括分区表),具体操作方法是:

   dd if=/dev/had of=/dev/mbr bs=512 count=1

恢复mbr
   当mbr被破坏,系统不能正常引导时,可用软盘引导系统,在lilo提示符下输入:

   mount root=/dev/sda1

   将linux引导起来,尔后执行:

   dd if=/boot/mbr of=/dev/had bs=446 count=1

   执行以上命令恢复mbr,不包括分区表,如果要连分区表一起恢复,则让bs=512。   


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons