грузимся с любого linux live-cd, при появлении фразы загрузчика, типа boot: даем команду vmlinuz -S root=/dev/root_раздел, после успешной загрузки, даем команду /sbin/lilo. загрузчик восстановлен. если при загрузке сильно матерится и не грузится, пробуем подсунуть вместо init - bash, vmlinuz root=/dev/root_раздел init=/bin/bash rw после чего даем команду /sbin/lilo, затем reboot, и все должно ожить.
На такие случаи делают "аварийные дискеты". С которых можно загрузиться, подмонтировать раздел, зачрутить, поредактировать что нужно и запустить что нужно.
Есть небольшой шанс: если загрузчик случайно был прописан и в MBR, и в первый сектор одного из разделов, вроде, можно заставить XP загрузить этот сектор и далее пойдёт загрузка линукса (один раз у меня такое случайно получилось). Что для этого написать в boot.ini - не знаю.
>>"Для не-NT-систем используется другой способ указания пути загрузки. Используется строка вида C:\Bootsect.dos="Microsoft Windows" (Bootsect.dos в данном случае можно не писать), где C:\ — раздел с файлами ОС, Bootsect. dos — имя файла с загрузочным сектором(ами)"