One of the most important things to understand before using GRUB is how the program refers to devices, such as hard drives and partitions. This information is particularly important when configuring GRUB to boot multiple operating systems.
When referring to a specific device with GRUB, do so using the following format (note that the parentheses and comma are very important syntactically):
(<type-of-device><bios-device-number>
,<partition-number>
)
The
<type-of-device>
specifies the type of device from which GRUB boots. The two most common options are
hd
for a hard disk or
fd
for a 3.5 diskette. A lesser used device type is also available called
nd
for a network disk. Instructions on configuring GRUB to boot over the network are available online at
https://www.gnu.org/software/grub/manual/.
The <bios-device-number>
is the BIOS device number. The primary IDE hard drive is numbered 0
and a secondary IDE hard drive is numbered 1
. This syntax is roughly equivalent to that used for devices by the kernel. For example, the a
in hda
for the kernel is analogous to the 0
in hd0
for GRUB, the b
in hdb
is analogous to the 1
in hd1
, and so on.
The <partition-number>
specifies the number of a partition on a device. Like the <bios-device-number>
, most types of partitions are numbered starting at 0
. However, BSD partitions are specified using letters, with a
corresponding to 0
, b
corresponding to 1
, and so on.
The numbering system for devices under GRUB always begins with 0
, not 1
. Failing to make this distinction is one of the most common mistakes made by new users.
To give an example, if a system has more than one hard drive, GRUB refers to the first hard drive as (hd0)
and the second as (hd1)
. Likewise, GRUB refers to the first partition on the first drive as (hd0,0)
and the third partition on the second hard drive as (hd1,2)
.
In general the following rules apply when naming devices and partitions under GRUB:
-
It does not matter if system hard drives are IDE or SCSI, all hard drives begin with the letters hd
. The letters fd
are used to specify 3.5 diskettes.
-
To specify an entire device without respect to partitions, leave off the comma and the partition number. This is important when telling GRUB to configure the MBR for a particular disk. For example, (hd0)
specifies the MBR on the first device and (hd3)
specifies the MBR on the fourth device.
-
If a system has multiple drive devices, it is very important to know how the drive boot order is set in the BIOS. This is a simple task if a system has only IDE or SCSI drives, but if there is a mix of devices, it becomes critical that the type of drive with the boot partition be accessed first.