What is hd0 and sda/sdb in Linux?

I'm completely new to Linux, and am using Ubuntu 10.04.

I'm confused when to use what (hdx,y) to represent which hard drive.

I have 2 hard drives, the first one is identified as /dev/sda (in Disk Utility) and that's where I installed my old Windows 7 RC (unused). the second one is /dev/sdb where I installed my Ubuntu (in /dev/sdb7 and /dev/sdb8 swap) and XP (in /dev/sdb1).

now if I want to play around with Ubuntu's GRUB, what (hdx,y) should I use? For now, I want to install BURG, and I read the installation step in a website that I have to type burg-install "(hd0)" to install BURG to the hd's MBR, but I'm just unsure, I'm afraid it'll mess everything.

So, how can I know which harddisk is (hd0), (hd1), or (hd0,1), etc.?


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...