|Skip Navigation Links|
|Exit Print View|
|Booting and Shutting Down Oracle Solaris on x86 Platforms Oracle Solaris 11 Information Library|
In Oracle Solaris, the open source GRand Unified Bootloader (GRUB) is the default boot loader on x86 based systems. GRUB is responsible for loading a boot archive into the system's memory. A boot archive is a collection of critical files that is needed during system startup before the root file system is mounted. The boot archive is the interface that is used to boot Oracle Solaris. You can find more information about GRUB at http://www.gnu.org/software/grub/grub.html. See also the grub(5) man page.
GRUB implements a menu interface that includes boot options that are predefined in a configuration file called the menu.lst file. GRUB also has a command-line interface that is accessible from the GUI menu interface that can be used to perform various boot functions, including modifying default boot parameters.
The Oracle Solaris kernel is fully compliant with the Multiboot Specification. With GRUB, you can boot the different operating systems that might be installed on a single system. For example, you can individually boot Oracle Solaris, Linux, or Windows by selecting the appropriate boot entry in the GRUB menu when the system boots. Or, you can customize the menu.lst file to boot a specific OS instance by default.
Because GRUB is intuitive about file systems and kernel executable formats, you can load an operating system without recording the physical position of the kernel on the disk. With GRUB-based booting, the kernel is loaded by specifying its file name, as well as the drive and the partition where the kernel resides.
The components of the GRUB boot loader are as follows:
stage1 – Is an image that is installed on the first sector of the fdisk partition. You can optionally install stage1 on the master boot sector by specifying the -m option with the installgrub command. See the installgrub(1M) man page and Disk Management in the GRUB Boot Environment in Oracle Solaris Administration: Devices and File Systems for more information.
stage2 – Is an image that is installed in a reserved area in the fdisk partition. The stage2 image is the core image of GRUB.
menu.lst file – Is typically located in the /pool-name/boot/grub directory on systems with a ZFS root file system, where /pool-name/boot/grub is the name of the ZFS storage pool. This file is read by the GRUB stage2 file. For more information, see the section, Modifying Boot Entries and Parameters by Editing the menu.lst File.
You cannot use the dd command to write stage1 and stage2 images to disk. The stage1 image must be able to receive information about the location of the stage2 image that is on the disk. Use the installgrub command, which is the supported method for installing GRUB boot blocks.
The menu that is displayed when you boot an x86 based system is the GRUB menu. This menu is based on configuration information that is in the GRUB menu.lst file. When the boot sequence starts, the GRUB menu is displayed. Unless you interrupt the boot sequence, the default entry (typically the first entry in the menu.lst file) is booted by default.
You can edit the GRUB menu at boot time to either boot a different operating system or modify the parameters of the default boot entry. To do so, type e as soon as the GRUB menu is displayed. Typing e interrupts the boot process and takes you to the GRUB edit menu, where you can select another OS to boot or modify default boot parameters for the default boot entry. Note that the modified boot behavior persists only until the next time the system is booted. For instructions, see Modifying Boot Parameters at Boot Time.
GRUB uses device-naming conventions that are slightly different than those used in previous releases. Understanding the device-naming conventions that GRUB uses can assist you in correctly specifying drive and partition information when you configure GRUB on your system.
The following table describes the device-naming conventions that GRUB uses.
Table 1-5 Conventions for GRUB Devices
Note - All GRUB device names must be enclosed in parentheses.
Starting with the Solaris 10 10/08 release, the findroot command replaces the root command previously used by GRUB. The findroot command provides enhanced capabilities for discovering a targeted disk, irrespective of the boot device.
The following basic terminology is used for booting and shutting down an x86 based system:
On x86 based systems, the BIOS is the boot firmware designed to be the first code run by a PC when turned on. The initial function of the BIOS is to identify, test, and initialize system devices such as the video display card, hard disk, floppy disk, and other hardware.
A collection of critical files that is used to boot the Oracle Solaris OS. These files are needed during system startup before the root file system is mounted.
The first software program that runs after you turn on a system. This program begins the booting process.
GRUB is a multiboot boot loader that is used on x86 based systems. The boot loader is the first software program that runs when a system starts. It is responsible for loading and transferring control to the operating system kernel software (Oracle Solaris, Linux, and Windows).
A submenu of the GRUB main menu. GRUB commands are displayed in this submenu. These commands can be edited to change boot behavior.
A boot menu that lists the operating systems that are installed on a system. From this menu, you can easily boot an operating system without modifying the BIOS or fdisk partition settings.
A configuration file that lists all the operating systems that are installed on a system. The contents of this file dictate the list of operating systems that is displayed in the GRUB menu. From the GRUB menu, you can easily boot an operating system without modifying the BIOS or fdisk partition settings.