Я так понял у тебя свободное место есть только на диске С и исходя из этого ты хочеш туда поставить Линукс а ХР при этом переставлять не хочеш в таком случае можеш сделать так установи себе partition magic или acronix partition expert и прямо из ХР уменьши размер диска С до необходимого не удаляя нужных файлов а в пространстве между диском С и D создай разтел ext2 (или ext3) (ну это на твой вкус) который займет почти все свободное пространство и создай раздел swap (размер добжен быть в двое больше чем размер оперативной памяти а можно и ещо больше) (можеш раздел swap не создавать, почему? читай ниже) это будет раздел подкачки.
Тоесть у тебя получится такая картина диска, допустим у тебя 20 гигабайт винчестер:
1) 100 мегабайт диск С
2) 5 гигабайт ext3
3) 300 мегабайт swap (если оперативки 128)
4) 14 гигабайт диск D
Затем во время установки раздел тот что ext3 делаеш корневым то есть ставиш точку монтирования ( / ) на нём, и использовать swap хотя можно его не использовать только медленей работать будет если оперативки мало. Собственно все должно работать. Просто ничего при установке не меняй в настройках загрузчика lilo или grub что по автомату стоит то пусть и остается потом всегда исправить можно. В уменя всегда все правильно определяло. После установки все будет впорядке и ХР загружается и Линух. Есле чо не ясно пиши на мыло pavelh@inet.ua помогу.