JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Administration: Basic Administration     Oracle Solaris 10 1/13 Information Library
search filter icon
search icon

Document Information

About This Book

1.  Oracle Solaris Management Tools (Road Map)

2.  Working With the Solaris Management Console (Tasks)

3.  Working With the Oracle Java Web Console (Tasks)

4.  Managing User Accounts and Groups (Overview)

5.  Managing User Accounts and Groups (Tasks)

6.  Managing Client-Server Support (Overview)

7.  Managing Diskless Clients (Tasks)

8.  Introduction to Shutting Down and Booting a System

9.  Shutting Down and Booting a System (Overview)

10.  Shutting Down a System (Tasks)

11.  Modifying Oracle Solaris Boot Behavior (Tasks)

12.  Booting an Oracle Solaris System (Tasks)

What's New in Booting an Oracle Solaris System?

Booting a SPARC Based System (Task Map)

Booting a SPARC Based System

SPARC: How to Boot a System to Run Level 3 (Multiuser Level)

SPARC: How to Boot a System to Run Level S (Single-User Level)

SPARC: How to Boot a System Interactively

SPARC: How to Boot a Kernel Other Than the Default Kernel

Booting From a Specified ZFS Root File System on a SPARC Based System

SPARC: How to List Available Bootable Datasets Within a ZFS Root Pool

SPARC: How to Boot From a Specified ZFS Root File System

Booting a SPARC Based System in Failsafe Mode

How to Boot a SPARC Based System in Failsafe Mode

Booting a SPARC Based System From the Network

SPARC: How to Boot a System From the Network

Booting an x86 Based System by Using GRUB (Task Map)

x86: How to Boot a System to Run Level 3 (Multiuser)

x86: How to Boot a System to Run Level S (Single-User Level)

x86: How to Boot a System Interactively

x86: Booting From a Specified ZFS Root File System on an x86 Based System

x86: How to Display a List of the Available ZFS Boot Environments

x86: How to Boot From a Specified ZFS Root File System

Booting an x86 Based System in Failsafe Mode

How to Boot an x86 Based System in Failsafe Mode

x86: How to Boot in Failsafe Mode to Forcibly Update a Corrupt Boot Archive

Booting an x86 Based System From the Network

x86: About DHCP Macros

x86: How to Perform a GRUB Based Boot From the Network

Accelerating the Reboot Process on the SPARC Platform (Task Map)

Initiating a Fast Reboot of a SPARC Based System

How to Initiate a Fast Reboot of a SPARC Based System

Performing a Standard Reboot of a SPARC Based System

Managing the Boot Configuration Service

Booting From an iSCSI Target Disk

13.  Managing the Oracle Solaris Boot Archives (Tasks)

14.  Troubleshooting Booting an Oracle Solaris System (Tasks)

15.  x86: GRUB Based Booting (Reference)

16.  x86: Booting a System That Does Not Implement GRUB (Tasks)

17.  Working With Oracle Configuration Manager

18.  Managing Services (Overview)

19.  Managing Services (Tasks)

20.  Managing Software (Overview)

21.  Managing Software With Oracle Solaris System Administration Tools (Tasks)

22.  Managing Software by Using Oracle Solaris Package Commands (Tasks)

23.  Managing Patches

A.  SMF Services

Index

Booting an x86 Based System in Failsafe Mode

To boot an x86 based system in failsafe mode, select the failsafe boot entry when the GRUB menu is displayed during a system boot. During the failsafe boot procedure, when prompted by the system, type y to update the primary boot archive.

Failsafe booting is also supported on systems that are booted from ZFS. When booting from a UFS-rooted BE, each BE has its own failsafe archive. The failsafe archive is located where the root file system is located, as is the case with a ZFS-rooted BE. On x86 based systems, each failsafe archive has an entry in the pool-wide GRUB menu. The default failsafe archive is the archive that is in the default bootable file system. The default bootable file system (dataset) is indicated by the value of the pool's bootfs property.

For more information about boot archive recovery, see the Chapter 13, Managing the Oracle Solaris Boot Archives (Tasks).

How to Boot an x86 Based System in Failsafe Mode


Note - The GRUB failsafe interaction in some Oracle Solaris releases prompts you to update the boot archive, regardless of whether any inconsistent boot archive are detected. In this release, the system only prompts you to update the boot archive if an inconsistent boot archive is detected.


  1. Stop the system by using one of the methods described in the procedure, x86: How to Stop a System for Recovery Purposes.
  2. If the system displays the Press any key to reboot prompt, press any key to reboot the system.

    You can also use the Reset button at this prompt. Or, you can use the power switch to reboot the system.

    When the boot sequence begins, the GRUB menu is displayed.

    GNU GRUB  version 0.95  (637K lower / 3144640K upper memory)
     +-------------------------------------------------------------------+
    | be1
    | be1 failsafe
    | be3
    | be3 failsafe
    | be2
    | be2 failfafe
      +------------------------------------------------------------------+
          Use the ^ and v keys to select which entry is highlighted.
          Press enter to boot the selected OS, 'e' to edit the
          commands before booting, or 'c' for a command-line.

    Note - The GRUB menu that is displayed varies, depending on which Oracle Solaris release you are running.


  3. Use the arrow keys to navigate the GRUB menu to select a failsafe entry.
  4. Press Return to boot the failsafe archive.

    The system searches for installed OS instances. If an inconsistent boot archive is detected, a message similar to the following is displayed:

    Searching for installed OS instances...
        
        An out of sync boot archive was detected on /dev/dsk/c0t0d0s0.
        The boot archive is a cache of files used during boot and
        should be kept in sync to ensure proper system operation.
        
        Do you wish to automatically update this boot archive? [y,n,?]
  5. Type y to update the boot archive.

    If multiple inconsistent boot archives are detected, the system will prompt you to type y to update each inconsistent boot archive.

    For each archive that is updated successfully, the following message is displayed:

    Updating boot archive on /dev/dsk/c0t0d0s0.
        The boot archive on /dev/dsk/c0t0d0s0 was updated successfully.

    After the boot archive is updated, the system searches again for all installed OS instances, then prompts you to select a device to mount on /a. Note that this same message is displayed when the system first boots if no inconsistent boot archives are detected.

    Searching for installed OS instances...
    
    Multiple OS instances were found. To check and mount one of them
    read-write under /a, select it from the following list. To not mount
    any, select 'q'.
    
      1  pool10:13292304648356142148     ROOT/be10
      2  rpool:14465159259155950256      ROOT/be01
    
    Please select a device to be mounted (q for none) [?,??,q]:
    • If you choose not to mount a device, type q to continue to boot process.
    • If you choose to mount a device, follow these steps:
      1. Type the number of the device, then press Return.

        The system mounts the device on /a, and returns you to a shell prompt.

      2. Repair the critical system resource.
      3. When you are done repairing the critical system resource, unmount the device.
        # umount /a
      4. Reboot the system.
        # reboot

x86: How to Boot in Failsafe Mode to Forcibly Update a Corrupt Boot Archive

This procedure shows how to rebuild an inconsistent or corrupt boot archive in the event you are not prompted by the system to update the boot archive the system, or in the event of a system hang or looping sequence occurs.

  1. Stop the system by using one of the methods that are described in the procedure, x86: How to Stop a System for Recovery Purposes.
  2. Reboot the system.
    # reboot

    If the system displays the Press any key to reboot prompt, press any key to reboot the system.

    You can also use the Reset button at this prompt.

    When the boot sequence begins, the GRUB menu is displayed.

    +---------------------------------------------------------------------+
     | Solaris 10.1... X86                                                     |
     | Solaris failsafe                                                        |
     |                                                                         |
     |                                                                         |
     +-------------------------------------------------------------------------+
          Use the  and  keys to select which entry is highlighted.
          Press enter to boot the selected OS, 'e' to edit the
          commands before booting, or 'c' for a command-line.

    Note - The contents of the GRUB menus vary, depending on the Solaris release you are running.


  3. Use the arrow keys to navigate the GRUB menu to select the failsafe entry.
  4. Press Return to boot the failsafe archive.

    If any boot archives are out of date, a message t similar to the following is displayed:

    Searching for installed OS instances...
        
        An out of sync boot archive was detected on /dev/dsk/c0t0d0s0.
        The boot archive is a cache of files used during boot and
        should be kept in sync to ensure proper system operation.
        
        Do you wish to automatically update this boot archive? [y,n,?]
            
  5. Type y, then press Enter to update the inconsistent boot archive.

    The system displays the following message:

    Updating boot archive on /dev/dsk/c0t0d0s0.
        The boot archive on /dev/dsk/c0t0d0s0 was updated successfully.

    If no inconsistent boot archives are found, a message similar to the following is displayed:

    Searching for installed OS instances...
        
        Solaris 10.1... X86 was found on /dev/dsk/c0t0d0s0.
        Do you wish to have it mounted read-write on /a? [y,n,?]

    This message is also displayed after any inconsistent boot archives are updated successfully.

  6. Mount the device that contains the corrupt boot archive on /a by typing the corresponding number of the device, then pressing Enter..

    Note - If any inconsistent boot archives were updated in the previous step, the device is already mounted on /a.


  7. To forcibly update the corrupt boot archive, type:
    # bootadm update-archive -f -R /a
  8. Unmount the device.
    # umount /a
  9. Reboot the system.
    # reboot

Example 12-14 x86: Booting in Failsafe Mode to Forcibly Update a Corrupt Boot Archive

This example shows how to boot the failsafe archive to forcibly update a corrupt boot archive.

GNU GRUB  version 0.95  (635K lower / 523200K upper memory)               
                                                                                
 +-------------------------------------------------------------------------+    
 | Solaris 10 1/06 s10x_u1wos_19a X86                                      |    
 | >Solaris failsafe<                                                      |    
 |                                                                         |    
 |                                                                         |    
  +-------------------------------------------------------------------------+   
      Use the  and  keys to select which entry is highlighted.                  
      Press enter to boot the selected OS, 'e' to edit the                      
      commands before booting, or 'c' for a command-line.                       
                                                                                
SunOS Release 5.10
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Use is subject to license terms.
Booting to milestone "milestone/single-user:default".
Configuring devices.
Searching for installed OS instances...

Multiple OS instances were found. To check and mount one of them
read-write under /a, select it from the following list. To not mount
any, select 'q'.

  1  /dev/dsk/c0t0d0s0     Solaris 10 1/06 s10x_u1wos_19a X86
  2  /dev/dsk/c0t1d0s0     Solaris 10 5/08 X86

Please select a device to be mounted (q for none) [?,??,q]: 1
mounting /dev/dsk/c0t0d0s0 on /a

Starting shell.
# rm /a/platform/i86pc/boot_archive
# bootadm update-archive -f -R /a
Creating boot_archive for /a
updating /a/platform/i86pc/amd64/boot_archive
updating /a/platform/i86pc/boot_archive
# umount /a
# reboot
syncing file systems... done
rebooting...
.
.
.