triple boot 7 xp and debian with grub?

Hi all, i have installed win7, then winxp, then debian.
i restored win7 installation after winxp (to get 7 booting, cause after xp setup only xp was booting)
i installed after that debian, but grub didn't find xp, only 7 were found..
i added winxp to /boot/grub/menu.lst
finally 7 can be launched, debian too, but not xp.
here is my fdisk -l

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        6540    52428800    7  HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3            6541       30401   191663482+   f  W95 Ext'd (LBA)
/dev/sda5            6541       10456    31455238+   7  HPFS/NTFS
/dev/sda6           10457       26869   131837391    7  HPFS/NTFS
/dev/sda7           26870       30036    25438896   83  Linux
/dev/sda8           30037       30401     2931831   82  Linux swap / Solaris
and main parts of menu.lst
title        Debian GNU/Linux, kernel 2.6.26-1-686
root        (hd0,6)
kernel        /boot/vmlinuz-2.6.26-1-686 root=/dev/sda7 ro quiet
initrd        /boot/initrd.img-2.6.26-1-686

title        Windows 7
root        (hd0,0)
chainloader    +1

title        Windows XP
root        (hd0,4)
chainloader    +1
when i try to boot on xp, i get this error
file system unknown 0x7
error12: invalid device requested
i really need your help, thanks in advance :wink:

PS: sorry for my english
PS2: i don't want to reinstall win7, cause i have to many progs there