系统管理指南:基本管理

Procedurex86: 如何在故障安全模式下引导以强制更新损坏的引导归档文件

以下过程说明在系统未提示您更新不一致或损坏的引导归档文件时,或者在系统挂起或发生循环序列时,如何重新生成引导归档文件。

  1. 使用 x86: 如何为恢复目的而停止系统 过程中介绍的方法之一停止系统。

  2. 重新引导系统。


    # reboot
    

    如果系统显示 Press any key to reboot 提示,请按任意键以重新引导系统。

    在出现此提示时,您还可以使用“重置”按钮。

    引导序列开始时,将显示 GRUB 菜单。


    +---------------------------------------------------------------------+
     | 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.

    注 –

    GRUB 菜单的内容随您所运行的 Solaris 发行版而异。


  3. 使用方向键导航 GRUB 菜单,以选择一个故障安全项。

  4. 按回车键以引导故障安全归档文件。

    如果引导归档文件已过时,则会显示类似如下的消息:


    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. 键入 y,然后按 Enter 键以更新不一致的引导归档文件。

    系统将显示以下消息:


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

    如果未找到不一致的引导归档文件,则会显示类似如下的消息:


    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,?]

    成功更新任何不一致的引导归档文件后,也会显示此消息。

  6. 通过键入对应的设备编号在 /a 上挂载包含损坏的引导归档文件的设备,然后按 Enter 键。


    注 –

    如果已在上一步中更新了任何不一致的引导归档文件,则表明已在 /a 上挂载了该设备。


  7. 要强制更新损坏的引导归档文件,请键入:


    # bootadm update-archive -f -R /a
    
  8. 卸载设备。


    # umount /a
    
  9. 重新引导系统。


    # reboot
    

示例 12–14 x86: 在故障安全模式下引导以强制更新损坏的引导归档文件

以下示例说明如何引导故障安全归档文件以强制更新损坏的引导归档文件。


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 1983-2006 Sun Microsystems, Inc.  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...
.
.
.