Для начала почитайте вот это -
http://www.opennet.ru/soft/GRUB.pdf.
Далее по /boot/grub/menu.lst:
Код:

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Windows Vista/Longhorn (loader)
root (hd0,4)
savedefault
makeactive
chainloader +1
/dev/sda1 он определил правильно (у вас там по ходу стоит семерка), но почему тогда "root (hd0,4)", (hd0,4) это /dev/sda5 (в переводе на обычный синтаксис, поскольку у GRUB он свой).
А куда у вас установлен GRUB? В MBR на /dev/sda?
В таблице разделов какой-то беспорядок:
- основных разделов (PRIMARY) должно быть всегда не больше четырех (соответственно это /dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4), один из них, например /dev/sda1, в который мы всегда устанавливаем винду должен быть помечен как "boot" (загрузочный)
- логические разделы начинаются с /dev/sda5 и их может быть сколько угодно (Linux'ы можно устанавливать в логические разделы, для них это не играет никакой роли, а винда - в основной)
- логично было бы установить (если он еще вам нужен) XP в /dev/sda1, заранее пометив этот раздел как "загрузочный" (в MBR винта во время установки винды не должно быть GRUB'а), далее пометить /dev/sda2 как "загрузочный" и установить туда семерку (тогда во время загрузки будет по идее загружаться загрузчик с /dev/sda2 то есть семерки и из него можно выбрать, что грузить - XP или семерку)
- Runtu установить в логические разделы - /dev/sda5 (корневой раздел) и использовать /dev/sda6 как раздел подкачки, при установке пометить, что загрузчик устанавливается в MBR на hd0 (или /dev/sda - как он покажет).
Код:

/dev/sda2 2612 6528 31463302+ 7 HPFS/NTFS
непонятно, зачем ему быть основным, если в него не устанавливается ОС
Код:

/dev/sda5 * 6529 7902 11036623+ 7 HPFS/NTFS #XP
винда обычно настаивает быть установленной в основной раздел (а здесь в логический) и пометка "загрузочный" должна стоять на одном из основных разделов
В /boot/grub/menu.lst , исходя из вашей нынешней таблицы разделов, то что касается Runtu заполнено правильно.