use a knoppix disk to correct the /boot/grub/menu.lst (or whatever the config file is called in your distro).
a correct debian grub file needs the full kernel name, and initrd name as well... which you should find in your os's /boot dir.
there are plenty of examples of a 'good grub' file, one if which should be right on the knoppix disk.
here is mine:
default 0
timeout 15
color cyan/blue white/blue
foreground ffffff
background 0639a1
#gfxmenu /boot/grub/boot.xpm.gz
title MAIN Debian Sarge - ver. ALL on hda7
root (hd0,6)
kernel /boot/vmlinuz-2.6.12-1-386 root=/dev/hda7 ro noapic nomce noapci
initrd /boot/initrd.img-2.6.12-1-386
title Knoppix 3.9 LiveCD
root (hd0,1)
kernel /boot/isolinux/vmlinuz-2.6.11 root=/dev/hda2 ro lang=us APPEND ramdisk_size=100000 init=/etc/init apm=power-off
initrd=/boot/isolinux/initrd.img-2.6.11
title Knoppix LiveCD From HD Install - kernel 2.6.11
root (hd0,1)
kernel /boot/vmlinuz-2.6.11 root=/dev/hda2 ro ramdisk_size=100000 init=/etc/init lang=us apm=power-off nomce
initrd /boot/initrd.img-2.6.11
title Backup of MAIN Debian Sarge- all Versions on hda6
root (hd0,5)
kernel /boot/vmlinuz-2.6.12-1-386 root=/dev/hda6 ro noapic nomce noapci
initrd /boot/initrd.img-2.6.12-1-386
title Windows at hda1
rootnoverify (hd0,0)
chainloader +1
---end of my menu.lst from grub.
* note the first line for linux always has the actual partitian one # less than the actual one... so 1 would be 0, 2 would be 1, etc.
good luck.