Booting the Failsafe Archive on an x86 Based System
To boot the failsafe archive on a x86 based system, 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.
Another method that can be used to update the boot archives is
to clear the boot-archive service. See How to Update an Inconsistent Boot Archive by Clearing the boot-archive Service. However, the preferred methods for updating the
boot archives are to boot the failsafe archive or use the bootadm command.
For more information, see the Chapter 14, Managing the Solaris Boot Archives (Tasks).
How to Boot the Failsafe Archive on an x86 Based System by Using GRUB
Note - The GRUB failsafe interaction in some Solaris releases prompts you to update the
boot archives, regardless of whether any inconsistent boot archive are detected. In this
Solaris release, the system only prompts you to update the boot archives if
an inconsistent boot archive is detected.
- Stop the system by using one of the methods described in the procedure,
x86: How to Stop a System for Recovery Purposes.
- 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 may vary, depending on the Solaris release
you are running.
- Use the arrow keys to navigate the GRUB menu to select a
failsafe entry.
- 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,?]
- 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:
- Type the number of the device and press Return.
The system mounts the device on /a, and returns you to a shell prompt.
- Repair the critical system resource.
- When you are done repairing the critical system resource, unmount the device.
# umount /a
- Reboot the system.
# reboot
x86: How to Boot the Failsafe Archive 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.
- Stop the system by using one of the methods that are described in
the procedure, x86: How to Stop a System for Recovery Purposes.
- 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.
- Use the arrow keys to navigate the GRUB menu, then select the failsafe
entry. Press Return to boot the failsafe archive.
If any boot archives are out of date, a message that is 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,?]
- 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 that is 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.
- Mount the device that contains the corrupt boot archive on /a by
typing the corresponding number of the device, then press Enter.
Note - If any inconsistent boot archives were updated in the previous step, the device
is already mounted on /a. Proceed to Step 6.
- To forcibly update the corrupt boot archive, type:
# bootadm update-archive -f -R /a
- Unmount the device.
# umount /a
- Reboot the system.
# reboot