System Administration Guide: Basic Administration

Procedurex86: How to Modify Boot Behavior by Editing the menu.lst File

You might need to modify the menu.lst file for one of the following reasons:

Before You Begin

Because only the active GRUB menu.lst file is used to boot the system, make sure you edit the correct file. Changing any other GRUB menu.lst file has no effect on the menu that is displayed when you boot the system.

The location of the active menu.lst file varies, depending on whether you have a system with a UFS root or a ZFS root.

You can determine the location of the active GRUB menu.lst file by using the bootadm command with the list-menu subcommand.


# bootadm list-menu

For more information about the bootadm command, see the bootadm(1M) man page.

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. To add a new OS entry to the active menu.lst file, use a text editor to modify the file.

    The comments within the menu.lst file provide you with the necessary information for adding a new OS entry.

    The following is an example of a menu.lst file for a system that is running a release with ZFS boot support. Boot entries in the menu.lst file vary, depending on the Oracle Solaris release that you are running.


    #---------- ADDED BY BOOTADM - DO NOT EDIT ----------
    title Solaris Solaris 10 s10x_nbu6wos_nightly X86
    kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
    module /platform/i86pc/boot_archive
    #---------------------END BOOTADM--------------------

    Caution – Caution –

    Do not directly edit the original contents of the menu.lst file. To make changes to any of the OS entries in the file, manually edit the file to duplicate the existing content. Then, make the modifications to the duplicated content.

    Also note when manually adding new entries to the file, never include guard comments, for example, “Added by bootadm”. These comments are reserved for use by the system. Not using these comments ensures that these entries remain intact during a software upgrade.


    If you have added any additional entries, beyond the default entries, make any equivalent changes manually.

    The [-B *] and [*] flags must be preserved, if these flags exist in the original menu.lst file. Also, the failsafe entry should always have an -s flag.

  3. After adding the required information, save the file.

    Note that any changes you make to the file take effect at the next system reboot.


    Tip –

    If you are running Linux, and install Oracle Solaris, the Linux entry is not preserved in the GRUB menu when the system is rebooted. Before installing or upgrading your system, save a copy of the menu.lst file that contains the Linux information. After the installation, add the Linux information to the newly created menu.lst file in the Solaris partition.


    Because changes you make to the menu.lst file are not directly related to the Oracle Solaris OS, you cannot make them by using the eeprom command. You must edit the file directly. Note that the software upgrade process preserves any changes that you make to the menu.lst file.


    Caution – Caution –

    GRUB is capable of booting both Linux and Oracle Solaris. However, Linux GRUB is not capable of booting Oracle Solaris.

    Always ensure that one of the following conditions are met:

    • That the fdisk partition is active, that it has GRUB installed, and that the menu.lst file is the active GRUB menu.

    • That Oracle Solaris GRUB is installed to the Master Boot Record (MBR), and that it refers to the menu.lst in the fdisk partition.


    For a detailed description of the GRUB menu.lst that pertains to each Oracle Solaris release, see x86: Supported GRUB Versions.


Example 11–6 menu.lst File on a System With an Oracle Solaris ZFS Boot Loader

The following examples show what a menu.lst file looks like on a system that has an Oracle Solaris ZFS boot loader. By default, this system will boot from a ZFS root file system. Note that the contents of the file varies, depending on the installation type.

New installation or standard upgrade:


title Solaris 10 s10x_nbu6wos_nightly X86
findroot (pool_rpool,0,a)
kernel$  /platform/i86pc/multiboot  -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive

title Solaris failsafe
findroot (pool_rpool,0,a)
kernel /boot/multiboot kernel/unix -s    -B console=ttyb
module /boot/x86.miniroot-safe

Oracle Solaris Live Upgrade


title be1
findroot (BE_be1,0,a)
bootfs rpool/ROOT/szboot_0508
kernel$  /platform/i86pc/multiboot  -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive

title be1 failsafe
findroot (BE_be1,0,a)
kernel /boot/multiboot kernel/unix -s    -B console=ttyb
module /boot/x86.miniroot-sa


Example 11–7 menu.lst File on a System With a UFS Boot Loader

The following examples show what a menu.lst file looks like on a system that has a UFS root file system installed. By default, this system will boot from a UFS root file system.

New installation or standard upgrade:


title Solaris 10 s10x_nbu6wos_nightly X86
findroot (rootfs0,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive

title Solaris failsafe
findroot (rootfs0,0,a)
kernel /boot/multiboot kernel/unix -s    -B console=ttyb
module /boot/x86.miniroot-safe

Oracle Solaris Live Upgrade:


title be1
findroot (BE_be1,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive

title be1 failsafe
findroot (BE_be1,0,a)
kernel /boot/multiboot kernel/unix -s    -B console=ttyb
module /boot/x86.miniroot-safe