Excepto en el caso de que LILO sea el gestor de otros SOs, será el BIOS u otro cargador
el responsable de ejecutar el sector de arranque de la partición. El BIOS (Basic Input Output System)
cuando encendemos el ordenador, lleva a cabo el POST (Power-On Self Test) para comprobar
los parámetros de la configuración de hardware que se encuentran permanentemente salvados
en el chip CMOS (Complementary Metal Oxyde Semiconductor) RAM (continuamente alimentado
por una batería aunque el ordenador se apague): memoria instalada, disqueteras, discos duros, cd-roms,...
Despues del test, BIOS muestra en la pantalla los valores de los parámetros de hardware
y procede a arrancar el SO. En el caso de un disco duro toma el MBR del disco primario y
de él se cargará el programa gestor de arranque. Antaño, el MBR contenía el sistema de
arranque del único sistema operativo instalado. Hoy día como es posible cargar más de
un SO, para arrancar, hace falta un gestor de arranque múltiple, como por ejemplo LILO.
Por lo tanto, LILO está limitado por las opciones del BIOS. Además, LILO depende del BIOS
para cargar los ficheros /boot/boot.b; /boot.map; los diversos kernels; los sectores de
arranque de los otros Sos y el mensaje de arranque de LILO si se ha definido.
Las restricciones más importantes que afectan LILO eran en el caso de BIOS antiguos la
limitación a los dos primeros discos duros y la imposibilidad de acceder más allá de
1024 cilindros por disco, lo cual se vulneraba en cuanto el disco duro superaba los 504 Mbytes,
por lo que convenía tener la partición raíz que contuviera los kernels en las primeras
posiciones de la tabla. Los BIOS de las modernas placas base ya soportan hasta cuatro
dispositivos (discos duros o cdroms). Así, cuando la partición de arranque de linux se
encuentra en el segundo, tercero o cuarto disco duro, LILO imprime un mensaje de
precaución pero continúa. El límite de los 1024 cilindros no ha cambiado con los
nuevos BIOS, pero los controladores de disco con soporte de LBA (Logical Block Address)
o LARGE(IDEs con más de 1024 cilindros, la mayoría de EIDEs y todos los SCSI) pueden
"traducir" o "remapear" la geometría del disco en otra equivalente de manera que parezca
que el sistema tiene menos de los 1024 cilindros y se puedan gestionar hasta casi 8 Gbytes.
Si la información acerca de la geometría del disco que hay en el menú del BIOS
(remapeada con p.ej. LBA) no es la misma (en cuanto a cilindros/cabezas/sectores)
que la que nos da fdisk, entonces se producirá un problema de "geometry mismatch"
(no equivalencia de geometría) y LILO abortará el arranque a menos que se utilice
la opción "linear" en la configuración de LILO.