在使用 GRUB 之前,需要了解的最重要的一件事情就是它怎样引用设备,如硬盘和分区。这些信息在配置 GRUB 来引导多个操作系统时尤为重要。
当用 GRUB 引用特定的设备时,可以使用下面的格式(注意,从语法上来讲,括号和逗号都是非常重要的):
(<type-of-device><bios-device-number>
,<partition-number>
)
<type-of-device>
指定 GRUB 引导的设备的类型。最常用的两个选项是代表硬盘的
hd
或代表 3.5 寸磁盘的
fd
。另外一个较少使用的设备类型是代表网络磁盘的
nd
。关于配置 GRUB 从网络引导的说明,你可以访问
http://www.gnu.org/software/grub/manual/。
<bios-device-number>
是 BIOS 设备号码。主 IDE 硬盘编号为 0
,次 IDE 硬盘则编号为 1
。这个规则和用于内核设备的基本一样。例如,内核所使用的 hda
里的 a
和 GRUB 所使用的 hd0
里的 0
类似,而 hdb
里的 b
和 hd1
里的 1
类似,诸如此类。
<partition-number>
指定设备上的分区的号码。如同 <bios-device-number>
,很多类型的分区都是从 0
开始编号的。然而,BSD 分区却由字母指定,如 a
对应 0
,b
对应 1
,等等。
Note
GRUB 下的设备编号总是从 0
,而不是从 1
开始的。这是新用户最常犯的错误之一。
例如,如果系统有一个以上的硬盘,GRUB 会用 (hd0)
来引用第一个硬盘,用 (hd1)
来引用第二个硬盘。GRUB 用 (hd0,0)
引用第一个硬盘里的第一个分区,用 (hd1,2)
引用第二个硬盘里的第三个分区。
GRUB 通常使用下面的规则来命名设备和分区:
不管系统的硬盘驱动器是 IDE 还是 SCSI,所有的硬盘驱动器都用字母 hd
开始。而 fd
用来指定 3.5 寸软盘。
要指定整个设备而不是某个分区,可以把分区号码和逗号都去掉。当 GRUB 为某个特定磁盘配置主引导分区时,这很重要。例如,(hd0)
指定了第一个设备上的主引导分区,(hd3)
指定第四个设备上的主引导分区。
如果系统有多个驱动器设备,在 BIOS 里设置引导顺序就很重要。如果系统只有 IDE 或 SCSI 驱动器,这当然很简单,但是如果两种设备都有的话,使存放引导分区的驱动器先被访问就很关键了。