Debian en tiempos anteriores usaba como cargador de arranque Lilo, después migró a Grub y posiblemente esta labor sea necesaria hacerla manualmente en algunos sistemas que evolucionaron de ser potato -> woody -> sarge y sucesores...
Describimos cómo instalar grub, partiendo de lilo.
Un archivo /etc/lilo.conf podría lucir de la siguiente forma, teniendo en cuenta que hay por ahí una partición con windows wn /dev/hda2 :
lba32
boot=/dev/hda
root=/dev/hda1
install=/boot/boot-menu.b
map=/boot/map
delay=20
prompt
timeout=150
vga=normal
default=Linux
image=/vmlinuz
label=Linux
read-only
initrd=/initrd.img
image=/vmlinuz.old
label=LinuxOLD
read-only
optional
initrd=/initrd.img
other=/dev/hda2
label="WinNT(hda2)"
table=/dev/hdaEl proceso usual para instalar grub en el MBR sería:
apt-get install grub mkdir /boot/grub update-grub grub-install --recheck /dev/hda
Algunas diferencias
Cuando se cuenta con lilo, una vez que se edite /etc/lilo.conf hay que ejecutar lilo, mientras que con grub basta editar /boot/grub/menu.lst.
Un error corregible
Puede suceder que justo después de la instalación de linux, lilo se queje de una forma parecida a:
Warning: '/proc/partitions' does not match '/dev' directory structure.
Name change: '/dev/ide/host0/bus0/target0/lun0/disc' -> '/dev/hda'
Added Linux *
Added LinuxOLD
Device 0x0300: Inconsistent partition table, 2nd entry
CHS address in PT: 384:0:1 --> LBA (387072)
LBA address in PT: 6168960 --> CHS (6120:0:1)
Fatal: Either FIX-TABLE or IGNORE-TABLE must be specified
If not sure, first try IGNORE-TABLE (-P ignore)Cuando se lanza fdisk se presenta algo como:
Device Boot Start End Blocks Id System /dev/hda1 1 6105 3076447+ 83 Linux Partition 1 does not end on cylinder boundary. /dev/hda2 * 6121 46745 20474842+ 7 HPFS/NTFS Partition 2 does not end on cylinder boundary. /dev/hda3 46745 56435 4883760 83 Linux Partition 3 does not end on cylinder boundary. /dev/hda4 56435 77536 10635030 f W95 Ext'd (LBA) Partition 4 does not end on cylinder boundary. /dev/hda5 56435 76548 10136983+ 83 Linux /dev/hda6 76548 77536 497983+ 82 Linux swap / Solaris
Lo que conduciría a pensar que el arranque en la partición de win se ha perdido, una posible solución es seguir los pasos para migrar de lilo a grub descritos al principio de este documento y posteriormente adicionar unas líneas como las siguientes en /boot/grub/menu.lst, teniendo en cuenta que Win estaba en la partición /dev/hda2:
title WinNT root (hd0,1) makeactive chainloader +1
Errores de Grub
Error 18
Asegúrese de habilitar LBA para sobrepasar el límite de la Bios para acceder a secciones posteriores a los 8gigas en los discos. Alternativamente, colocar a /boot en partición al principio.

