GRUB 2 is the default boot loader, starting with Oracle Solaris 11.1. GRUB 2 replaces the original GRUB 0.97-based boot loader (GRUB Legacy) that is used in Oracle Solaris 10 and Oracle Solaris 11 11/11. GRUB 2 fully supports booting from disks that are larger than 2TB. GRUB 2 also supports the Unified Extensible Firmware Interface (UEFI) and the GUID Partition Table (GPT) partitioning scheme that is used in Oracle Solaris 11.
If you are transitioning from Oracle Solaris 10 to Oracle Solaris 11, note the following key differences between the two GRUB versions:
GRUB password protection – Password protection for GRUB in included in this release though new bootadm subcommand options. These options enable you to set password protection for individual GRUB menu entries, as well as the entire GRUB menu. Other bootadm options enable you to add or delete authorized users. The bootadm set-menu command also has new options for adding and deleting a list of superusers who are permitted to use the GRUB command line, as well as edit and manage GRUB menu entries. See What’s New in Booting and Shutting Down a System in Booting and Shutting Down Oracle Solaris 11.3 Systems.
GRUB menu changes – Unlike the editable menu.lst file that is used by GRUB Legacy, GRUB 2 stores its configuration in the grub.cfg file. This file is syntactically different than the legacy menu.lst file and is also not meant to be edited. The grub.cfg file stores most of the GRUB configuration and is managed solely by using the bootadm command. To accommodate this change, the bootadm command includes several new subcommands, as well as a new –P option for administering the GRUB configuration for multiple root pools.
Managing non-Solaris boot entries – GRUB 2 includes an additional configuration file named custom.cfg. You use this file to add custom menu entries to the GRUB configuration. The custom.cfg file does not exist on the system by default. You must create the file and store it in the same location as the grub.cfg file (/pool-name/boot/grub/). During the boot process, GRUB checks for the existence of the custom.cfg file in the toplevel dataset of the root pool (boot/grub). If the file exists, GRUB sources the file and then processes any commands within the file as if the contents were actually part of the grub.cfg file. See Customizing the GRUB Configuration in Booting and Shutting Down Oracle Solaris 11.3 Systems.
If you are running an Oracle Solaris release that supports GRUB Legacy and are moving to a release that supports GRUB 2, see Upgrading Your GRUB Legacy System to a Release That Supports GRUB 2 in Booting and Shutting Down Oracle Solaris 11.3 Systems.