probably because it doesn't exist, the new machine might label it something else
what i would do is boot from a live rescue cd that gives you a root shell
Code:
# mkdir /rescue
# mount /dev/sd{x}{y} /rescue
# for dir in {proc,sys,dev}
> do
> mount --bind /$dir /rescue/$dir
> done
# chroot /rescue
where {x} is the letter such as /dev/sdA or /dev/sdB
and {y} is the partition number such as /dev/sda1 or /dev/sda2
you can see what the active OS thinks your drives and partitions are with
this will create a chroot environment in which your installed os on the hard drive is 'in charge' so to speak, from which you can make the necessary fixes to your grub configuration, and re-install grub
when you are done, reboot and you should be good to go.