The /sbin/bootadm command enables you to perform the following tasks:
Manually update the current boot archives on a system.
List the files and directories that are included in the boot archives on a system.
x86 only: Maintain the GRUB menu.
x86 only: Locate the active GRUB menu, as well as the current GRUB menu entries.
The syntax of the command is as follows:
/sbin/bootadm [subcommand] [-option] [-R altroot] |
For more information about the bootadm command, see the bootadm(1M) man page.
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.
To update the boot archive, type:
# bootadm update-archive |
Manages the boot archives on a system.
Updates the current boot archive, if required. Applies to both SPARC and x86 based systems.
To update the boot archive on an alternate root, type:
# bootadm update-archive -R /a |
Specifies an alternate root path to apply to the update-archive subcommand.
The root (/) file system of any non-global zone must not be referenced with the -R option. Doing so might damage the global zone's file system, compromise the security of the global zone, or damage the non-global zone's file system. See the zones(5) man page.
Reboot the system.
# reboot |
The following procedure describes how to mount a mirrored metadevice during a failsafe boot. In this procedure, the root (/) file system that is used is /dev/dsk/c0t0d0s0.
Boot the failsafe archive.
SPARC platform: From the ok prompt, type the following command:
ok boot -F failsafe |
If the system is already running, open a terminal window, become superuser, and type the following command:
# reboot -- "-F failsafe" |
For more information, see How to Boot a SPARC Based System in Failsafe Mode.
x86 platform: Boot the system by selecting the failsafe boot entry in the GRUB menu.
For more information, see How to Boot an x86 Based System in Failsafe Mode.
Booting the system in failsafe mode produces the following output:
Starting shell. # |
During the failsafe boot, when prompted by the system to select a device to mount, type q to indicate none.
Please select a device to be mounted (q for none)[?,??,q]: q |
Temporarily mount a submirror of the root (/) file system as read-only on the /a directory.
# mount -o ro /dev/dsk/c0t0d0s0 /a |
Copy the md.conf file to the /kernel/drv directory.
# cp /a/kernel/drv/md.conf /kernel/drv/ |
Unmount the /a directory.
# unmount /a |
Use the devfsadm command to load the md driver.
# update_drv -f md |
Running this command causes the configuration to be read, and the necessary devices to be created.
Before proceeding to the next step, wait a few seconds to ensure that the md driver has had time to load.
Use the metasync command to ensure that the root (/) file system is in sync. For example:
# metasync d0 |
Mount the root mirror metadevice on the /a directory.
# mount /dev/md/dsk/d0 /a |
Update the boot archive of the device that you mounted in the previous step.
# bootadm update-archive -v -R /a |
If the boot archive fails to be updated, or an error message is displayed, do the following:
Update the timestamp on the md.conf file on the /a directory, which forces an update of the boot archive.
# touch /a/kernel/drv/md.conf |
Update the boot archive by running the bootadm command.
# bootadm update-archive -v -R /a |
The update of the boot archive takes a few minutes to complete. If the boot archive was updated successfully, a message similar to the following is displayed:
changed /a/etc/system cannot find: /a/etc/cluster/nodeid: No such file or directory cannot find: /a/etc/devices/mdi_ib_cache: No such file or directory Creating ram disk on /a updating /a/platform/i86pc/boot_archive |
Unmount /a.
# unmount /a |
Reboot the system.
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.
To list the files and directories that are included in the boot archive, type:
# bootadm list-archive |
Lists the files and directories that are included in the boot archive or archives. Applies to both SPARC and x86 based systems.
Use this procedure to determine the location of the active GRUB menu and to list current GRUB menu entries.
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.
To list the location of the active GRUB menu and current GRUB menu entries, type:
# bootadm list-menu |
Lists the location of the active GRUB menu, as well as the current GRUB menu entries. Information about the autoboot-timeout, the default entry number, and the title of each entry is included in this listing. Applies to x86 based systems only.
# bootadm list-menu The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst default=0 timeout=10 (0) Solaris10 (1) Solaris10 Failsafe (2) Linux |
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.
To set the default boot entry in the active GRUB menu, type:
# bootadm set-menu menu-entry |
Maintains the GRUB menu. The location of the active GRUB menu is boot/grub/menu.lst. Applies to x86 bases systems only.
Specifies the GRUB menu entry to set as the default.
To verify default menu entry has been changed, type:
# bootadm list-menu |
The new default menu entry should be displayed.
This example shows how to switch the default GRUB menu to one of the menu entries that is displayed in the previous example. The menu entry that is selected is The Linux, menu entry 2.
# bootadm set-menu default=2 |
For a description of the menu.lst file in each GRUB implementation, see x86: Supported GRUB Versions.