I had the same problem : sata disk on nforce2, gutsy->hardy then unable to mount root at boot.
The problem was in menu.lst: the initrd line was missing for the new kernel.
Previous kernel (from gutsy) had a valid initrd line and was working fine, but hardy kernel didn't have any initrd line.
I simply ran update-grub and the kernel booted. The only diff is the initrd line.
I had the same problem : sata disk on nforce2, gutsy->hardy then unable to mount root at boot.
The problem was in menu.lst: the initrd line was missing for the new kernel.
Previous kernel (from gutsy) had a valid initrd line and was working fine, but hardy kernel didn't have any initrd line.
I simply ran update-grub and the kernel booted. The only diff is the initrd line.