Go to main content
Oracle® Solaris 10 から Oracle Solaris 11.3 への移行

印刷ビューの終了

更新: 2015 年 10 月
 
 

復旧のためのシステムのブート

Oracle Solaris 11 システムをブートできなくなった場合は、おそらく復旧ブートの実行が必要になります。インストールメディアから、またはバックアップ BE からブートできます。

全面的なシステム (ベアメタル) 復旧を実行する必要がある場合は、Oracle Solaris 11.3 でのシステム復旧とクローン の復旧用アーカイブを作成する方法を参照してください。

    次のエラーおよび復旧シナリオは以前のリリースと同様です。

  • boot –a コマンドを使用して、/etc/system ファイル内の問題をバイパスできます。プロンプトが表示されたら、次のような構文を使用します。

    Name of system file [/etc/system]:  /dev/null

    必要に応じて、他のプロンプトで Return キーを押します。

  • システム構成を変更する前に、バックアップ BE の作成を検討してください。バックアップ BE を備えることで、イメージ更新プロセス中に何らかのエラーが発生した場合に別の BE にブートできます。いくつかの異なる pkg 操作によって、システムにバックアップ BE が作成されます。pkg コマンドでバックアップ BE が作成されるオプションを指定できるため、pkg 操作を実行する前に、バックアップ BE を個別に作成する必要はありません。さらに、システムで sysconfig コマンドを使用する前に、クローン BE を作成できます。バックアップ BE からブートする手順については、復旧のためにバックアップ BE からブートする方法を参照してください。

  • インストールメディアから、またはネットワーク経由でインストールサーバーからブートして、システムのブートを妨げている問題から回復したり、失われた root パスワードを回復したりします。


    注 -  SPARC ベースのシステムでは、boot net:dhcp コマンドは、Oracle Solaris 10 リリースで使用される boot net コマンドに代わるものです。
  • シングルユーザーモードでシステムをブートして、/etc/passwd ファイルの root シェルエントリの修正や、NIS サーバーの変更などの軽微な問題を解決します。

  • ブート構成の問題の解決には一般に、ルートプールのインポート、BE のマウント、x86 ブートローダーが破損した場合の再インストールなどの問題の修正が含まれます。

復旧のためにバックアップ BE からブートする方法

フェイルセーフアーカイブのブートは、SPARC および x86 プラットフォームでサポートされなくなりました。可能な場合は常に、復旧には最新のバックアップ BE を使用します。BE は、Oracle Solaris イメージのブート可能なインスタンスに、そのイメージにインストールされているその他のアプリケーションソフトウェアパッケージを加えたものです。


注 -  パッケージを更新する場合、pkg コマンドで 1 つまたは複数の BE オプションを指定するか、またはシステムをインストールしたり、パッケージを更新したりするたびに、常にバックアップ BE を作成するように、イメージポリシーを設定できます。このように、インストールまたは更新が実行される直前にクローンが作成されるため、バックアップ BE が最新であるかを心配する必要はありません。

システムがアクティブな BE からブートしない場合は、ブート元となるバックアップ BE を選択します。

  • 次のようにバックアップ BE からブートします。
    • SPARC: 代替またはバックアップ BE を選択できるよう、システムをブートします。
      1. boot –L コマンドでブートします。
        ok boot -L
      2. 代替またはバックアップ BE を選択します。
        Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a
        File and args: -L
        1 Solaris11.3_SPARC
        2 solaris11.2-backup
        Select environment to boot: [ 1 - 2 ]: 2
      3. バックアップ BE をブートします。

        ブート元の BE を選択したあと、画面上のブートパスを識別し、その情報をプロンプトに入力します。

        To boot the selected entry, invoke:
        boot [<root-device>] -Z rpool/ROOT/solaris-backup
        
        Program terminated
        {0} ok boot -Z rpool/ROOT/solaris-backup

        システムがブートしない場合は、復旧のためにシステムをブートする方法の追加のブート復旧段階を確認してください。

    • x86: システムをブートして、GRUB メニューから代替またはバックアップ BE を識別します。
      1. GRUB メニューが表示されたら、バックアップ BE を識別します。
      2. バックアップ BE を選択し、Return キーを押してそのエントリをブートします。

        システムがバックアップ BE からブートしない場合は、復旧のためにシステムをブートする方法の追加のブート復旧段階を確認してください。

復旧のためにシステムをブートする方法

  1. 適切なブート方法を選択します。
    • x86: Live Media – インストールメディアからブートし、回復手順のために GNOME 端末を使用します。

    • SPARC: テキストインストール – インストールメディアまたはネットワークからブートし、テキストインストール画面からオプション「3 Shell」を選択します。

    • x86: テキストインストール – GRUB メニューから「Text Installer and command line」ブートエントリを選択し、次にテキストインストール画面からオプション「3 Shell」を選択します。

    • SPARC: 自動インストール – 次のコマンドを使用して、シェルに出られるインストールメニューから直接ブートします。

      ok boot net:dhcp
    • x86: 自動インストール – ネットワーク上のインストールサーバーからのブートには PXE ブートが必要です。GRUB メニューから「Text Installer and command line」エントリを選択します。次に、テキストインストール画面からオプション「3 Shell」を選択します。

    たとえば、システムがブートしたあとで、オプション「3 Shell」を選択します。

    1  Install Oracle Solaris
    2  Install Additional Drivers
    3  Shell
    4  Terminal type (currently xterm)
    5  Reboot
    
    Please enter a number [1]: 3
    To return to the main menu, exit the shell
    #
  2. 次のブート復旧の問題から選択します。
    • システムをシングルユーザーモードでブートし、/etc/passwd ファイルのシェルエントリを修正して、不正なルートシェルを解決します。

      x86 ベースのシステムでは、GRUB メニューで選択したブートエントリを編集してから、$kernel 行の最後にカーネル引数 –s を追加します。

      SPARC ベースのシステムでは、システムをシャットダウンし、シングルユーザーモードでブートします。root ユーザーとしてログインしたあとに、/etc/passwd ファイルを編集し、root シェルエントリを修正します。

      # init 0
      ok boot -s
      Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a ...
      SunOS Release 5.11 Version 11.3 64-bit
      Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
      Booting to milestone "milestone/single-user:default".
      Hostname: systema.domain
      Requesting System Maintenance Mode
      SINGLE USER MODE
      
      Enter user name for system maintenance (control-d to bypass): root
      Enter root password (control-d to bypass): xxxxxxx
      single-user privilege assigned to root on /dev/console.
      Entering System Maintenance Mode
      
      Aug  3 15:46:21 su: 'su root' succeeded for root on /dev/console
      Oracle Corporation      SunOS 5.11      11.3    July 2013
      su: No shell /usr/bin/mybash.  Trying fallback shell /sbin/sh.
      root@systema.domain:~# TERM =vt100; export TERM
      root@systema.domain:~# vi /etc/passwd
      root@systema.domian:~# <Press control-d>
      logout
      svc.startd: Returning to milestone all.
    • 破損したブートローダーの問題を解決します。

      まず、段階 1 に示したブート方法のいずれかを使用して、メディアまたはネットワークからブートします。次に、ルートプールをインポートします。

      # zpool import -f rpool

      注 -  確実にブートローダーをメディア上にあるバージョンで上書きするのでないかぎり、–f オプションを使用しないでください。Oracle Solaris 11.3 システムのブートとシャットダウン のbootadm install-bootloader コマンドを使用して GRUB 2 をインストールするを参照してください。

      その後、次のようにブートローダーを再インストールします。

      # bootadm install-bootloader -f  -P rpool

      ここで、–f は、システム上のブートローダーのバージョンをダウングレードしないよう、ブートローダーのインストールを強制し、関連するチェックをバイパスします。–P オプションはルートプールを指定します。

      システムを終了してリブートします。

      # exit
      1  Install Oracle Solaris
      2  Install Additional Drivers
      3  Shell
      4  Terminal type (currently sun-color)
      5  Reboot
      
      Please enter a number [1]: 5

      システムが正常にブートすることを確認します。

    • システムにログインできない原因となっている不明な root パスワードを解決します。

      まず、ステップ 1 に示したブート方法のいずれかを使用して、メディアまたはネットワークからブートする必要があります。次に、ルートプール (rpool) をインポートし、BE をマウントして root パスワードエントリを削除します。この処理は、SPARC プラットフォームと x86 プラットフォームで同一です。

      # zpool import -f rpool
      # beadm list
      be_find_current_be: failed to find current BE name
      be_find_current_be: failed to find current BE name
      BE                 Active Mountpoint Space  Policy Created
      --                 ------ ---------- -----  ------ -------
      solaris            -      -          11.45M static 2011-10-22 00:30
      solaris-2          R      -          12.69G static 2011-10-21 21:04
      # mkdir /a
      # beadm mount solaris-2 /a
      # TERM=vt100
      # export TERM
      # cd /a/etc
      # vi shadow
      <Carefully remove the unknown password>
      # cd /
      # beadm umount solaris-2
      # halt
  3. シングルユーザーモードでブートしてパスワードを設定することで、ルートパスワードを設定します。

    このステップは、前のステップで不明な root パスワードを削除したことを前提としています。

    • x86 ベースのシステムでは、GRUB メニューで選択したブートエントリを編集してから、$kernel 行に –s オプションを追加します。
    • SPARC ベースシステムでは、システムをシングルユーザーモードでブートし、root としてログインして、root パスワードを設定します。例:
      ok boot -s
      
      Boot device: /pci@780/pci@0/pci@9/scsi@0/disk@0,0:a File and args: -s
      SunOS Release 5.11 Version 11.3 64-bit
      Copyright (c) 1983, 2012, Oracle and/or its affiliates. All rights
      reserved.
      Booting to milestone "milestone/single-user:default".
      Hostname: systema.domain
      Requesting System Maintenance Mode
      SINGLE USER MODE
      
      Enter user name for system maintenance (control-d to bypass): root
      Enter root password (control-d to bypass): <Press return>
      single-user privilege assigned to root on /dev/console.
      Entering System Maintenance Mode
      .
      .
      .
      root@sysadma.domain:~# passwd -r files root
      New Password: xxxxxx
      Re-enter new Password: xxxxxx
      passwd: password successfully changed for root
      root@systema.central:~# <Press control-d>
      logout
      svc.startd: Returning to milestone all.