GRUB 包含以下功能组件:
stage1-安装在 fdisk 分区的第一个扇区上的映像。通过指定 installgrub 命令和 -m 选项,可以选择将 stage1 安装在主引导扇区上。有关更多信息,请参见 installgrub(1M) 手册页和 《系统管理指南:设备和文件系统》中的“GRUB 引导环境中的磁盘管理”。
stage2-安装在 fdisk 分区的保留区中的映像。stage2 映像是 GRUB 的核心映像。
menu.lst 文件-在具有 UFS 根的系统上,通常位于 /boot/grub 目录中;在具有 ZFS 根的系统上,通常位于 /pool-name/boot/grub 目录中。该文件由 GRUB stage2 文件读取。有关更多信息,请参见x86: 通过编辑 menu.lst 文件修改引导行为一节。
您无法使用 dd 命令将 stage1 和 stage2 映像写入磁盘。stage1 映像必须能够接收有关磁盘上的 stage2 映像的位置的信息。使用 installgrub 命令,这是安装 GRUB 引导块时支持方法。
GRUB 使用的设备命名约定与以前的 Solaris 发行版稍有不同。了解 GRUB 设备命名约定可以帮助您在系统上配置 GRUB 时正确指定驱动器和分区信息。
下表介绍了此 Oracle Solaris 发行版的 GRUB 设备命名约定。
表 15–1 GRUB 设备的约定
设备名 |
说明 |
---|---|
(fd0) |
第一张软盘 |
(fd1) |
第二个软盘 |
(nd) |
网络设备 |
(hd0,0) |
第一个硬盘上的第一个 fdisk 分区 |
(hd0,1) |
第一个硬盘上的第二个 fdisk 分区 |
(hd0,0,a), |
第一个硬盘上的第一个 fdisk 分区上的片 a |
(hd0,0,b) |
第一个硬盘上的第一个 fdisk 分区上的片 b |
所有的 GRUB 设备名称都必须括在括号中。
有关 fdisk 分区的更多信息,请参见《系统管理指南:设备和文件系统》中的“fdisk 分区创建准则”。
从 Solaris 10 10/08 发行版开始,findroot 命令取代了之前 GRUB 使用的 root 命令。findroot 命令提供了用于搜索目标磁盘(无论使用哪个引导设备)的增强功能。findroot 命令还支持从 ZFS 根文件系统引导。
下面说明了 findroot 命令使用的适用于不同 GRUB 实现的设备命名约定:
Oracle Solaris Live Upgrade:
findroot (BE_x,0,a) |
x 变量是引导环境的名称。
具有 ZFS 支持的系统的标准系统升级和全新安装:
findroot(pool_p,0,a) |
p 变量是根池的名称。
具有 UFS 支持的系统的标准系统升级和全新安装:
findroot (rootfsN,0,a) |
N 变量是从 0 开始的整数。