《LILO启动问题详解》
--------------------------------------------------------------------------------
原作者:cherami 注释:福西 (12/12/2000 19:01)
1、LILO输出无休止的0101010101...流
内核或启动图象文件位于BIOS不可访问的驱动器上.
2、LILO在L处停止了
LILO的第一阶段加载程序找不到第二阶段的加载程序了.一般它还会返回一个磁盘错误代码,并且将其记录在/usr/doc/packages/lilo文件中. 这种情况通常表示当前的BIOS和LILO对磁盘的几何结构的认识不同.在BIOS支持LBA的情况下,可以将其激活,并将linear指令设置到/etc/l ilo.conf中,反之,如果它已经在其中,就去掉,然后运行lilo.要保证使引导分区足够小以便能够适应BIOS可以访问的柱面限制.
3、LILO在LI处停止了
第二阶段加载程序找到了,但不能被正确加载,也可能是因为磁盘的几何故障或者/boot/boot.b与系统的映像不一致,可以运行lilo并重启 (福西安装发现,用dos启动盘,使用fdisk /mbr选项可以恢复大部分出现的这种错误)
4、LILO在LIL处停止了
第二阶段的加载代码并没有在其找到的地址处或难以读取系统的映像文件,运行lilo
5、LILO在LIL_停止了
系统映像文件中的说明符表出了问题,可能是/boot/map文件坏了或被移动了
(前面四种情况,都可以利用安装linux时建立的linux引导盘启动linux,然后键入lilo来恢复,有出现不能恢复的,请使用dos的fdisk /mbr来试一试, 否则就只能重装了)
6、First boot sector doesn't have a valid LILO signature
通常是/boot/boot.b文件早遭到破坏或者是/etc/lilo.conf文件中的install=指令指向一个lilo认为不是启动程序的东西。
7、Chain loader doesn't have a valid LILO sinature
说明/boot/chain.b文件被破坏或者/etc/lilo.conf中的loader=指令指向了lilo认为不是一个链加载程序的东西。
boot.b辅助启动程序代码是由MBR的主启动程序代码调用的,并使用它来启动一个LINUX内核映像。lilo.conf文件中的所有image=指令都默认使用此加载程序。
chain.b启动程序代码的作用是引导DOS和其它类似的操作系统,他的使用形式是lilo.conf文件中other=节,可以为指定的节使用使用loa der=指令来设置单个的启动程序。
为避免大部分的LILO问题,通常总是在安装新的内核或更改驱动器时重新运行lilo,一定要注意该命令更新MBR及其引导映像文件时产生的出错或警告信息. 使用-v选项可以在运行的时候获得更多的细节内容.
在LILO映像文件遭到破坏的情况下(包括病毒摧毁了分区表和MBR),要随时保留一张启动盘,将驱动器的MBR及分区表的内容做备份.将/etc/ lilo.conf的副本、上述MBR备份以及别的一些很小但重要的系统文件保存在紧急恢复盘上,并且要使它们随系统的变化而保持更新。
备份MBR:
dd if=/dev/hda of=/backup_mbr bs=512 count=1
恢复MBR:
dd if=/backup_mbr of=/dev/hda bs=512 count=1
当然,对SCSI硬盘/dev/hda就变成了/dev/sda了。
(对于后面的两种情况,除了备份之外,可以通过软盘启动修改lilo.conf配置文件,不行的话就只有...重新来过啦)