First things first. Windows XP absolutely LOVES to overwrite the MBR (master boot record) which is where you will need your bootloader for linux (be it GRUB or LILO) to reside. This is your problem...windows is messing things up for your linux install. Simple solution...I'll start from the beginning assuming a blank hard disk:
1. Absolutely make sure that your boot partition is actually active AND that it is named /boot. This will allow GRUB to detect it. I don't think LILO has a problem with this but better safe than sorry.
2. Next, fdisk the Hard drive and make a partition for Windows XP and leave whatever you want to allocate to Linux unpartitioned.
3. Install Windows XP onto this partition. (This should be a primary partition!)
4. Boot to the Linux install CD and partition the remaining unpartitioned part of the HD and install linux. (Install GRUB or LILO into the MBR, it should detect both OSes).
5. Reboot and enjoy your new dual boot system.
_____________________________________________
Now if it doesn't detect any OSs...and it should detect both linux AND windows...you can edit the grub.conf or lilo.conf and FORCE it to. Here is how to do that.
GRUB
Add the following lines to the /etc/grub.conf file:
title Windows XP
root (hd0,0)
makeactive
chainloader +1
LILO
these lines can be added to the /etc/lilo.conf to fix the problem:
other=/dev/hda1 (device XP is installed on)
label=Windows XP
table=/dev/hda
You'll have to reboot for lilo changes to take place but I don't think you will for the GRUB ones to. I could be mistaken...might as well reboot for it anyways :cheesy: Hope this helps!