If you install the boot loader on your Linux partition (i.e., not as the MBR on the drive), then you can copy the boot information from that partition to a file, and use that file as a boot image referenced by XP's boot.ini
file. This enables you to boot into Linux from the XP OS selection menu.
1) Install lilo
(or GRUB) as the boot image on your Linux partition or drive, as you may already have done.
2) Confirm that you can use that installation to boot Linux by using your BIOS "boot selection" option to select it as the boot image to use, and boot into Linux.
3) Create a file containing the boot image by (as "root") running the dd
# dd in=/dev/hda3 of=/tmp/linux.bin bs=512 count=1
Where, of course, you use the correct value for a3
for the XP MBR, b
for the MBR of a second drive, etc. The a3
would be the MBR of the third partition.)
4) Copy the linux.bin
file from /tmp
to the C:
drive of XP. (A USB drive or floppy is handy for this, or a FAT formatted partition.)
5) Boot XP (if you're not in XP after you did the copy) an use "Explorer" to change the attributes of the boot.ini
file so you can edit it. (I.e., turn off the "read only" flag.)
6) Edit it so that it looks something like this:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP" /noexecute=optin /fastdetect
6) Reboot, and select the "Linux" option from the boot menu. If all went well, you should be in Linux via the XP boot loader.