从 Oracle Solaris 11.1 开始,GRUB 2 是缺省引导装载程序。GRUB 2 替换 Oracle Solaris 10 和 Oracle Solaris 11 11/11 中使用的基于 GRUB 0.97 的原始引导装载程序 (GRUB Legacy)。GRUB 2 完全支持从大于 2TB 的磁盘引导。此外,GRUB 2 还支持统一可扩展固件接口 (Unified Extensible Firmware Interface, UEFI) 和 Oracle Solaris 11 中使用的 GUID 分区表 (GUID Partition Table, GPT) 分区方案。
如果是从 Oracle Solaris 10 转换到 Oracle Solaris 11,请注意两个 GRUB 版本之间的以下关键差异:
GRUB 菜单更改-与 GRUB Legacy 使用的可编辑 menu.lst 文件不同,GRUB 2 将其配置存储在 grub.cfg 文件中。此文件的语法不同于传统的 menu.lst 文件,且还无法编辑。grub.cfg 文件存储大多数 GRUB 配置,并且仅通过使用 bootadm 命令进行管理。为了适应这种更改,bootadm 命令包括多个新的子命令和一个新的 –P 选项,用于管理多个根池的 GRUB 配置。
管理非 Oracle Solaris 引导项-GRUB 2 包括一个名为 custom.cfg 的额外配置文件。此文件可用于向 GRUB 配置中添加定制菜单项。缺省情况下,系统上不存在 custom.cfg 文件。您必须创建此文件,并且必须将其存储在与 grub.cfg 文件相同的位置 (/pool-name/boot/grub/)。在引导过程中,GRUB 会在根池的顶层数据集 (boot/grub) 中检查是否存在 custom.cfg 文件。如果存在该文件,GRUB 会获取此文件并处理此文件中的所有命令,就像这些内容实际上在 grub.cfg 文件中一样。请参见引导和关闭 Oracle Solaris 11.2 系统 中的定制 GRUB 配置。
如果运行的 Oracle Solaris 发行版支持 GRUB Legacy 并要迁移到支持 GRUB 2 的发行版,请参见引导和关闭 Oracle Solaris 11.2 系统 中的将 GRUB Legacy 系统升级到支持 GRUB 2 的发行版。