What is hd0 and sda/sdb in Linux?
When GRUB probes devices it makes a device.map file, you can find this in the same directory as your grub.conf. It will look similar to this:
(fd0) /dev/fd0
(hd0) /dev/sda
(hd1) /dev/sdb
(hd2) /dev/sdc
You are free to modify this as you see fit any time. Read more here.
UPDATE (Oct. 21, 2015) : This answer was originally written for GRUB 0.9x which is not under active development and is now referred to as GRUB Legacy. If you are using a version of GRUB 2.x you want this page with details and advice on device mapping.
I believe that
sda = hd0,
sdb = hd1,
so on etc. etc. sdc = hd2
When it says sda1
that would be (hd0, 0)
and sda2 (hd0, 1)
and sda3 (hd0, 2)
and sdb1 (hd1, 0)
so on and so forth...