LILO

LILO (LInux LOader)是Linux一个启动程式，早年是许多Linux发行版使用的启动程式。LILO后来被GRUB和SYSLINUX取代。

## 总览

LILO不依赖于一个特定的文件系统，可以启动一个操作系统(例如，从软盘和硬盘启动Linux内核 内核镜像)。在启动时有十六种不同的镜像可供选择。各种参数，如根设备参数，可以为每种内核单独设置。LILO可以放在主引导记录(MBR)或一个分区的引导扇区中。在后者的情况下，MBR中必须包含加载LILO的代码。

在开启系统时，LILO只有通过BIOS驱动访问硬盘。因此，一个很老的BIOS访问范围限定为柱0到1023的前两个硬盘。对于后来的BIOS，LILO可以使用32位的"逻辑块寻址"(LBA)来获得访问整块硬盘的能力。

## LILO 文件

### lilo.conf

lilo

### /boot/

LILO放置了许多文件在 /boot/ – 具体请见 /boot/: LILO.

## 主引导记录

LILO可以在设备上写入主引导记录：

```
/sbin/lilo -M
```

## 输出

当LILO加载完单词“LILO”时，每个字母出现在一些具体行动的之前或之后。如果LILO在某些行为上未能成功，可以通过到目前打印的字母来识别。

(nothing):LILO完全没有显示，LILO没有安装或它的引导扇区所在的分区不活跃。引导媒介不正确。

L:第一阶段的引导加载程序已加载并且开始，但不能加载第二阶段的引导加载程序。两位数字代码会显示错误类型。这种情况通常是由于媒介错误或者BIOS位于硬盘坏道造成的。

LI:第一阶段的引导加载程序可以加载第二阶段的引导加载程序，但未能执行。这可能是由于BIOS位于磁盘坏道造成的。

LIL:第二阶段的引导加载程序已经启动，但不能从镜像文件中加载描述符表。这通常是由于媒介错误或者BIOS位于硬盘坏道造成的。

LIL?:第二阶段的引导加载程序在一个不正确的地址加载。这通常是通常是由于BIOS位于硬盘坏道造成的。

LIL-:描述符表已损坏。这可能是由于BIOS位于硬盘坏道造成的。

LILO:LILO所有部分都已成功加载。

## 错误代码

例如: L 01 01 01, L 07 07 07 等..

错误代码｜名字｜描述

0x00｜Internal Error｜This code is generated by the sector read routine of the LILO boot loader whenever an internal inconsistency is detected. This might be caused by corrupt files. Try re-building the map file. Another possible cause for this error are attempts to access cylinders beyond 1024 while using the LINEAR option.

0x01｜Illegal Command｜This shouldn't happen, but if it does, it may indicate an attempt to access a disk which is not supported by the BIOS. Definitely check to see if the disk is seen by the BIOS first (and that the BIOS detail is complete).

0x02｜Address mark not found｜This usually indicates a media problem. Try again several times.

0x03｜Write-protected disk｜This should only occur on write operations.

0x04｜Sector not found｜This typically indicates a geometry mismatch. If you're booting a raw-written disk image, verify whether it was created for disks with the same geometry as the one you're using. If you're booting from a SCSI disk or a large IDE disk, you should check, whether LILO has obtained correct geometry data from the kernel or whether the geometry definition corresponds to the real disk geometry. Removing COMPACT may help too. So may adding LBA32 or LINEAR.

0x06｜Change line active｜This should be a transient error. Try booting a second time.

0x07｜Invalid initialization｜The BIOS failed to properly initialize the disk controller. You should control the BIOS setup parameters. A warm boot might help too. (Boot a rescue disc and rerun LILO.)

0x08｜DMA overrun｜This shouldn't happen. Try booting again.

0x09｜DMA attempt across 64k boundary｜This shouldn't happen, but may indicate a disk geometry mis-match. Try omitting the COMPACT option. You may need to specify the disk geometry yourself.

0x0C｜Invalid media｜This shouldn't happen and might be caused by a media error. Try booting again.

0x10｜CRC error｜A media error has been detected. Try booting several times, running the map installer a second time (to put the map file at some other physical location or to write "good data" over the bad spot), mapping out the bad sectors/tracks and, if all else fails, replacing the media.

0x11｜ECC correction successful｜A read error occurred, but was corrected. LILO does not recognize this condition and aborts the load process anyway. A second load attempt should succeed.

0x20｜Controller error｜This shouldn't happen, then again, none of these errors should happen eh?

0x40｜Seek failure｜This might be a media problem. Try booting again.

0x80｜Disk timeout｜The disk or the drive isn't ready. Either the media is bad or the disk isn't spinning. If you're booting from a floppy, you might not have closed the drive door. Otherwise, trying to boot again might help.

0x99｜Invalid Second Stage｜Mismatch between drive and BIOS geometry, or a bad map file. Some evidence that LINEAR needs to be set on the disk (see LiloNotes)

0x9A｜Can't Find Second Stage｜Check to see if you have the correct device for boot, e.g. boot=/dev/hda1 when it should be in the MBR i.e. boot=/dev/.

0xBB｜BIOS error｜This shouldn't happen. Try booting again. If the problem persists, removing the COMPACT option or adding/removing LINEAR or LBA32 might help.

## 请参阅

- Comparison of boot loaders
- Linux
- Boot loader
- GNU GRUB
- SYSLINUX
- Windows Boot Manager
- NTLDR
- SILO
- PALO

## 注意

- LILO installation instructions
- LILO mini-HOWTO
- LILO error messages
- LILO and GRUB: Boot Loaders Made Simple by Judith Myerson
- From Lilo to Grub
- Lilo tips from the Linux Kernel Howto
- 8
- 5

## 外部链接

- Official homepage
- Project homepage on Alioth

## 基本资料

- 开发者：Werner Almesberger (1992–1998), John Coffman (1999–2007), Joachim Wiedorn (自2010年起)
- 软件版本周期：24.2
- 类型：启动程式
- 许可协议：BSD许可证
- 状态：停止开发与维护
- 网站：https://www.joonet.de/lilo/