Linux 版 (精华区)

发信人: cliff (一颗红心·两手准备), 信区: Linux
标  题: 全面了解Linux加载器 
发信站: 哈工大紫丁香 (2000年10月26日16:02:25 星期四), 转信



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。 


 


--
              【★ 蒸不熟   煮不烂 ★】

              【★ 剪不断   理还乱 ★】

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 192.168.0.200]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:6.020毫秒