I have a system running Debian testing. It is a dual boot with a Windows partition. It has worked for years, but now somehow grub got confused. When I try to boot, I get an error 22 - partition not found. I booted uo knoppix, and the drive is there and I can see all the files.

menu.list has
title        Debian GNU/Linux, kernel 2.6.26-2-686
root        (hd1,4)
kernel        /boot/vmlinuz-2.6.26-2-686 root=/dev/hdb5 ro
initrd        /boot/initrd.img-2.6.26-2-686

parted from the knoppix disk shows:
(parted) print all                                                       
Model: ATA ST3200822A (scsi)
Disk /dev/sda: 200GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size    Type      File system  Flags
 1      32.3kB  200GB  200GB   extended                   
 5      64.5kB  198GB  198GB   logical   ext3         boot
 6      198GB   200GB  2048MB  logical   linux-swap       


Model: ATA WDC WD2500AAJB-0 (scsi)
Disk /dev/sdb: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      32.3kB  250GB  250GB  primary  ext3             

I remember mucking with the drives a long time (years) ago - I moved the boot drive from the second position to the first position), but it booted fine after that and ran for years. I am surprised that the menu.list shows the boot drive in the second position. Anyway, when the system boots, the grub menu comes up. I tried editing the boot parameters  from
root        (hd1,4)
kernel        /boot/vmlinuz-2.6.26-2-686 root=/dev/hdb5 ro

to
root        (hd0,4)

kernel        /boot/vmlinuz-2.6.26-2-686 root=/dev/hda5 ro

but I get this error message:

root (hd0,4)
Filesystem type is ext2fs, partition type 0x83
kernal.....
[Linux-bz-Image, setup=0x3000, size=ox16ce50]
Error 24 Attempt to access block outside partition

All of the data seems to be intact when viewed from Knoppix.

Any ideas on how to fix grub and get the system to boot?

Thanks,

Mark